Elegoo Robocar 4W mit einem ESP32-Modul erweitern
Dieses Auto haben wir schon seit vielen Jahren in Nutzung und haben es in C programmieren müssen.
Mehr dazu siehe unter Elegoo Smart Robot Car
Leider ist das Projekt nicht sehr erweiterbar. Ein Auto hat dazu statt einem Arduino Uno einen Arduino Mega verbaut.
Dabei ist es leider geblieben. Machen wir einen neuen Anlauf!
Mit einem zusätzlichen ESP32-Modul können wir das Fahrzeug auch in Python programmieren.
- Programme auf dem Arduino des Elegoo
- elegoo.ino (x)
- my_elegoo.h (x)
- xfunktionen.ino (x)
- zeichen_auswerten.ino (x)
- zeichenfolge_auswerten.ino (x)
- Programme auf dem ESP32-Modul
- ESP32-SoftwareSerial-Arduino-testen.py.txt (x)
- ESP32-SoftwareSerial-Arduino-testen-1.py.txt (x)
Die folgenden Programme sind in einen Ordner "elegoo" zu speichern und dann ist das Programm "elegoo.ino" mit der Arduino IDE zu öffnen und auf den Arduino des Elegoo zu übertragen.
Das Testen des Programms kann über den "Seriellen Monitor" der Arduino IDE erfolgen.
z. Bsp.: 'h' für Halt, 'w" für "Servo auf 90°", "w 120" für "drehe den Servo auf 120°", "ml -111" für "linke Seite rückwärts"
und "m 255" für "alle Motoren mit Vollgas vorwärts".
Das Testen kann ohne und mit eingeschaltem Akku-Pack erfolgen.
Danach wird Elegoo vom USB-Kabel getrennt, um dessen serielle Schnittstelle freizugeben und wie nachfolgend beschrieben mit dem ESP32-Modul verbunden.
Die Verbindung zwischen dem Arduino und dem ESP-32 erfolgt über die Pins:
GPIO16 / U2RX / IO16 ----- Level- ----- TX / 1
mit Level Konverter in beiden Verbindungen
GPIO17 / U2TX / IO17 ----- converter ----- Dx / 0
GND ------------------------ Gnd
oder nur einem Spannungsteiler zwischen RX des ESP32 (3.3V Eingang) und dem TX (5V Ausgang) des Arduino.
Das Programm auf dem Arduino wurde, auch bezüglich der seriellen Kommunikation, ausführlich getestet.
Die serielle Verbindung mit dem PC muss geschlossen oder das USB-Kabel entfernt werden.
Die Stromversorgung des Elegoo wird über den eingeschaltenen Akku-Pack gewährleistet.
Alternativ geht es auch mit angestecktem USB-Kabel, wobei dadurch die Stromversorgung der Motoren nicht gewährleistet wird.
Der Arduino darf sich nicht mit einem Programm auf dem PC seriell verbinden!
Lade das folgende Programm auf einen ESP32 D1 R32 und stelle die Verbindung zwischen dem ESP32 und dem Arduino sicher.
Nach Programmstart können die getestenen Befehle, wie "w 123", "m 255" oder "h" über die Kommandozeile von Thonny eingegeben
werden und die Sensordaten des Elegoo werden angezeigt.
Im nächsten Schritt wird das Programm auf dem ESP-Modul als Sender und Receiver für ESP-Now erweitert.