Forum: Mikrocontroller und Digitale Elektronik BT Maus an Arduino ESP32 für RC-Auto für E-Rollstuhlfahrer


von Matthias R. (matthias-riedel)


Lesenswert?

Hallo,
wer kann mir als Arduino Anfänger mit ESP32 helfen.
Ich will eine Bluetooth Maus von einem Elektrorollstuhl auslesen. Ich 
habe weder mit HDI Maus Interface, noch mit Bluetooth Einbindung im ESP 
Ahnung wie das zu machen ist.
Ich brauche die X und Y Werte der Maus um eine Ferngesteuertes Auto mit 
dem Joystick des Rollstuhls zu Bauen. Die restliche Programmierung und 
elektronische Anbinung an das Auto bekomme ich wahrscheinlich selber 
hin.
Unser Sohn wünscht sich das so sehr zu Weihnachten und ich finde nichts 
fertiges mit dem es zu bewerkstelligen ist.
Für andere Anregungen bin ich auch offen, er kann nur den 
Spezialjoystick am Rollstuhl bedienen und in die Elektronik greife ich 
aus Sicherheits- und Gewährleistungsgründen nicht ein, dieser bietet 
aber zum steuern für PC und Handy eine Bluetooth Maus an.
Ich habe übrigens ein TTGO ESP32 Board mit Oled Display hier und das 
auch schon mit Demos erfolgreich gefüttert.

Gruss Matthias

von Andreas Müller (Gast)


Lesenswert?

Matthias R. schrieb:
> Hallo,
> wer kann mir als Arduino Anfänger mit ESP32 helfen.
> Ich will eine Bluetooth Maus von einem Elektrorollstuhl auslesen. Ich
> habe weder mit HDI Maus Interface, noch mit Bluetooth Einbindung im ESP
> Ahnung wie das zu machen ist.
> Ich brauche die X und Y Werte der Maus um eine Ferngesteuertes Auto mit
> dem Joystick des Rollstuhls zu Bauen. Die restliche Programmierung und
> elektronische Anbinung an das Auto bekomme ich wahrscheinlich selber
> hin.
> Unser Sohn wünscht sich das so sehr zu Weihnachten und ich finde nichts
> fertiges mit dem es zu bewerkstelligen ist.
> Für andere Anregungen bin ich auch offen, er kann nur den
> Spezialjoystick am Rollstuhl bedienen und in die Elektronik greife ich
> aus Sicherheits- und Gewährleistungsgründen nicht ein, dieser bietet
> aber zum steuern für PC und Handy eine Bluetooth Maus an.
> Ich habe übrigens ein TTGO ESP32 Board mit Oled Display hier und das
> auch schon mit Demos erfolgreich gefüttert.


Ich kann Dir - nicht zuletzt aufgrund Deines Kenntnisstandes/Deiner 
Erfahrung und in Anbetracht der kurzen Zeit bis Weihnachten - vom ESP32 
abraten.
Nimm lieber ein kleines Linux-SOC (Z.B. Raspberry Zero W) dafür. Das 
braucht zwar vermutlich etwas mehr Strom, aber das kannst Du mit einem 
Satz Ersatz-Akkus ausgleichen.
Die Programmierung ist damit viel einfacher und vor allem schnell 
erledigt. Geht auch per Skript-Sprache, ob nun Bash oder Python.
Mit dem ESP32 wirst Du Wochen, wenn nicht Monate, Spass haben...

von Michael U. (amiga)


Lesenswert?

Hallo,

ich kann Andreas Müller (Gast) hier leider nur voll zustimmen. Es gibt 
für den ESp32 noch keine HID-Implementierung, die man einfach nutzen 
könnte. Auch für Arduino habe ich auf Anhieb kein HID-fähiges BT-Modul 
gefunden, das problemlos zu nutzen wäre.

Ein RasPi Zero W dürfte von dieser Seite problemlos nutzbar sein, Platz 
und Stromversorgung könnte da bei einem RC-Auto ein echtes Problem 
werden.
Machbar wäre vermutlich eine Bridge z.B. mit dem Raspi, die mit Eingriff 
in die Fernsteuerung des RC-Autos kombiniert wird. Also RasPi mit der 
BT-Maus verbinden, per Script auswerten usw. und die nötige Hardware, um 
Tasten usw. der RC-Fernbedienung zu schalten/anzusteuern.
Dazu müßte man mehr über das RC-Car wissen, welche Funktionen nötig sind 
und wie die in der Originalfernbedienung realisiert werden.
Das könnte dann unabhängig als "Kästchen" mit eigener Versorgung 
(Netzteil, Powerbank usw.) betrieben werden.

