eTarget –die elektronische Zielscheibe

Unsere Softair-Zielscheibe „hört“ eine Aufprallposition auf einer Prellplatte, ganz nach dem Prinzip unserer Gehörortung und der Berechnung von Laufzeitunterschieden. Die werden per Bluetooth an ein Android-Tablet oder Smartphone übermittelt, das daraus die genaue Trefferposition errechnet und anzeigt.

vorlesen Druckansicht 4 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Carsten Meyer

Im Nachgang zum Artikel im Heft kam die Frage nach dem Protokoll an der seriellen Schnittstelle auf. Es handelt sich dabei um einen durch Leerzeichen separierten String:

BTSerial.print("KOORD ");
BTSerial.print(Version);// Versionsnummer
BTSerial.print(" ");
BTSerial.print(-1); // Kennung
BTSerial.print(" ");
BTSerial.print(iSensorPlattenBreite); // in cm
BTSerial.print(" ");
BTSerial.print(Sensoren[0].iLaufzeitMykroSec); // Laufzeit in Mykrosekunden von Piezo 1
BTSerial.print(" ");
BTSerial.print(Sensoren[1].iLaufzeitMykroSec);// Laufzeit in Mykrosekunden von Piezo 2
BTSerial.print(" ");
BTSerial.print(Sensoren[2].iLaufzeitMykroSec); // Laufzeit in Mykrosekunden von Piezo 3
BTSerial.print(" ");
BTSerial.print(Sensoren[3].iLaufzeitMykroSec); // Laufzeit in Mykrosekunden von Piezo 3
BTSerial.print(" ");
BTSerial.print(iDeltaMS); // gesamte Messzeit in Mykrosekunden
BTSerial.print(" ");
BTSerial.print(iSampleIDX); // Anzahl der Samples - hier: 1200
BTSerial.print(" ");
BTSerial.print(iPlattenID); // zum Unterscheiden der Zielscheiben wird eine PlattenID ĂĽbertragen. Achtung: wird bei jedem Neustart neu erzeugt. Die APP kann mehrere Zielscheiben verarbeiten.
BTSerial.print(" ");
BTSerial.print("I");
BTSerial.print(" ");
BTSerial.print("");
BTSerial.print(" ");
BTSerial.println("|"); // end of file

(cm)