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:

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.

Do pobrania

O autorze