Flygplan gyrot horisont - DIY (2 / 3 steg)
Steg 2: Programvara koncept
Konceptet är enkelt. Precis som din iPhone använder dess sensorer känna allvar med hjälp av 3D accelerometer, använde jag den kit accelerometer känna allvaret i storlek och riktning. Sensorn känner av gravitation i 3 dimensioner.
Så kan det kännas inte bara allvar magnitud, men det kan också känsla gravitation vektor. Använda kraftfulla Renesas RX62N mikrokontroller, visste jag hur man analyserar gravitation vektor för att få tilt ängel i släptåg dimensioner (Pitch och rulle).
Denna del var den enklaste delen ( tro mig! )
Nästa del var hur att visa dessa värden och avläsningar visuellt.
Kitet hade en grafisk breda LCD-det inspirerade min (och 3D accelerometer ) att göra detta projekt. Men problemet var att LCD inte har levererats med en Rita drivrutiner.
Jag var tvungen att göra drivrutinen för grafik av min egen. Jag startade från Rita en enda prick på LCD. Sedan ansluter några punkter för att rita en rak linje.
Då kunde jag dra hela statiska displayen. Då ville jag Rita uppdatera flytta displayen som representerar rörelse.
Det görs genom att göra linjen koordinaterna uppdaterad med gravitation värden.
Jag gjorde också min Gyrot horisont ser ut som riktiga Gyrot horisont i flygplanet i den nedre delen (som representerar marken) ser mörkare än den övre delen (som representerar himlen).
Jag gjorde också de två delarna flytta och uppdatera sin position med allvar så det ger Gyrot horisont ser ut.
Här är en del av koden som läser accelerometer utdata och svarar på styrelsen motion:
x = accel_x_axis;
y = accel_y_axis;
z = accel_z_axis;
x-= BSP_Accel_X_Zero; / * Normalisera * /
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);