Zumindest würde ich den Ansatz für realisierbar halten. gib doch mal was 
genaueres zum RC-Car an.

Gruß aus Berlin
Michael

von Joachim S. (oyo)


Lesenswert?

Auch ich muss Andreas zustimmen:
Nimm lieber einen Linux-basierten Minicomputer, sonst kriegst Du das mit 
Sicherheit nicht mehr rechtzeitig hin. Das grösste Hindernis dürfte 
tatsächlich die Anbindung der Bluetooth-Maus sein.

Wie soll denn eigentlich der Rest aussehen, also was sollte in Deiner 
Planung hinter dem Arduino an Hardware hängen etc.?
Ganz konkret: Soll der Arduino direkt im ferngesteuerten Auto verbaut 
werden und dort quasi den normalen RC-Empfänger ersetzen?
Oder soll der Arduino an einen RC-Transmitter angeschlossen werden, das 
fernzusteuernde Auto also unangetastet bleiben?

von Matthias R. (matthias-riedel)


Lesenswert?

Hallo,
Danke für die schnellen Antworten. Ich dachte das ich das mit Arduino am 
schnellsten hinbekomme, aber ich lasse mich gerne eines besseren 
belehren.

Ein Pi Zero W habe ich soeben bestellt, was kann ich in der Zwischenzeit 
für die SD-Karte vorbereiten? Von Linux habe ich leider überhaupt keinen 
Plan!

Welches System soll ich für den Pi verwenden?
Welche Programmiersprache soll ich verwenden mit welcher IDE?
Programmieren über Konsole oder HDMI am Pi?

Wie fange ich die Werte von der Maus ab ohne das sie vom System 
verarbeitet werden? Ich habe das mit Java unter Windows schon probiert, 
leider bekomme ich da nur die Position auf dem Bildschirm, das heißt 
wenn ich an den Rand stoße ist Schluss mit weiterfahren.

Autos stehen verschiedene zur Verfügung, ich werde erst mal ein 
günstiges verwenden und will den Pi dann mit der Fernbedienung koppeln. 
Ich brauche also 2 oder 4 analoge Ausgänge am Pi und werde das dann 
irgendwie verschalten. Hierzu hab ich mir noch keine Gedanken gemacht, 
da ich erst mal das für mich kompliziertere Problem der Bluetooth 
Anbindung erledigen wollte, den Rest bekomme ich schon hin. Mir schweben 
da dann auch noch andere Sachen, wie  Carrerabahn und ein System zum 
schnelleren schreiben, so eine Art Morsecode in verschiedene Richtung, 
für ihn vor.

Gruß Matthias

von STK500-Besitzer (Gast)


Lesenswert?

Matthias R. schrieb:
> er kann nur den
> Spezialjoystick am Rollstuhl bedienen

Wie sieht der Joystick denn aus? (Foto? Typenbezeichnung?)

Vielleicht könnte man auch da mit einer Lösung anfangen.

Für das Arduino-System gibt es einen USB-Host-Controller, kit dem man 
auch Bluetooth-Dongle auswerten kann (z.B. Playstation-Controller, die 
für deinen Sohn vermutlich völlig ungeeinet sind und hier nur als 
BT-Beispiel dienen).

von Matthias R. (matthias-riedel)


Lesenswert?

Der Joystick ist im Tisch des Rollstuhls verbaut, hier werde ich aber 
aus Sicherheitsgründen nicht ranlangen, der Rollstuhl hatte sich schon 
zwei mal selbständig gemacht und ist davongefahren, hierfür möchte ich 
nicht verantwortlich sein. Deswegen der Umweg über die Bluetooth 
Schnittstelle, die er auch selber ohne Hilfe anschalten kann. Also auch 
kein USB, nur BT.

von STK500-Besitzer (Gast)


Lesenswert?

