Kompas cyfrowy na STM32 i MAG3110
Za pomocą funkcji trygonometrycznych obliczane są współrzędne punktu końca wirtualnej linii która ma swój początek na środku ekranu. Współrzędne te zmieniają się w zależności od kąta obrazującego kierunek geograficzny, dzięki takiemu rozwiązaniu mamy w zależności od kąta ruch punktu po okręgu o określonej średnicy. Skoro zmienna „k” oznacza nam położenie południa to k+180 da nam północ itd. Wyjaśnienia wymaga zmienna declinationAngle , która jest wyznaczona za pomocą strony http://magnetic-declination.com/ oraz przekształcona na radiany (kalkulator jest dostępny pod adresem) i oznacza ona deklinację magnetyczną.
Ponieważ do realizacji kompasu elektronicznego został użyty sam magnetometr występuje prawdopodobieństwo, że kąt będzie się gwałtownie zmieniał w pewnym przedziale, a to oznacza drganie liter obrazujących kierunki świata na ekranie.
Na „odreagowanie” potencjalnych problemów została stworzona rozrywkowa funkcja rysująca losowe figury, służąca tylko i wyłącznie rozrywce i nie ma nic wspólnego z kompasem prócz tego że także wykorzystuje obliczenia trygonometryczne:
void Opcja_Krzywe(void)
{
float stopien = (2 * 3.1415926) / 360;
unsigned short kata=0,katb=0,katc=0;
unsigned char a=0,b=0,c=0;
volatile int xl1,yl1,xl2,yl2,xl3,yl3;
volatile signed char seta,setb,setc;
unsigned int kolor;
extern volatile unsigned char losowo;
unsigned char Efekt[12] = {"\0"};
TFTN_Clear(0x000);
//Losowe wartości kilku zmiennych (losowa pierwsza figura)
seta=abs((rand()+losowo)%10+1);
setb=abs((rand()+losowo)%10+1);
setc=abs((rand()+losowo)%10+1);
//Wyjscie do menu glownego przez JOY_DOWN
while(GPIO_ReadInputDataBit(JOY_SW_PORT, JOY_DOWN))
{
a++;
b++;
c++;
if (a==seta)
{
xl1 = (int)(66 + 20 * sin(stopien*kata));
yl1 = (int)(66 + 20 * cos(stopien*kata));
a=0;
kata++;
if(kata==359) kata=0;
}
if(b==setb)
{
xl2 = (int)(xl1 + 20 * sin(stopien*katb));
yl2 = (int)(yl1 + 20 * cos(stopien*katb));
b=0;
katb++;
if(katb==359) katb=0;
}
if(c==setc)
{
xl3 = (int)(xl2 + 20 * sin(stopien*katc));
yl3 = (int)(yl2 + 20 * cos(stopien*katc));
c=0;
katc++;
if(katc==359) katc=0;
}
//Zmiaana koloru w zalerznosci od figury
kolor=((15-seta)<
Tak naprawdę to są trzy proste o jednakowej długości połączone do siebie szeregowo, z czego pierwsza z nich ma stały punkt zaczepu tj. środek ekrany a jej koniec jest początkiem następnej prostej itd. z czego ostatnia linia swoim końcem rysuje pewne krzywe, które są zobrazowane na TFT. Każda z części tej 3-odcinkowej prostej obraca się z pewną losową prędkością względem swojego początku, co daje ciekawy efekt graficzny. Dodatkowo kreślone figury zmieniają swój kolor w zależności od ich kształtu, a informacje na temat prędkości są wyświetlone na ekranie.


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)
