Forum: Mikrocontroller und Digitale Elektronik Raspberry pi pico w mit app fernsteuern


von W. (wodga)


Angehängte Dateien:

Lesenswert?

Ich habe mich mal mit dem makebot gespielt, der eine Funktion 
bereitstellt den arduino "on-the-go" drahtlos mit einer einfachen 
Blocksprache zu programmieren. Dafür nutzt er einen Bluetooth-Dongle 
unter Windows welcher auch eine Brücke zu einem Ipad herstellen kann um 
damit den Prozessor anzusteuern.
Ich bin nun auf der Suche nach einer günstigen Lösung für diese 
Funktion.
Zunächst habe ich mittels "Raspberry-pi pico w" und einem "Dollatek 
TB6612FNG-Motortreiber" den Motor und den Servo angesteuert 
(USB-Verbindung). Nun würde ich diese Steuerung gerne auf dem smartphone 
(android) oder Ipad kabellos ausführen.
Idealerweise sollten die Schüler auf dem Smartphone ihr 
selbstkonstruiertes Fahrzeug steuern bzw. programmieren können.

von Joachim S. (oyo)


Lesenswert?

Du hast keine konkrete Frage gestellt und auch nur Weniges über den 
geplanten Kurs verraten, daher hilft Dir Nachfolgendes vielleicht nicht, 
aber hier trotzdem mal "my two cents":

Eine "so-günstig-wie-möglich" Alternative zu den von Dir genannten 
Komponenten wäre vielleicht ein ESP32-Development Board (bei AliExpress 
ab ca. 2,60 Euro) sowie ein auf dem MX1508 basierendes 
Dual-DC-Motor-Treiber-Board (bei Aliexpress ab ca 0,40 Euro).
Der ESP32 kann Bluetooth und WiFi, Steuerung des Autos und 
Programmierung kabellos per Smartphone/Tablet sollte grundsätzlich also 
möglich sein. Und die Möglichkeit, den ESP32 in einer Scratch-ähnlichen 
"Blocksprache" zu programmieren, gibt es offenbar auch (ich habe damit 
aber bislang keine eigene Erfahrung).

Eine anderer (allerdings auch teurere) Lösung könnte rein theoretisch 
aber auch "Powered Up" bzw. "WeDo" von LEGO sein. "WeDo" bspw. wurde 
glaube ich genau dafür entwickelt, asiatischen Schulkindern früh und 
günstig Grundlagen der Programmierung und Robotik beizubringen, ohne 
dass sie etwas kaputt machen können. Die Kernkomponenten des "WeDo 
2.0"-Sets (Bluetooth-fähiger "Smart Hub", ein Motor, ein 
Lage/Beschleunigungs-Sensor, ein Entfernungs-Sensor) habe ich neulich 
bei AliExpress als Set für gerade mal 13,30 Euro gekauft (plus einen 
zusätzlichen Motor für 3 Euro). Das wird standardmässig genau mit so 
einer Scratch-ähnlichen Blocksprache programmiert.
Ich habe früher in meiner Schul-/Studienzeit den teuren "LEGO 
Mindstorms"-Robotikbaukausten gekauft und gerne damit 
herumexperimentiert. Die gibt es mittlerweile eh nicht mehr, aber mit 
"WeDo"/"Powered Up" gibt es in meinen Augen einen modernen Ansatz, der 
fast nur Vorteile gegenüber dem damaligen Ansatz von LEGO Mindstorms hat 
und dabei viel günstiger ist.
Das genannte Ziel, ein kleines Auto per Smartphone/Tablet kabellos zu 
programmiereun und zu steuern, liesse sich damit auf jeden Fall 
umsetzen. Ist halt die Frage, ob das zu Deinem Kurs, den Lernzielen etc. 
passt. Wenn die Schüler mit dem Projekt nur allgemeine Grundlagen der 
Programmierung lernen sollen, würde das genügen. Wenn die Schüler 
hingegen schon älter sind und mit dem Kurs an Mikrocontroller 
herangeführt werden sollen, kommt es nicht infrage.

von Constanze H. (warteschleife)


Lesenswert?

suche mal nach dem Calliope-mini
Das ist speziell für den MINT-Unterricht gedacht und da ist alles dabei

von W. (wodga)


Lesenswert?

@warteschleife Ja den Calliope kenne ich und nutze ihn auch. Mit rund 40 
EUR ist er mir aber für diesen Zweck zu teuer.

@oyo Du hast recht, meine Frage ist nicht sehr konkret. Bei mir an der 
Schule gibt's unterschiedliche Szenarien. Im Informatikunterricht nutzen 
wir Thymio und Calliope zum programmieren mit Blocksprachen.

