Modellfernsteuerung mit Webbrowser – intuitiver und reaktiver

In meinen bisherigen Blogs zum Thema Modellfernsteuerung mit Webbrowser habe ich Lösungen vorgestellt, die hinsichtlich der Bedieneroberfläche und der Responsezeiten (Agilität) der Fernsteuerung nur für einfache und nicht zeitkritische Anwendungen geeignet waren.

Die zuerst vorgestellte tastenorientierte Bedieneroberfläche war vergleichsweise träge, weil nach jeder Bedienung wieder die komplette Seite übertragen und neu aufgebaut wurde.

Das verbesserte „Joystick-artige“ Konzept benutzt bereits AJAX, um die Reaktionsgeschwindigkeit zu erhöhen. Allerdings erfordert die Steuerung noch, dass eine Bewegung durch einmaliges Antippen gestartet wird und dann durch erneutes Tippen an einer anderen Stelle des Bildschirms gestoppt wird während man eigentlich erwarten würde, dass die Bewegung solange aktiviert ist, wie die Taste „gedrückt“ wird.

Die neueste Version von httpRC erfüllt nun auf Basis einer tastenorientierten Bedieneroberfläche beide Anforderungen hinsichlich Reaktionsgeschwindigkeit und Logik: ein Befehl wird nur solange ausgeführt, wie der Button gedrückt wird.

Der Source Code für den ESP8266-01 wird über github bereit gestellt. Für die Programmierung habe ich sowohl den bereits beschriebenen Programmieradapter als auch den Arduino Due erfolgreich eingesetzt.

Weitere Informationen zum Empfängerbausatz selber finden Sie auf der entsprechenden Pikoder-Webseite.

Modellfernsteuerung mit Arduino über XBee

Durch die Kombination der Arduino-basierten digitalen Open Source Fernsteuerung arduinodtx mit einem intelligenten Servocontroller wie dem PiKoder/SSC, einem XBee Shield und einem XBee Modul entsteht eine hochwertige Modellfernsteuerung.

Hierbei wird eine transparente Übrertragung eingesetzt, so dass keine Anpassungen an der Arduino Software oder der PiKoder/SSC Firmware erforderlich sind; es steht der volle Funktionsumfang der Fernsteuerung zur Verfügung.

Der prinzipielle Aufbau des Senders mit der Jumperstellung für das Arduino XBee Shield ist im Bild unten dargestellt, die Verdrahtung der Steuerknüppel entspricht dem Aufbau auf der arduinodtx Webseite.

xbee-digital-rc_404p

Der Aufbau des kompletten Empfängers bestehend aus dem XBee-Breakout Adapter, dem PiKoder/SSC und einem Spannungswandler zur Erzeugung der benötigten 3,3 Volt Versorgungsspannung sowie die Programmierung der XBee Module ist in der PiKoder/SSC Application Note #3: XBee Communication detailiert beschrieben.

complete-receiver-unit

Prototyp Empfängeraufbau

Modellfernsteuerung mit Tablet oder Smartphone 2.0

Benutzen Sie Ihr Android Tablet oder Smartphone als Fernsteuerung: mit Touch-Kommandos oder durch Bewegen des Tablets kann beispielsweise ein Roboter oder ein Modellauto über Bluetooth ferngesteuert werden. Als Basis dient die Android App picCAR, die als Open Source released wurde und in ablauffähiger Version im Play Store erhältlich ist.  

Diese App unterstützt in der aktuellen Version 1.3 nun zusätzlich zur bisherigen Robotersteuerung ( = Richtungsänderung über Geschwindigkeitsänderung der Antriebsmotoren)  auch „normale“ Fahrzeuge, bei denen ein Kanal zur Lenkung und ein Kanal zur Geschwindigkeitsregelung verwendet wird.

Foto_hoch

Das Tablet oder Smartphone steuert einen PiKoder/SSC über BlueTooth an. Der Einbau und die Verdrahtung des PiKoder/SSC ist schnell vorgenommen.

Detail Einbau PiKoder

Nähere Informationen zum Aufbau des Empfängers finden Sie auf der PiKoder Bluetooth-Fernsteuerseite.

Android Based Robotics

Auf der Suche nach einer geeigneten Plattform für eigene Roboter-Experimente bin ich auf Android Based Robotics gestoßen. Die Idee, die Sensoren, die Kamera und die Rechnerperformance eines Android Smartphone zur Steuerung eines Roboters zu verwenden, hat mich angesprochen.

Die Ansteuerung der Roboterhardware, wie beispielsweise der Motoren, erfolgt über ein IOIO Board, das ja speziell dazu entwickelt wurde, über ein Android Smartphone Aktoren zu steuern.  Die Verbindung zwischen IOIO und Phone wird über Bluetooth realisiert.

Ansicht_02

Der Aufbau der Hardware ist nicht besonders schwierig und erfolgte in meinem Fall auf einer Pertinaxplatte. Das aktuelle PCB-Release des IOIO-Boards hat nur noch einen micro-USB Port, so dass der zur Kommunikation verwendete USB BT Dongle über das mitgelieferte (rote) Kabel adaptiert werden musste.

Die gesamte Verdrahtung kann wesentlich vereinfacht werden, wenn eine Prototyp-Leiterplatte, wie im Bild gezeigt, eingesetzt wird.

Android_Based_Robotics_02

Das komplette Android Based Robotics Projekt ist Open Source; allerdings war der verfügbare Source Code hinsichtlich der Entwicklungsumgebung und verwendeten Libraries für die Videoverarbeitung und IOIO Ansteuerung nicht auf dem neuesten Stand. Ein aktualisierter Stand des ABR_client ist bei github verfügbar.