Matthias R. schrieb:
> Der Joystick ist im Tisch des Rollstuhls verbaut, hier werde ich aber
> aus Sicherheitsgründen nicht ranlangen, der Rollstuhl hatte sich schon
> zwei mal selbständig gemacht und ist davongefahren, hierfür möchte ich
> nicht verantwortlich sein. Deswegen der Umweg über die Bluetooth
> Schnittstelle, die er auch selber ohne Hilfe anschalten kann. Also auch
> kein USB, nur BT.

Es ging mir nicht darum, den Rollstuhl anzuzapfen, sondern um die Haptik 
des Joysticks.

Muss der Joystick speziell geformt sein oder noch irgenwwelche anderen 
mechanischen Adapter haben?
Könnte dein Sohn mit einem Spielkonsolen-Joystick wie dem Competiton Pro 
(z.B. 
https://www.amazon.de/Original-Speedlink-Competition-Exclusive-Retro-Gaming/dp/B06XCT1MHX) 
umgehen?

Da sind nur Taster für die Richtung (und die beiden Feuertasten) drin, 
die man auch problemlos an die Fernsteuerung eine Spielzeug-RC-Autos 
anklemmen kann.

von Matthias R. (matthias-riedel)


Lesenswert?

Nein, er kann keinen andern Joystick verwenden, er muss fest an der 
Position sein und ist für die Hand geformt, ausserdem kann er die hand 
nicht selbst wegnehmen und anlegen. was anderes würde man hier nicht 
hinbekommen da der Orginale im weg ist.
Fertige USB Joystick's habe ich schon probiert, konnte er leider nie 
bedienen.

von Matthias R. (matthias-riedel)


Lesenswert?

Wenn man den gleichen Joystick kaufen würde müsste man den anderen der 
unterm Tisch ist wegschrauben da er sonst zu hoch kommen würde, er 
braucht die elbogenauflage dafür und diese muss genau in dieser höhe 
sein.

von Joachim S. (oyo)


Lesenswert?

Hallo,

hier mal ein konkreter Lösungsansatz. Hat allerdings als Voraussetzung, 
dass es sich um ein vollwertiges RC-Modell handelt, das mit einer 
eigenen Fernsteuer-Anlage betrieben werden kann. Also eines, bei dem 
gewöhnliche Servos, Motoren mit ESC etc. an einen gewöhnlichen 
x-Kanal-RC-Empfänger mit Servo-Ausgängen angeschlossen werden - kein 
"Billig"-RC-Fahrzeug aus dem Supermarkt, bei dem Empfänger, ESCs etc. 
auf einer einzigen integrierten Platine vereint sind, und das mit einer 
eigenen Fernsteuerung kommt, und auch nur mit genau dieser Fernsteuerung 
funktioniert.

Ansatz: Ein Board, z.B. ein Linux-basierter Minicomputer wie der 
Raspberry Pi, verbindet sich per Bluetooth mit dem Joystick des 
Rollstuhls, und erzeugt aus den Joystick-Daten ein sogenanntes 
"PPM"-Signal.
Dieses PPM-Signal speist Du in eine Fernsteuerung mit für 
"Lehrer/Schüler-Betrieb" geeignetem "Trainer-Port" ein. Alternativ wäre 
auch denkbar, statt der Fernbedienung ein fertiges Transmitter-Modul mit 
PPM-Eingang zu benutzen. Hilfreich sein könnte da bspw. das hier:
https://www.insecure.ws/fpv/audioppm_linux.html

Vorteil dieser Lösung:
- Universelle Lösung, die quasi ohne jeglichen Umbau für alle 
"richtigen" RC-Modelle funktioniert. Falls der Sohnemann Gefallen am 
RC-Modellbau findet und später ein anderes RC-Auto oder z.B. ein 
RC-Schiff will, funktioniert diese Lösung immer noch.
- Du kannst als "Lehrer" die Fernsteuerung in der Hand halten und 
eingreifen, falls Dein Sohn einen Fehler macht.

So oder so ist es allerdings eine ziemlich grosse Herausforderung, das 
noch vor Weihnachten lauffähig zu kriegen - gerade in Anbetracht der 
Tatsache, dass Du den Raspberry Pi bspw. gerade erst bestellt hast...
Um ehrlich zu sein, ich bezweilfe stark, dass Du das noch rechtzeitig 
hin bekommst... :-(

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.