Die Idee für dieses Projekt war es, ein "intelligentes" Positions-LED System für meine APM/Pixhawk Copter zu entwickeln. Intelligent in dem Sinne, dass es nicht nur Vorne hinten Anzeigt, sondern auch Parameter Infos, Akku-Spannung, Anzahl Satelliten und Fix-Typ.
Also habe ich mir einige WS2812 LED-Strips und ein Arduino Pro Mini bestellt und habe angefangen zu basteln.
Herausgekommen ist das:
[video=youtube;ZCfj1ceug4k]https://www.youtube.com/watch?v=ZCfj1ceug4k[/video]
Noch im nicht Eingebauten zustand.
Der Arduino wertet die MavLink Daten aus und steuert die WS2812 LEDs an. Dabei habe ich nicht alle in eine Kette gehangen, sondern jeden Strip einzeln angeschlossen. Das hat den Sinn, dass ich beim Einbau kein viertes Kabel als Rückkanal für die Datenleitung ziehen muss.
Zwei der Strips Blinken im Moment im Sekundentakt und sollen in Flugrichtung vorne hin.
Der dritte Strip zeigt die Akkukapazität an. Dabei wird von 4,2V bis 3,6V pro Zelle "Runtergezählt", quasi als Bargraph. Darunter blinkt der Strip Rot, auch wieder im Sekundentakt.
Der letzte Strip zeigt die Anzahl der Satelliten sowie den Fix-Typ an(Rot=Kein Fix, Blau = 2D, Grün = 3D). Pro Satellit wird eine weitere LED angeschaltet, mehr als 8 können so zwar nicht angezeigt werden, aber ab 8 interessiert das auch nicht mehr so besonders.
Den Source-Code für den Arduino findet man hier:
https://github.com/cloidnerux/AdvancedPositionLight
Den Source-Code für das Testprogramm(C#, Windows) findet man hier:
https://github.com/cloidnerux/MavlinkTester
Da man per MavLink auf so ziemlich alle Parameter zugreifen kann, findet man sicherlich noch andere Möglichkeiten. Schneller blinken je näher man an einem Selber ist, Helligkeit per Poti Regeln, Throttle Wert pro Motor anzeigen.
Also habe ich mir einige WS2812 LED-Strips und ein Arduino Pro Mini bestellt und habe angefangen zu basteln.
Herausgekommen ist das:
[video=youtube;ZCfj1ceug4k]https://www.youtube.com/watch?v=ZCfj1ceug4k[/video]
Noch im nicht Eingebauten zustand.
Der Arduino wertet die MavLink Daten aus und steuert die WS2812 LEDs an. Dabei habe ich nicht alle in eine Kette gehangen, sondern jeden Strip einzeln angeschlossen. Das hat den Sinn, dass ich beim Einbau kein viertes Kabel als Rückkanal für die Datenleitung ziehen muss.
Zwei der Strips Blinken im Moment im Sekundentakt und sollen in Flugrichtung vorne hin.
Der dritte Strip zeigt die Akkukapazität an. Dabei wird von 4,2V bis 3,6V pro Zelle "Runtergezählt", quasi als Bargraph. Darunter blinkt der Strip Rot, auch wieder im Sekundentakt.
Der letzte Strip zeigt die Anzahl der Satelliten sowie den Fix-Typ an(Rot=Kein Fix, Blau = 2D, Grün = 3D). Pro Satellit wird eine weitere LED angeschaltet, mehr als 8 können so zwar nicht angezeigt werden, aber ab 8 interessiert das auch nicht mehr so besonders.
Den Source-Code für den Arduino findet man hier:
https://github.com/cloidnerux/AdvancedPositionLight
Den Source-Code für das Testprogramm(C#, Windows) findet man hier:
https://github.com/cloidnerux/MavlinkTester
Da man per MavLink auf so ziemlich alle Parameter zugreifen kann, findet man sicherlich noch andere Möglichkeiten. Schneller blinken je näher man an einem Selber ist, Helligkeit per Poti Regeln, Throttle Wert pro Motor anzeigen.