Stap 2: Software Concept
Het concept is eenvoudig. Net zoals uw iPhone maakt gebruik van de sensoren te voelen van de zwaartekracht met behulp van de 3D versnellingsmeter, gebruikte ik de kit versnellingsmeter te voelen van de zwaartekracht in grootte en richting. De sensor zintuigen zwaartekracht in 3 dimensies.
Dus het niet alleen zwaartekracht omvang, maar het voelen kan kan ook zin zwaartekracht vector. Met behulp van de krachtige Renesas RX62N Microcontroller, wist ik hoe om te analyseren van zwaartekracht vector om tilt engel in tow afmetingen (Pitch en Roll).
Dit deel was het gemakkelijkste deel ( Belive me! )
Het volgende deel was hoe om aan te tonen van deze waarden en lezingen visueel.
De kit had een grafische brede LCD dat geïnspireerd mijn (en de 3D versnellingsmeter ) om dit project te maken. Maar het probleem was dat het LCD-scherm met een tekening stuurprogrammasoftware nog niet zijn verzonden.
Ik moest de bestuurder voor afbeeldingen door mijn eigen maken. Ik begon uit het tekenen van een pixel op het LCD-scherm. Vervolgens verbinden van sommige punten om een rechte lijn te tekenen.
Dan zou ik de hele statische weergave kon tekenen. Dan wil ik het bijwerken bewegende display die beweging vertegenwoordigt.
Dat wordt gemaakt door de coördinaten van de lijn met zwaartekracht waarden bijgewerkt.
Ik maakte ook mijn Gyro Horizon ziet eruit als de echte Gyro Horizon in het vliegtuig, in dat het onderste deel (dat geeft grond) ziet er donkerder dan het bovenste gedeelte (dat geeft lucht).
Ik maakte ook die twee delen verplaatsen en bijwerken van hun positie met zwaartekracht, dus het geeft de Gyro Horizon kijkt.
Hier is deel van de code die leest versnellingsmeter output en reageert op beweging van de Raad van bestuur:
x = accel_x_axis;
y = accel_y_axis;
z = accel_z_axis;
x-= BSP_Accel_X_Zero; / * Normalize * /
y-= BSP_Accel_Y_Zero;
z-= BSP_Accel_Z_Zero;
x2 = x * x;
Y2 = y * y;
sum_x2_y2 = x2 + y2;
AppMagnitude = sqrt (sum_x2_y2/2.0f);