Open Source Android App zur Modellfernsteuerung mit Bluetooth

Übersicht

Mit der “picCAR” App wird ein Android-Tablet oder Smartphone mit Bluetooth zum Fernsteuersender.

Die App basiert ursprünglich auf dem Cxem Car 1 Open Source Projekt. Es wurden verschiedene Anpassungen der Benutzeroberfläche vorgenommen und die Steuerbefehle auf den PiKoder/SSC RX Empfänger umgestellt.

Die App ist “Open Source” und wird unter einer GNU General Public License Version 3 released. Die App wird über den Play Store installiert. Der Source Code ist auf Github verfügbar.

Bedieneroberfläche

Bedieneroberfläche picCAR

Die Bedieneroberfläche ist intuitiv und einfach verständlich. Es stehen vier verschiedene Modi zur Verfügung: über Tasten (“Button Control”), virtuellen Joystick, Beschleunigungsmesser und eine Kombination aus Beschleunigungsmesser mit logischem Schieberegler. Die Verbindung zum Empfänger wird aufgebaut, sobald der Bedienmodus ausgewählt wurde.

Der Aufbau des Empfängers ist auf der PiKoder/SSC RX Seite beschrieben. Die App wird von allen PiKoder/SSC Firmwareversionen unterstützt. Soll die Time-out-Funktion der App genutzt werden, dann ist mindestens Release 1.03 zu verwenden.

picCAR User’s Guide (.pdf File, DE)

Der picCAR User’s Guide beschreibt die Funktionen der picCAR APP im Detail.

 

Ardupilot Mega Rover mit Smartphone fernsteuern (III)

Überblick

Der Ardupilot Mega (APM) und andere Flight Controller werden vorzugsweise über ein PPM-Summensignal angesteuert und nicht über die Einzelkanaleingänge wie im Teil I dieses Blogs beschrieben. Mit dem PiKoder/PPM wRX steht nun auch ein Empfänger zur Verfügung, der direkt ein PPM Signal liefert.  Damit reduziert sich die Verbindung zwischen dem Empfänger und dem APM auf ein dreipoliges Kabel wie im Beitragsbild sichtbar.

Beschreibung

Der PiKoder/PPM wRX wird für die Anwendung in einem Rover ebenfalls von der udpRC4UGV App bedient, die im zweiten Teil des Beitrags beschrieben wurde.

Diese App wurde so erweitert, dass die Position des Steuerkanals (direction) und  des Motors (throttle) innerhalb des PPM Rahmens flexibel in den App Präferenzen festgelegt werden kann.

Die Eingabe erfolgt über die Auswahl der Präferenz und die Eingabe der Kanalnummer (1 .. 8). Beim APM liegt beispielsweise der Steuerkanal auf 1 (entsprechend default) und der Motorkanal auf 3.

Bitte beachten Sie ebenfalls, dass für die Umschaltung des APM von der parallelen Eingabe je Kanal auf PPM zwischen Kanal 2 und 3 ein Jumper gesetzt werden muss (s.u.).

Schuco Speed-Buggy Leiterplatten-Hack

Überblick

Dieser Blog beschreibt die Schuco Speed-Buggy Leiterplatte und die hierauf notwendigen Änderungen für den Einsatz mit dem PiKoder/SSC wRX um den Buggy mit einem Android Smartphone oder Tablett fernsteuern zu können.

Zur Adaptierung des Empfängers an die Leiterplatte sollen die vom PiKoder/SSC wRX erzeugten Impulse für die einzelnen Kanäle hinter dem auf der Leiterplatte vorhandenen Dekoder eingespeist werden.

Aufbau der Leiterplatte

Die Leiterplatte realisiert einen Digital-Proportional-Empfänger für drei Kanäle – Richtung, Geschwindigkeit und Licht – einschließlich der erforderlichen Servo- und Motoransteuerung.

Auf der Leiterplatte sind ein diskret aufgebauter Superhet-Empfänger (der in der neuen Konfiguration nicht mehr benötigt wird), ein Dekoder-IC (IC 1 im folgenden Bild), das die eingehenden PPM – Signale in die je Kanal erforderlichen PWM Signale umsetzt, ein IC für die Lenkservosteuerung (IC 2 im folgenden Bild)  und ein integrierter Schaltkreis für die Motoransteuerung (IC 3 im folgenden Bild) vorhanden.

Umbau der Leiterplatte

Die Kanalinformationen des PiKoder/SSC sollen die vom Dekoder erzeugten PWM Signale ersetzen. Um zu verhindern, dass sich die beiden Ausgangssignale gegenseitig stören bzw. die gegeneinander geschalteten Ausgangsstufen zerstört werden, habe ich das Dekoder-IC ausgelötet. Da die Leiterplatte einseitig ausgeführt ist, ging dies ohne Komplikationen und Leiterbahnablösungen.

Die Pins, an denen die dekodierten Signale abgegeben wurden, habe ich durch eine Stiftleiste ersetzt.

Die Belegung der Stifte von links nach rechts ist: Eingang für Lenkung, Motor, Licht.

Wie Sie vielleicht später beim Vergleich der Leiterplattenbilder feststellen werden, musste ich aufgrund eines Defektes der Leiterplatte das IC2 ersetzen.

Test und Messungen

