Stap 6: Tilt berekenen en weergeven
Tilt hoek wordt berekend op basis van de metingen van de versnelling langs X en Z-assen.
Uit de figuur hierboven, kunnen wij zien dat hoek wordt berekend als tan-inverse van (-Ax/Az).
Er is een functie in python genaamd atan2 die twee argumenten en geeft hoek tussen - pi en pi radialen op basis van het teken en de verhouding van de argumenten. Hieronder vindt u een codefragment weergegeven: de uitvoering van de berekening hoek.
# convert accelerometer readings to angle in radians and then convert radians to degrees angle = math.atan2(Ax, -1*Az) * (180 / math.pi)
Merk op dat het teken voor Ax en Az omgekeerd ten van die weergegeven opzichte zijn de
figuur. Dit is opzettelijk. Het is nodig omdat wanneer de versnellingsmeter gemonteerd op Edison bord zoals beschreven eerder de front-face van de versnellingsmeter van bestuur heeft de adxl335-chip, kampt naar beneden terwijl in de figuur, ik heb de berekeningen uitgaande van dat het zijde naar boven gekeerd. Ik wist niet dat dit tot ik had gemonteerd alles en dan testen het uit. Mijn excuses als dit leidt enige verwarring als gevolg van mijn onoplettendheid tot.
Weergave
Voor live weergave van tilt hoek, zullen we gebruiken PyQtGraph module. Hier is een hoog niveau overzicht van de werking van het deel van de weergave:
1) tekengebied, assen enz worden geïnitialiseerd
2) een functie genaamd update() is aangeroepen recursief elk 50 milli-seconden die begint een client socket, versnellingsmeter-gegevens worden opgehaald uit de server verwerkt om te hoek berekenen, wordt weergegeven in de grafiek en sluit de aansluiting. Dit gebeurt periodiek elke 50 MS met behulp van een timer (genaamd QTimer).
Raadpleeg voor meer informatie met betrekking tot de software, de volledige uitvoering van client en server programma's die ik heb geupload in de volgende stap.