- Erforderliche Komponenten:
- Erstellen einer Schnittstelle für Roboter mit der RemoteXY-App:
- Schaltplan und Erklärung:
- Code Erläuterung:
- Wie man es ausführt:
In diesem Artikel steuern wir das Roboterauto über den G-Sensor unseres Mobiltelefons. Sie können den Roboter nur durch Kippen des Telefons bewegen. Wir werden auch die Arduino- und RemoteXY-App für diesen G-Sensor-gesteuerten Roboter verwenden. Die RemoteXY-App wird verwendet, um die Schnittstelle im Smartphone zur Steuerung des Roboters zu erstellen. Wir werden den Joystick in die Benutzeroberfläche einfügen, damit der Roboter sowohl vom Joystick als auch durch Kippen des Telefons gesteuert werden kann.
Der G-Sensor oder Schwerkraftsensor ist im Grunde ein Beschleunigungsmesser im Smartphone, mit dem die Bildschirmausrichtung des Telefons gesteuert wird. Der Beschleunigungsmesser erfasst die X-, Y- und Z-Richtungen der Gravitationskraft und dreht den Bildschirm entsprechend der Ausrichtung des Telefons. Heutzutage wird in Mobiltelefonen ein empfindlicherer und genauerer Gyroskopsensor verwendet, um die Ausrichtung des Bildschirms zu bestimmen. In unserem Projekt bewegt sich das Roboterauto entsprechend der Richtung, in die das Telefon gekippt wird, z. B. wenn wir das Telefon nach vorne kippen, dann bewegt sich das Auto vorwärts und wir kippen es nach unten, dann bewegt sich das Auto rückwärts. Dies ist das gleiche wie bei einigen Autospielen in Mobile. Sie verwenden auch einen G-Sensor, um das Auto entsprechend zu bewegen. Überprüfen Sie das Video am Ende, überprüfen Sie auch unsere anderen Robotikprojekte hier.
Erforderliche Komponenten:
- Zweirad-Roboter-Auto-Chassis
- Arduino UNO
- L298N Motorsteuerung
- HC-06 Bluetooth-Modul (HC-05 funktioniert auch)
- Stromversorgung oder Zellen
- Kabel anschließen
Erstellen einer Schnittstelle für Roboter mit der RemoteXY-App:
Um die Schnittstelle zur Steuerung des Roboterautos mit der RemoteXY-App zu erstellen, müssen Sie zum folgenden Link gehen
remotexy.com/de/editor/ Die Webseite sieht folgendermaßen aus
Nehmen Sie dann auf der linken Seite des Bildschirms die Umschalttaste und den Joystick und platzieren Sie sie in der mobilen Oberfläche. Der Knopf schaltet das Licht an Pin 13 ein, der intern im Arduino angeschlossen ist, und der Joystick bewegt das Roboterauto. Die Webseite nach dem Platzieren des Schalters und des Joysticks sieht folgendermaßen aus.
Dann müssen wir die Schaltfläche zum Aktivieren / Deaktivieren des G-Sensors zusammen mit dem Joystick platzieren, damit wir das Roboterauto bewegen können, indem wir das Telefon nach links, rechts, oben und unten kippen. Mit dieser Taste können wir den G-Sensor aktivieren und deaktivieren, wenn der G-Sensor deaktiviert ist. Das Auto kann durch Bewegen des Joysticks gesteuert werden. Um die Schaltfläche zum Aktivieren / Deaktivieren des G-Sensors zu platzieren, klicken Sie auf den Joystick, den Sie in der Benutzeroberfläche platziert haben. Auf der linken Seite befindet sich ein Eigenschaftenbereich. Am Ende befindet sich eine Option zum Platzieren der Schaltfläche des G-Sensors in der Nähe des Joysticks. Platzieren Sie also die G-Sensortaste, wo immer Sie möchten. Die Webseite danach sieht so aus.
Klicken Sie anschließend auf die Schaltfläche „Quellcode abrufen“ und speichern Sie ihn auf Ihrem Computer. Laden Sie die Bibliothek von hier herunter und speichern Sie sie im Arduino-Bibliotheksordner. Kompilieren Sie den heruntergeladenen Code, um sicherzustellen, dass keine Fehler vorliegen. Dies ist nicht der Code, mit dem der Roboter ausgeführt wird, aber er hilft bei der Verwendung der App mit dem Arduino. Laden Sie die App von hier herunter oder gehen Sie in den Play Store und laden Sie von dort die RemoteXY-App für Ihr Android-Smartphone herunter.
Schaltplan und Erklärung:
Zunächst werden wir den L298N-Motorcontroller mit dem Arduino verbinden. Verbinden Sie den ENA- und ENB-Pin der Motorsteuerung mit dem Arduino-Pin 12 bzw. 11. Diese beiden Pins dienen zur PWM-Steuerung des Motors. Mit diesen Stiften können wir die Geschwindigkeit des Autos erhöhen oder verringern. Verbinden Sie dann IN1, IN2, IN3 und IN4 mit den Arduino-Pins 10, 9, 8 bzw. 7. Diese Stifte drehen die Motoren in beide Richtungen (im Uhrzeigersinn und gegen den Uhrzeigersinn).
Um den Motor mit Strom zu versorgen, verbinden Sie den Plus- und Minuspol der Batterie mit den 12 V und der Masse der Motorsteuerung. Verbinden Sie dann die 5 V und die Masse von der Motorsteuerung mit dem Arduino Vin und der Masse.
Dann verbinden wir das Bluetooth-Modul HC-06 mit dem Arduino. Wenn Sie HC-05 haben, funktioniert es auch. Verbinden Sie das VCC und die Erdung des Bluetooth-Moduls mit den 5 V und der Erdung des Arduino. Verbinden Sie dann den TX-Pin des Bluetooth-Moduls mit Pin 2 von Arduino und den RX-Pin mit Pin 3 von Arduino. Überprüfen Sie auch das Bluetooth-gesteuerte Spielzeugauto mit Arduino, um mehr über die Verwendung von Bluetooth mit Arduino zu erfahren.
Code Erläuterung:
Der vollständige Arduino-Code für dieses mobile gesteuerte Roboterauto ist unten im Abschnitt Code angegeben. Hier erfahren Sie, wie dieser Code funktioniert.
Zunächst haben wir die Bibliotheken für Software Serial und RemoteXY aufgenommen. Die RemoteXY-Bibliothek hilft uns beim Einstellen der App mit Arduino, über die wir das Roboterauto steuern. Danach haben wir die Pins für das Bluetooth-Modul definiert. TX vom Bluetooth-Modul ist mit dem Pin 2 von Arduino verbunden, der der RX-Pin von Arduino ist, und der RX vom Bluetooth-Modul ist mit dem Pin 3 des Arduino verbunden ist der TX-Pin von Arduino und stellt die Baudrate des Bluetooth-Moduls auf 9600 ein.
#define REMOTEXY_MODE__SOFTWARESERIAL #include
Der folgende Code erhöht oder verringert die Motordrehzahl. Wenn sich der Joystick in der Mitte befindet, ist die Geschwindigkeit Null und wenn er in Vorwärtsrichtung ist, erhöht sich die Geschwindigkeit von Null auf 100. Die Geschwindigkeit wird von 0 auf -100 verringert, wenn sich das Auto in der Richtung bewegt umgekehrte Richtung. Das Auto kann auch mit einer bestimmten Geschwindigkeit bewegt werden, dies kann durch Geben des PWM-Signals erfolgen. Das PWM-Signal wird entsprechend der Drehung des Joysticks an die Motoren gegeben.
if (motor_speed> 100) motor_speed = 100; if (motor_speed <-100) motor_speed = -100; if (motor_speed> 0) {digitalWrite (Zeiger, HIGH); digitalWrite (Zeiger, LOW); analogWrite (Zeiger, motor_speed * 2.55); } else if (motor_speed <0) {digitalWrite (Zeiger, LOW); digitalWrite (Zeiger, HIGH); analogWrite (Zeiger, (-motor_speed) * 2,55); } else {digitalWrite (Zeiger, LOW); digitalWrite (Zeiger, LOW); analogWrite (Zeiger, 0); }}
Im folgenden Code haben wir die Funktion definiert, die aufgerufen wird, wenn wir den Joystick in der App bewegen. Wenn wir den Schalter in der App einschalten, wird die Logik 1 an den Pin 13 des Arduino übergeben, der den LED-Pin einschaltet. Während Sie das Roboterauto vorwärts und rückwärts bewegen, wird die Geschwindigkeitsfunktion aufgerufen.
void loop () {RemoteXY_Handler (); digitalWrite (ledpin, (RemoteXY.switch_1 == 0)? LOW: HIGH); Geschwindigkeit (first_motor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); Geschwindigkeit (zweiter_Motor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); }}
Wie man es ausführt:
Fügen Sie die Bibliothek des RemoteXY zu den Arduino-Bibliotheken hinzu und laden Sie den Code in die Arduino-IDE hoch. Laden Sie dann die App auf Ihr Mobiltelefon herunter und schalten Sie Bluetooth ein. Die Oberfläche der App sieht folgendermaßen aus
Gehen Sie dann zu Bluetooth und schalten Sie dort Bluetooth ein. Nach dem Einschalten werden die Bluetooth-Geräte angezeigt. Wählen Sie dort Ihr HC-06 Bluetooth-Modul aus, um zur Schnittstelle zu gelangen, von der aus Sie das Roboterauto steuern können.
So können wir den Schwerkraftsensor in unserem Mobiltelefon verwenden, um den Roboter zu bewegen. Sie können weiter experimentieren und eine interessantere Verwendung des G-Sensors finden, um die äußeren Dinge zu steuern, indem Sie einen Microcontorller dazwischen anschließen (wie Arduino).