Cyfrowy kompas na STM32 z czujnikiem HMC5883
W projekcie pokażemy w jaki sposób wykonać na mikrokontrolerze STM32 kompletny kompas cyfrowy, bazujący na 3-osiowym czujniku pola magnetycznego HMC5883L firmy Honeywell. Projekt wykonano na zestawie ZL27ARM, wynik pomiarów jest prezentowany na kolorowym wyświetlaczu LCD z interfejsem SPI (moduł KAmodTFT2).
| Artykuł na temat czujnika HMC5883 oraz zestawu ewaluacyjnego z dokumentacją PCB opublikowaliśmy tutaj. |
Do realizacji przykładu zastosowano 3-osiowy czujnik pola magnetycznego HMC5883L, który za pośrednictwem magistrali I2C komunikuje się z mikrokontrolerem STM32 w zestawie ZL27ARM. Do zestawu podłączono również kolorowy wyświetlacz prezentujący dane z czujnika (schemat niezbędnych połączeń pokazano na rysunku 1). Dużą część programu zajmują obliczenia trygonometryczne oraz wyświetlanie odpowiednich danych na wyświetlaczu.
Rys. 1. Schemat połączeń niezbędnych do zaimplementowania przykładowego projektu
| Dokumentacja płytki drukowanej dla czujnika HMC5883L jest dostępna do bezpłatnego pobrania pod adresem. |
Po konfiguracji mikrokontrolera program przygotowuje do pracy moduł KAmodTFT2 oraz magnetometr HMC5883. Następnie w nieskończonej pętli zrealizowana jest obsługa menu głównego, program sprawdza stan przycisków celem zmiany wybranej opcji w menu:
if (!GPIO_ReadInputDataBit(JOY_SW_PORT,JOY_UP) && (pozycja>1)){
aktualizacja=pozycja;
pozycja--;
}
if (!GPIO_ReadInputDataBit(JOY_SW_PORT, JOY_DOWN) && (pozycja<4)){
aktualizacja=pozycja;
pozycja++;
}
po czym, jeśli nie zatwierdzono wyboru przyciskiem JOY_ENTER oraz wybrana pozycja z menu się zmieniła, następuje jego przerysowanie:
//Rysowanie menu
if (aktualizacja>=0)
{
if (aktualizacja==0)
{
TFTN_Clear(0x000);
TFTN_FillRect( 0, 0, 131, 18, 0x555);
TFTN_WriteXY("MENU\0",45,2,0xFFF,0x555, font2);
}
for (i=1;i<=4;i++){
if ((i==aktualizacja)||(aktualizacja==0)) {
TFTN_FillRect( 0, i*18+8, 131, i*18+8+18, 0x000);
TFTN_WriteXY(menu[i-1],5,i*18+10,0xFFF,0x000, font2);
}
if (i==pozycja) {
TFTN_FillRect( 0, i*18+8, 131, i*18+8+18, 0x000);
TFTN_WriteXY(menu[i-1],5,i*18+10,0xF00,0x000, font2);
}
}
aktualizacja=-1;
}




Cztery dekady Vision Engineering Germany – precyzja, innowacje i ergonomiczna mikroskopia od 1986 roku
Taśma poliimidowa (Kapton®) w elektronice: zastosowania i właściwości
Nowe technologie akumulatorowe przyspieszą elektryfikację pojazdów terenowych 

![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)


