Start
Die ersten zwei Modelle der Version 1.0 wurde von Christian Heinze bzw. Eric Meyer zusammengebaut. Bei der Inbetriebnahme zeigten sich mehrere Probleme.
Das Robot Car kann über Infrarot oder Funk ferngesteuert werden oder selbständig programmgesteuert fahren.
Solche Robot Cars sollen die Grundlage für eigene Wettbewerbe werden.
- Fahre zum nächsten Nachbarn.
- Versuche möglichst keinem Nachbarn zu nahe zu kommen.
- Parkplatzsuche
- Fahren auf einer Linie
- Fahren zwischen Linien
- Fahren im Labyrinth
- Feuerwehr - ...
Bausatz
Finde die folgenden Bauteile im Bausatz:
Getriebemotoren, UNO, H-Brücke mit L298D, Bluetooth-Modul, Akku's, Reflexionslichtschranken, Infrarot-Sender, Infrarot-Empfänger, Ladeeinheit mit Kabel,
Servomotor mit Zubehör, Halterungen für Getriebemotoren, ....
Assembling Instruction - Montageanleitung
Assembling Instructions Version 1
Neben diesem Video findest du viele weitere Videos im Netz. Beispielsweise Greg Griffes: Elegoo SRC Kit
Arduino Sensor Shield V5.0 & IO expansions shield & car shield
Zum Anschluß der Aktoren und Sensoren an den Arduino wird ein Sheild verwendet.
Version 3.0: Das Car Shield - IO Expansion board
Version 2.0: Das Arduino Sensor Shield
Wire connect
Testen der elektrischen und elektronischen Komponenten
Verbinde schrittweise alle Aktoren und Sensoren mit dem Car Shield auf dem Arduino und teste deren Funktion.
Hilfestellungen findest du in den nächsten Abschnitten.
- Ultraschall Sensor Modul / Ultrasonic sensor module
- Servomotor
- Infrarot-Sender und -Empfänger
- Reflexionslichtschranken / Line tracking
- Motorsteuerung / Motor control - überprüfen
- Bluetooth - noch leer
Das Programm test-infrarot.ino empfängt Signale, die von der IR-Fernbedienung nach Tastendruck abgestrahlt werden.
Im Programm test-infrarot-tastencodes.ino werden die Tastencodes der IR-Fernbedienung in Konstanten zur Verfügung gestellt.
Siehe auch Funduino – Anleitungen: Nr. 12 Infrarotfernbedienung zur Ansteuerung von Arduino Mikrocontrollern!
Nachfolgend die Tastencodes der Fernbedienung als Dezimal-, Hexadezimal- und Binärzahl.
KEY_LINKS 16720605 FF22DD 1111 1111 0010 0010 1101 1101 KEY_HOCH 16736925 FF629D 1111 1111 0110 0010 1001 1101 KEY_RECHTS 16761405 FFC23D 1111 1111 1100 0010 0011 1101 KEY_RUNTER 16754775 FFA857 1111 1111 1010 1000 0101 0111 KEY_OK 3622325019 D7E84B1B 1101 0111 1110 1000 0100 1011 0001 1011 KEY_1 16738455 FF6897 1111 1111 0110 1000 1001 0111 KEY_2 16750695 FF9867 1111 1111 1001 1000 0110 0111 KEY_3 16756815 FFB04F 1111 1111 1011 0000 0100 1111 KEY_4 16724175 FF30CF 1111 1111 0011 0000 1100 1111 KEY_5 16718055 FF18E7 1111 1111 0001 1000 1110 0111 KEY_6 16743045 FF7A85 1111 1111 0111 1010 1000 0101 KEY_7 16716015 FF10EF 1111 1111 0001 0000 1110 1111 KEY_8 16726215 FF38C7 1111 1111 0011 1000 1100 0111 KEY_9 16734885 FF5AA5 1111 1111 0101 1010 1010 0101 KEY_0 16730805 FF4AB5 1111 1111 0100 1010 1011 0101 KEY_STERN 16728765 FF42BD 1111 1111 0100 0010 1011 1101 KEY_RAUTE 16732845 FF52AD 1111 1111 0101 0010 1010 1101
Motorsteuerung mit L293 Modul / Motor control
Für das Testen der Motoren wollen wir uns etwas mehr Zeit nehmen, um die Motorsteuerung und das Testen der Programme zu verstehen.
Die TinkerCAD Circuits Aufgabe
Motorsteuerung mit Relais und
H-Brücke L293D
können dein Verständnis für die Motorsteuerung verbessern.
Stelle dein Robot Car mit der Unterseite des Chassis auf eine geeignete stabile Unterlage, so dass die vier Räder keinen Bodenkontakt mehr haben.
Diesen Aufbau werden wir ab jetzt sehr oft zur Fehlersuche und zum Testen der Hardware und deiner Programme nutzen. So kann das Car mit dem Computer per USB-Kabel verbunden bleiben und nicht versehentlich vom Tisch fahren. Es bleibt "an der Leine". Dabei lernst du auch, wie die Infrarot-Fernbedienung bzw. das Bluetooth-Modul zur Steuerung eingesetzt werden können.
- Im ersten Schritt wollen wir das Grundprinzip der Programmierung der Steuerung der beiden linken Motoren verstehen lernen.
Erweitere das vorgegebene Programm für die Steuerung der beiden rechten Motoren. - Jetzt werden wir "Gasgeben" lernen. Dazu sind im Programm einige Änderungen notwendig.
Die AusgängeENA
undENB
arbeiten nicht mehr als digitale Ausgänge, sondern sie werden als "analoge" Ausgänge betrieben. Beachte imsetup
die entsprechenden Änderungen. Weiterhin werden diese Ausgänge nicht mehr mitdigitalWrite()
sondern mitanalogWrite()
angesteuert. Die Werte inanalogWrite()
dürfen nur im Bereich von 0 bis 255 liegen.
- Lerne am folgenden Beispiel, wie die Änderung der Geschwindigkeit über den seriellen Monitor zu verändern. Die einzugebenden Zeichen für die Änderungen kannst du natürlich selbst festlegen.
- Wenn die Geschwindigkeit in einem bestimmten Bereich liegt, zeigt der Motor keine merkliche Reaktion oder läuft sehr unregelmäßig.
Deshalb sollte der Betrag der Geschwindigkeitv
einen Mindestwertvmin
erreichen, wenn der Fahrbefehl ausgeführt wird.
- im nächsten Schritt bauen wir beide Programmteile zusammen:
Die Lektion: Motoren ... brauchst du nicht zu lesen.
Bluetooth
Nachfolgend einige Schritte zum Testen und Verstehen der BT-Verbindung.
- Ziehe das Bluetooth-Modul (BT-Modul) vom Car Shield und verbinde den ELEGOO UNO R3 mit aufgestecktem Shield per USB mit deinem PC.
- Mach dich mit folgendem Programm vertraut und übertrage es auf den UNO.
- Starte den Seriellen Monitor in deiner Programmierumgebung.
Das Programm auf dem UNO wird neu gestartet und es wird 'Bluetooth-Test' im Anzeigebereich des Seriellen Monitor ausgegeben. Dies hat der UNO durch unser Programm an die serielle Schnittstelle gesendet.- Gib nun das Zeichen 'a' im Eingabebereich des Seriellen Monitors ein, also Zeichen tippen und Eingabetaste drücken oder auf Senden klicken. Beobache die LED auf dem Shield.
- Wiederhole den Vorgang mehrfach.
- Gib nun die Zeichenfolge 'aaaaaa' im Eingabebereich des Seriellen Monitors ein und beobache die LED auf dem Shield.
- Ändere das Programm: Mit der Taste 'x' soll die LED eingeschalten und mit der Taste 'o' ausgeschalten werden.
Teste das Programm.
- Schliesse nun das Fenster des Seriellen Monitors. Ziehe das USB-Kabel vom UNO bzw. vom PC.
Stecke das Bluetooth-Modul auf das Shield in die ausgewiesene Buchse und verbinde nun den UNO wieder mit dem PC.
Führe die folgenden Schritt auf einem Handy, Tablett, Laptop oder PC (mit angestecktem Bluetooth-Dongle) als Gegenstelle für die Kommunikation deines Robot Cars aus.
Beachte: Das BT-Modul auf dem Shield ist ein BLE-Modul und dies könnte für deine Gegenstelle ein Problem sein, weil dein ausgewähltes Gerät die BLE-Technologie nicht unterstützt.- Installiere darauf das "ELEGOO BLE BLUETOOTH Tool" als BLE Terminal, welches du je nach deiner Gegenstelle aus dem 'Google Play Store' oder 'Apple App Store' beziehst.
Es ist aber auch jedes BLE Terminal mgölich. - Aktiviere auf deinem Gerät Bluetooth und suche das BT-Gerät 'HC-08'. So heißt dein BT-Modul, wenn es noch nicht verändert wurde.
- Verbinde dich im im BLE Terminal mit deinem Modul.
- Gib das Zeichen 'a' oder die Zeichenfolge 'aaaaaa' im Eingabebereich des Seriellen Monitors ein und beobache die LED auf dem Shield.
Wenn du deinem Programm weitere Buchstaben als Befehl zugeordnet hast, sollten diese jetzt auch funktionieren.
- Installiere darauf das "ELEGOO BLE BLUETOOTH Tool" als BLE Terminal, welches du je nach deiner Gegenstelle aus dem 'Google Play Store' oder 'Apple App Store' beziehst.
-
BT-Modul programmieren und BT-Modul mit Seriellem Monitor gemeinsam nutzen
WICHTIG: Die Programmierung erfolgte bisher nur über den Seriellen Monitor. Beachte die Einstellung für Zeilenende/Zeilenumbruch, es dürfen dafür keine Zeichen gesendet werden.
Auf meinem iPhone kann ich diese Option nicht einstellen. Andere BLE-Geräte konnte ich bisher nicht testen. - Kommunikation zwischen den BT-Modulen - in Arbeit
Lektion: Bluetooth Car in englischer Sprache, trotzdem hilfreich
Systemtest
Verwende für die folgenden Abschnitte den Versuchsaufbau aus dem Abschnitt Motorsteuerung mit L293 Modul / Motor control. Das BT-Modul wird nicht aufgesteckt und bleibt vorläufig in der Bauteile-Box des Cars.
Das Car liegt somit an der Leine, sprich: Es ist aufgebockt mit dem PC über das USB-Kabel verbunden. Der Serielle Monitor übernimmt Funktionen des Bluetooth-Moduls und du die Funktion des Programm auf dem BT-Gerät, welches später dein Car steuern wird. Du entscheidest, welche Befehle das Car ausführen wird, und reagierst auf die Informationen, die auf dem Seriellen Monitor angezeigt werden. Und natürlich wird das Programm auf dem UNO auch selbst Entscheidungen geben müssen und dich über die eingegangenden Daten und die daraus abgeleiteten Entscheidungen Informieren.
Hier sit eine erste Version:
Beispielprogramme
Hier ist die neue Version 2018-01-07
Hier ist die Version 2017-12
- Eric hat folgenden Idee für die Steuerung des Robot Cars mit der IR-Fernbedienung.
Die Tasten 2,5,8 schalten in jeweils in eine von drei Geschwindigkeitsstufen.
Die vier Pfeiltasten legen die Bewegungsrichtung fest.
Die Tasten 1,4 und 7 geben die Kurvenstärke in drei Schritten an.