Um die Änderungen testen zu können, habe ich ein einfaches Funktionsmodell des Buggy aufgebaut – das Lenkservo ist original, die Scheinwerfer werden durch eine LED simuliert und ein kleiner Gleichstrommotor ersetzt die originale Motor-/ Getriebeeinheit. Der Fernsteuerempfänger wird mit Klettband befestigt.

Zunächst habe ich dann die erforderlichen Impulslängen ermittelt. Da in der Vergangenheit fast jeder Hersteller seine eigenen spezifischen Impulslängen verwendet hat, empfiehlt sich in jedem Fall eine Überprüfung.

Zur Ermittlung der besten Einstellung habe ich den PiKoder/SSC wRX mit dem Aufbau verbunden und gemäß dem nachfolgenden Bild verdrahtet. (Wichtig: der Empfänger und das rote Kabel sind nicht eingesteckt!)

Mit Hilfe des PiKoder Control Centers (PCC) habe ich verschiedene Werte ausprobiert. Die nachfolgenden Einstellungen waren für meinen Aufbau am besten geeignet.

Im Bild sind für die Kanäle 1 und 2 jeweils die Neutralstellung sowie die Minimal- und Maximalwerte gezeigt. Für den Schaltkanal 3 (Scheinwerfer) gibt es keine Neutralposition – ab ca. 1920 µs schaltet das Licht ein. Da die Scheinwerfer nicht über eine Output-Pin geschaltet werden wie bei meiner Umrüstung, sondern über ein PWM-Signal, habe ich eine neue Version 1.11 der udpRC-App erstellt, in der Sie in den App-Settings von der Default-Konfiguration ‘Output-Pin’ auf PWM umschalten können. Die App ist kostenlos im Play Store erhältlich.

Die ermittelten Werte werden mit ‘Save Parameters’ im PiKoder abgespeichert, so dass die udpRC-App immer die richtigen Werte vorfindet.

 

 

Modellfernsteuerung über WLAN mit Smartphone

Dieser Beitrag zeigt, wie einfach es ist, ein ferngesteuertes Modellauto – hier einen Crawler – auf eine Fernsteuerung mit dem Smartphone und WLAN umzurüsten. Durch die Verwendung des Pretzelboardes als Empfänger beschränkt sich der Hardware-Bauaufwand auf eine Prototyp-Leiterplatte zur elektrischen und mechanischen Adaption des Boardes. Der benötigte Sketch sowie die Android App stehen im Beitrag zum Download bereit.

Aufbau Empfänger

Die Schaltung des Empfängers kann durch den Einsatz des Pretzel Boardes sehr einfach gehalten werden. Die Spannungsversorgung  erfolgt über den Fahrtregler, der normalerweise auch den “traditionellen” Empfänger mit 5 Volt versorgt (BEC – Battery Elimination Circuit) und ausreichend Leitung bereitstellt.

Achtung: bitte immer sicherheitshalber nachmessen, um eine Zerstörung des Pretzelboardes durch zu hohe Spannung zu vermeiden!

Schematic Receiver Crawler

Von daher wird der Empfänger zweckmäßigerweise unter Verwendung einer Lochrasterplatine, die über zwei Buchsenleisten das Pretzelboard aufnimmt und zwei dreipolige Stiftleisten für den Anschluss des Lenkservos und den Fahrtregler (ESC) realisiert.

Einbau Empfänger

Der Empfänger wird mechanisch mit Klettband an einer geeigneten Stelle im Modell befestigt.

Schließlich ist der Controller Sketch “UDP_RC.ino” zu laden, der über github bereit gestellt wird.

Installation Android App “udpRC4NanoESP”

Die als Sender benötigte Android App “udpRC4NanoESP” kann über den folgenden Link im Google Play Store kostenlos bezogen werden.

Start der Fernsteuerung

Zunächst wird der Empfänger eingeschaltet, der nach dem Booten den Hotspot “NanoESP” anbietet. Das Android Smartphone ist über die Einstellungen mit diesem Hotspot zu verbinden.

Dann wird die udpRC4NanoESP-App gestartet und die gewünschte Bedieneroberfläche im Hauptmenü ausgewählt….

 

WLAN Modellfernsteuerung mit Pretzel Board und Android Smartphone (Vortrag Maker Faire 2016)

Auf der Maker Faire 2016 in Hannover habe ich vorgestellt, dass sich mit dem Pretzel Board und einer geeigneten Android App mit geringem Aufwand eine einfache Modellfernsteuerung über WLAN realisieren lässt.

Der Empfänger kann auf einem Prototypboard aufgebaut werden.

UDP_Receiver-Pretzelboard

Dann wird das Pretzelboard  über das Arduino IDE mit dem nachfolgenden Sketch “udp_RC.ino” programmiert, der als Open Source bei github verfügbar ist.

Nun wird nur noch die Android App “udpRC4NanoESP” benötigt, die über den Google Play Store kostenlos bezogen werden kann.

Wer einen dauerhafteren Aufbau des Empfängers realisieren möchte, findet im folgenden Beitrag weitere Informationen.

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.

Modellfernsteuerung mit Tablet oder Smartphone über Bluetooth

Benutzen Sie Ihr Android Tablet oder Smartphone als Fernsteuerung: mit Touch-Kommandos oder durch Bewegen des Tablets kann beispielsweise ein Roboter ü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 steuert einen PiKoder/SSC direkt an. Nähere Informationen zum Aufbau des Empfängers finden Sie auf der PiKoder Bluetooth-Fernsteuerseite.