Hallo meine lieben Freunde des gepflegten Kabelsalats,
heute mal ein Beitrag abseits von Haussteuerung und co., aber dennoch mit Raspberry Pi und Arduino. Und zwar möchte ich euch einmal zeigen, wie Ihr auf relativ einfach Weise Rundenzeiten von einzelnen Quadrocopter in einem FPV-Rennen messen könnt.
Wie einige von Euch sicherlich wissen, beschäftige ich mich in meiner Freizeit gerne mit RC-Modellbau und aktuell vor allem mit Quadrocoptern. Da wir auch öfter mal mit mehreren fliegen entstand so die Idee auch einmal Rennen zu veranstalten.
Ich wäre nicht ich, wenn ich dabei nicht nach einer Möglichkeit gesucht hätte, das auch direkt zu automatisieren. Und dafür habe ich auch wirklich eine relativ einfache Lösung gefunden, welche ich euch nicht vorenthalten möchte.
Arbeitsweise
Das Herzstück des Projekts ist der Raspberry Pi auf dem das System RotorHazard eingerichtet werden muss. An dem Pi werden je Kanal den man tracken möchte ein Arduino mit einem angeschlossenen 5.8GHz Empfänger über die I2C Schnittstelle verbunden. Der Pi zeichnet dann während des gesamten Rennens die Signalstärke jeder Drohne auf und speichert die Daten in einer Datenbank.
Anhand der gemessenen Signalstärke des jeweiligen Kanals werden dann die Rundenzeiten der einzelnen Piloten ermittelt. Die so ermittelten Rundenzeiten können selbst im Nachhinein noch neu justiert und somit korrigiert werden, falls der Sensor vor Start des Rennens nicht korrekt konfiguriert war.
Die Platine

Natürlich habe ich für das Projekt auch gleich eine Platine entworfen. Diese ist kein muss, macht den Aufbau des Projektes aber um einiges einfacher und sieht am Ende mMn. sauberer aus.
Die bestückte Platine wird einfach mit den I2C Pins sowie einem 5V- und GND-Pin des Raspberry Pi verbunden.
Am besten konfiguriert man die I2C Adressierung im Sketch der einzelnen Nodes. Wer aber lieber die Hardware-Seitige Konfiguration verwenden möchte kann dies über die vorgesehenen Jumper-Steckplätze unter den Arduinos erledigen. Die Jumper haben die Werte 1,2,4 und 8 wobei 8 noch nicht in der Software vorgesehen ist (aber ggf. noch kommt).
Diese werden auf addiert. Heist wenn Ihr Eurer Node die ID 5 geben wollt, setzt Ihr die Jumper bei 1 und 4 auf „Add“. Die Jumper bei 2 und 8 stehen dann auf „ignore“. Die IDs dürfen am I2C Bus nicht doppelt vorkommen!
🛒 Diese Platine kannst du direkt bei ELECROW bestellen
Mit dem Partnerlink unterstützt du mein Projekt – ganz ohne Mehrkosten für dich.

Das Gehäuse

Gerade auf dem Feld kann man die Platine natürlich nicht frei herumliegen lassen. Also benötigt man hier auch noch ein Gehäuse, welches ich passend zur Platine direkt mit entworfen und auf Thingiverse für Euch hochgeladen habe.
Die STL-Dateien für den 3D Drucker findet Ihr unter folgendem Link:
https://www.thingiverse.com/thing:4922537
Software

Als Software habe ich bei diesem Projekt RotorHazard eingesetzt. Dabei handelt es sich um eine Software die auf dem Raspberry Pi arbeitet, alle Daten in einer Datenbank speichert, diese Daten auswertet und die Benutzeroberfläche als Webseite bereitstellt.
Das System bietet so ziemlich alles, was man benötigt um ein FPV Rennen durchzuführen. Neben dem tracken der Rundenzeiten bietet es viele weitere Funktionen rund um das Renn-Management von FPV-Rennen. Ihr könnt eure Piloten hinterlegen, die Piloten in Teams aufteilen oder einzeln antreten lassen. Des weiteren bietet das System viele frei konfigurierbare Arten von Renn-Modi. Ihr könnt Euer Rennen also genau an eure eigenen Bedürfnisse anpassen.