Meine Frage bezog sich in diesem Fall auf den Einsatz im 
Technikunterricht. Die Schüler sollen das Fahrzeug, das sie selbst 
entwickelt und z. T. mit dem Lasercutter hergestellt haben und bisher 
nur mit einer Kabel-"Fern"-Bedienung ausgerüstet ist mit dem Handy 
steuern können. Für diesen Zweck sind jedoch die 
"out-of-the-box"-Lösungen zu teuer (es steht nur ein Etat von ca. 35 € 
zur Verfügung).

"Powered Up" bzw. "WeDo" schaue ich mir auf jeden Fall mal an.

Dein ESP32-Development Boardl/MX1508 ist ja grundsätzlich vergleichbar 
mit Raspberry pi pico der ebenfalls WIFI/Bluetooth mit an Board hat.

Die konkrete Frage ist nun wie ich direkt mit dem Smartphone diese 
Kontroller programmieren bzw. steuern kann?

von Chr. M. (snowfly)


Lesenswert?

Der pico kann doch bestimmt auch einen Webserver darstellen!?

Warum nicht einfach Einen Webserver auf dem Pico programmieren, 
vier(oder mehr) Knöpfe einrichten, Handy mit pico verbinden und 
losfahren?

Wie 
hier:https://github.com/donskytech/raspberry-pi-pico-w-wifi-robot-car

: Bearbeitet durch User
von W. (wodga)


Lesenswert?

@snowfly

Danke, dass klingt gut. Werde ich bei Gelegenheit mal testen.

von Joachim S. (oyo)


Lesenswert?

W. schrieb:
> Meine Frage bezog sich in diesem Fall auf den Einsatz im
> Technikunterricht. Die Schüler sollen das Fahrzeug, das sie selbst
> entwickelt und z. T. mit dem Lasercutter hergestellt haben und bisher
> nur mit einer Kabel-"Fern"-Bedienung ausgerüstet ist mit dem Handy
> steuern können. Für diesen Zweck sind jedoch die
> "out-of-the-box"-Lösungen zu teuer (es steht nur ein Etat von ca. 35 €
> zur Verfügung).

Ah ok, jetzt habe ich schon eine etwas klarere Vorstellung.

Es geht in dem Technikunterricht-Projekt, für das Du hier eine Lösung 
suchst, also mehr darum, dass die Schüler eine Art fernsteuerbares 
Modell-Auto selbst entwickeln und herstellen - und der Grossteil ist 
bereits gemacht, sogar Motoren etc. sind bereits eingebaut, jetzt soll 
nur noch die bisherige "Kabelfernsteuerung" durch eine kabellose 
Fernsteuerung per Smartphone ersetzt werden, weil das Auto dadurch 
schlagartig viel cooler wird?
Und die Schüler müssten die Smartphone-Anbindung eigentlich gar nicht 
unbedingt selbst programmieren, weil das eigentlich schon eher was für 
den Informatik-Unterricht wäre?

von W. (wodga)


Lesenswert?

@oyo Genau das ist der Plan. Nur werden wir jetzt die kabelgesteuerten 
Fahrzeug nicht "nachrüsten". Im neuen Schuljahr werden die neuen Schüler 
eben ihr eigenes Fahrzeug entwickeln und wir planen die Montage des 
Mikrocontrollers, des Motortreibers, des Getriebemotors und des Servos 
schon mit.

von Joachim S. (oyo)


Lesenswert?

W. schrieb:
> @oyo Genau das ist der Plan. Nur werden wir jetzt die kabelgesteuerten
> Fahrzeug nicht "nachrüsten". Im neuen Schuljahr werden die neuen Schüler
> eben ihr eigenes Fahrzeug entwickeln und wir planen die Montage des
> Mikrocontrollers, des Motortreibers, des Getriebemotors und des Servos
> schon mit.

Ah, ok. Servo ist dann vermutlich auch eine Neuerung, die erst im neuen 
Schuljahr kommt, nehme ich an? (Bei dem im Eröffnungsposting gezeigten 
Auto mit Kabelfernbedienung und zwei Batterien wurde ja bestimmt kein 
Servo eingesetzt, sondern zwei Motoren)

Mit dem neuen Wissen über den Kurs sind LEGO Powered Up bzw. WeDo 
jedenfalls schon mal nicht sinnvoll, der von Dir angedachte Weg 
"Mikrocontroller mit Wireless-Verbindung + Motortreiber" ist völlig 
richtig.

