Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

In den Vorherigen Berichten wurde auf den ESP32-CAM im Detail eingegangen. Du hast erfahren wie dieser über den USB Serial Adapter am PC angeschlossen wird und wie das Beispielprogramm CameraWebServer aufgespielt wird. Im Anschluss ging es dann um den Bau des Roboter Autos und die Verkabelung. Jetzt sollte alles soweit technisch funktionieren und daher geht es in diesem Artikel darum die Motoren anzusteuern und einen Text auf dem OLED Display auszugeben.

Damit dass alles funktionieren kann müssen noch zwei Bibliotheken in der Arduino IDE eingespielt werden. Diese sind notwendig um den Servo Kontroller ansteuern zu können und um einen Text auf dem OLED Display ausgeben zu können.

Arduino IDE – PCA9685 Servo Kontroller Bibliothek installieren

Damit der Servo Kontroller programmiert werden kann der wiederum den Motortreiber steuert muss noch die passende Bibliothek dafür installiert werden. Diese trägt den Namen Adafruit PWM Servo und nach genau diesem Namen muss wieder gesucht werden.

Hinweis: Wie genau Bibliotheken in der Arduino Entwicklungsumgebung installiert werden können ist im folgenden Bericht Roboter bauen mit dem ESP8266 Entwicklungsboard – Arduino Entwicklungsumgebung einrichten bereits ausführlich erklärt.

Bei der Installation der Adafruit PWM Servo bitte wieder genau gleich vorgehen wie in dem oben genannten Artikel beschrieben.

Das folgende Bild zeigt kurz die Suche im Management Menü für die Bibliotheken. Wenn die richtige Bibliothek gefunden wurden diese durch drücken auf den Button Installieren jetzt installieren.

Arduino IDE Bibliothek Adafruit PWM Servo

Arduino IDE Bibliothek Adafruit PWM Servo

Arduino IDE – OLED Display Bibliothek installieren

Damit das OLED Display von eurem Programm aus angesprochen werden kann muss noch die dafür benötigte Bibliothek installiert werden. Hier gilt wieder genau das gleiche Vorgehen wie für die Servo Kontroller Bibliothek.

Sucht bitte nach der OLED Display Bibliothek mit dem folgenden Stichwort “ESP32 OLED” und installiert diese auf eurem PC in der Arduino Entwicklungsumgebung. Nachfolgend ist noch ein Bild zu sehen wie das Suchergebnis aussehen sollte.

ESP8266 NodeMCU OLED Display SSD1306 ESP8266_NodeMCU_OLED_Display_SSD1306 software

ESP8266 NodeMCU OLED Display SSD1306

Ab jetzt seit ihr in der Lage die beiden Bibliothek zu verwenden und könnt auf dem Display Text anzeigen lassen oder den Servo Kontroller ansteuern.

Die aktuelle IP-Adresse auf dem OLED Display ausgeben

Als Basis für dieses Beispiel wird das bereits bekannte Beispielprogramm CameraWebServer etwas modifiziert. Es wird zu Beginn die Bibliothek für das OLED Display geladen, ein paar Variablen für den I2C Bus definiert und das OLED Display initialisiert. Weiter gibt es dann noch die Funktion “void drawIP(String MyIP)” welche die IP-Adresse auf das OLED Display zeichnet. Ich dachte mir es wäre geschickt wenn auf dem OLED Display die IP Adresse des ESP32-CAM ausgeben wird um einfacher den Videostream aufrufen zu können. Die kleinen Anpassungen sind im Programm soweit durch Kommentare ersichtlich gemacht und umfassen wirklich nur ein paar Zeilen Code.

Ich wünsche viel Spaß beim ausprobieren des Programmes und eventuell bei Anpassungen der Anzeige entsprechend der Position und vielleicht auch vom Inhalt des Textes.

Download: CameraWebServer OLED

Hinweis: Es wird nur eine IP-Adresse angezeigt wenn sich auch der ESP32-CAM mit einem WIFI Netz verbunden hat. Andernfalls wird nichts im Display angezeigt. Hier kannst Du ja als kleine Erweiterung des Programmes z. B. eine Meldung ausgeben “No WIFI found”.

Starten der Motoren des Roboter Autos

Wie die Ansteuerung des Servo Kontrollers funktioniert erfahrt ihr im nachfolgenden Abschnitt anhand einem kleinen Beispielprogramm das entsprechend im Quellcode dokumentiert wurde. Etwas mehr gibt es z. B. im Bericht Roboter bauen mit dem ESP8266 Entwicklungsboard – Servo Motor Steuerung über die Ansteuerung des Servo Kontrollers zu erfahren.

Jetzt folgt als Download das kleine Testprogramm das die Motoren des Roboter Autos drehen lässt und auf dem vorherigen zum OLED Display aufsetzt. Das Programm aktiviert lediglich die Motoren und die IP-Adresse wird auf dem OLED Display angezeigt.

Download: CameraWebServer robo

Nach dem Aufspielen des Programmes auf den ESP32-CAM und einem Reset dessen sollte das Roboter Auto jetzt losfahren.

Zusammenfassung

Mit diesem Artikel und den kleinen Programmanpassungen sind alle Bausteine soweit vorgestellte, dass das Roboter Auto grundsätzlich fahren kann. Bis jetzt fährt es nur gerade aus und hält nicht an da noch eine Steuerung fehlt. Die fehlende Steuerung kann z. B. über eine Weboberfläche realisiert werden mit ein paar Buttons. Eine Idee die ich verfolgen werde ist die Anpassung der Weboberfläche des Programmes CameraWebServer oder vielleicht auch um ein komplett neues Programm für die Steuerung des Roboter Auts. Wie es genau umgesetzt wird erfährst Du im nächsten Artikel dieser Serie.


Artikel Übersicht ESP32-CAM Roboter Auto:

ESP32-CAM Roboter Auto mit live Video Stream selber bauen - Projekt Start
ESP32-CAM Roboter Auto mit live Video Stream selber bauen - Entwicklungsumgebung einrichten
ESP32-CAM Roboter Auto mit live Video Stream selber bauen - USB-Serial Adapter Verkabelung
ESP32-CAM Roboter Auto mit live Video Stream selber bauen - Live Video Streaming Software aufspielen
ESP32-CAM Roboter Auto mit live Video Stream selber bauen - Baue Dein Chassis
ESP32-CAM Roboter Auto mit live Video Stream selber bauen – Verkabelung allgemein
ESP32-CAM Roboter Auto mit live Video Stream selber bauen – Verkabelung des I²C Hubs
ESP32-CAM Roboter Auto mit live Video Stream selber bauen – Roboter Auto Beispielprogramme
(Visited 52 times, 4 visits today)