STM32Butterfly2: obsługa klawiatury matrycowej i graficznego LCD
Większość typowych projektów mikrokontrolerowych wymaga współpracy systemu z użytkownikiem. Zwykle do tego celu stosowane są mechaniczne przyciski podłączane do poszczególnych linii, w wyniku czego każdy jeden przycisk zajmuje jedną linię. Niestety takie rozwiązanie posiada jedną znaczącą wadę – w przypadku konieczności zastosowania większej liczby przycisków powoduje zajmowanie cennych linii GPIO. Rozwiązaniem na to jest stosowanie klawiatur matrycowych, wykorzystanie tego obniża liczbę wykorzystanych linii GPIO kosztem nieznacznego skomplikowania kodu programu. Poniższy projekt przedstawia właśnie wykorzystanie klawiatury matrycowej. Projekt został przygotowany dla zestawów ewaluacyjnych: STM32Butterfly oraz STM32Butterfly2, na obu płytkach działa bez konieczności wprowadzania dodatkowych zmian czy odrębnej kompilacji.
Fot. 1. Wygląd modułu KAmodKB4x4
Fot. 2. Wygląd modułu KAmodLCD1
Do uruchomienia projektu wymagane, poza płytką uruchomieniową, są dwa dodatkowe moduły: KAmodKB4x4 (fotografia 1) oraz KAmodLCD1 (fotografia 2). Połączenie modułów z płytką przedstawiono na rysunku 3. Linie PE0 do PE7 oraz PD0 i PD1 są wyprowadzone na złączu szpilkowym, natomiast linie sygnałowe PA4, PA5 i PA7 są wyprowadzone na złączu przeznaczonym do transmisji SPI.
Rys. 3. Podłączenie modułów do „motyla”
Działanie projektu polega na przedstawianiu na wyświetlaczu modułu KAmodLCD1 kodu wciśniętego klawisza modułu klawiatury matrycowej – KAmodKB4x4. Listing głównej części programu został przedstawiony poniżej.
int main(void)
{
//Initialize system timer
time_init();
//Initialize nokia display
nlcd_init();
//Initialize the kbd matrix
keyscan_init();
//Display welcome message
nlcd_put_string( "www.boff.pl", 0, 0 );
nlcd_put_string( "Clicked key:", 0, 1 );
//Main loop
for(;;)
{
key_t key = keyscan_get();
if(key>0) //Got key
{
nlcd_set_position(6,2);
nlcd_put_char(key);
}
}
return 0;
}





Projekty inteligentnych sterowników przetwornic z tranzystorami GaN — część 2: konfiguracja i optymalizacja
PM-3133-CPS – inteligentny trójfazowy licznik energii z CANopen
Czujnik drgań STMicroelectronics z wbudowaną AI alternatywą dla czujników piezoelektrycznych do monitorowania urządzeń przemysłowych 


![https://www.youtube.com/watch?v=gHcP8AajoN4 Szymon Robak oprowadza po katowickim Laboratorium Badań Kompatybilności Elektromagnetycznej w Sieć Badawcza Łukasiewicz - Instytucie Sztucznej Inteligencji i Cyberbezpieczeństwa. Zapraszamy na film! [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/06/Szymon-Robak-tytulowe.png)
![https://www.youtube.com/watch?v=BgxJVTwYJ-s Zapraszamy do obejrzenia filmu i wysłuchania krótkich wypowiedzi prelegentów Hardware Forum 2026 i organizatorów majowej konferencji dla inżynierów z branży elektronicznej: Konrad Bruliński z Lemontech, prof. Krzysztof Kulpa z Politechniki Warszawskiej, Zbigniew Huber z FLC, Ewa Załupska z firmy KROK, Jerzy Kozieł z MPTECH, Grzegorz Potyralski z VIGO Photonics, dr Krzysztof Czuba z Politechniki Warszawskiej, Anna Beata Kalisz Hedegaard z Quantum Security Defence, Adrian Cichosz z Elhurt Dystrybucja Anna Kamińska z Creotech Quantum, oraz Łukasz Jaeszke i Adam Jaeszke z TEK.day [materiał redakcyjny]](https://mikrokontroler.pl/wp-content/uploads/2026/05/tytulowe-film-1.png)