Was nun die Steuerung per Smartphone betrifft, würde ich auch genau das 
empfehlen, was User snowfly sinngemäss weiter oben schon empfohlen hat:
Jeder auf einem Auto verbaute Mikrocontroller spannt sein eigenes 
kleines WLAN auf, mit dem sich die Smartphones/Tablets der Schüler 
verbinden, wenn sie das Auto steuern wollen. Auf dem Mikrocontroller 
läuft ein minimalistischer Webserver, der eine Mini-"WebApp" zur 
Verfügung stellt, auf die die Schüler einfach per Webbrowser zugreifen. 
Mit dieser WebApp wird das Auto gesteuert - ungefähr so, wie das hier zu 
sehen ist:
https://github.com/donskytech/raspberry-pi-pico-w-wifi-robot-car

Das hat die Vorteile, dass sich die Schüler erst gar keine spezielle App 
auf ihrem Smartphone installieren müssen - es funktioniert out of the 
box mit jedem Smartphone/Tablet/PC, man braucht auch keine zwei 
separaten Apps für Android bzw. iOS/Apple-Geräte.

Das ist dann allerdings nichts, was die Schüler im Rahmen des Kurses 
selbst programmieren, da müsste man ihnen die Software schon sofort 
einsatzbereit zur Verfügung stellen - die Schüler könnten dann aber z.B. 
wenn sie möchten noch kleine Änderungen am Source Code vornehmen, um 
beispielsweise die Optik der Steuerungs-App an eigene Vorlieben 
anzupassen.

Als Mikrocontroller wäre der im Eröffnungsposting genannte Raspberry Pi 
Pico W wohl auf jeden Fall geeignet. Persönlich habe ich mit dem keine 
Erfahrung, den scheinen ja nur relativ wenige Leute zu benutzen 
(zumindest wird er hier im Forum nur vglw. selten erwähnt) - vermutlich, 
weil es mit dem ESP32 einen Mikrocontroller gibt, der in fast jeder 
Hinsicht besser und dabei sogar günstiger ist. Mit Micropython kann man 
den auch programmieren.
Auch der Vorgänger ESP8266, der sogar noch günstiger ist, würde dafür 
ausreichen.

p.s.: Die Idee ist echt nice, hätte es sowas schon damals bei uns der 
Schule gegeben, da wäre doch jeder von uns total darauf abgefahren (Am 
besten am Ende des Projekts dann noch mit einem kleinen Rennen)

von Nemopuk (nemopuk)


Lesenswert?

Mir scheint ebenfalls ein ESP8266 oder ESP32 mit Webinterface 
angemessen. Zur Ansteuerung der Motoren könnte man H-Brücken aus jeweils 
2 Relais pro Motor  basteln. Entsprechende 4-Fach Relaisplatinen sind 
billig zu kaufen. Allerdings taugen nicht alle davon für die Ansteuerung 
mit den 3,3V vom ESP.

: Bearbeitet durch User
von W. (wodga)


Lesenswert?

@oyo @nemopuk Danke für eure Gedanken.
Das Bild mit der Kabelfernbedienung war eher als "teaser" gedacht, wir 
haben mehrere Prototypen (auch mit Servo) entwickelt die mit der 
makebot/dongle kombi schon laufen.
@nemopuk
Eine "H-Brücke" läuft im Grunde auf unsere Kabelfernbedienung mittels 
6poligem Schalter. Warum sollte man mit Relais arbeiten, das ist mir 
eher aus der stromfressenden Zeit der Elektromechanik bekannt bevor die 
Transistoren kamen? Übrigens kommt für die Motoren eh 4,5 V zum Einsatz 
zusätzliche zu den 3 V für den Mikrocontroller.

von Nemopuk (nemopuk)


Lesenswert?

W. schrieb:
> Warum sollte man mit Relais arbeiten,

Weil es einfach ist und den bisherigen Schaltern nahe kommt.

Natürlich kannst du auch halbleiter verwenden, wenn dir das lieber ist. 
Damit kann man dann auch die Drehzahl steuern.

Ich kenne dein Ziel nicht. Wenn due Leute ein bisschen Elektrik kennen 
lernen sollen, ohne sich großartig mit Halbleitern zu befassen, könnte 
die Variante mit Relais besser begreifbar sein. Vor allem, wenn du ein 
Muster mit offenen Relais hin stellst, wo man sehen und anfassen kann, 
was drin ist.

von W. (wodga)


Lesenswert?

@nemopuk ja das mit der Anschaulichkeit und Analogie zu den rein 
mechanischen Schaltern ist ein guter Gedanke.

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.