Inhaltsverzeichnis:
- Schritt 1: Ausrüstungen
- Schritt 2: Bilddatei des Stromlaufplans
- Schritt 3: Fritzing-Datei des Schaltplans
- Schritt 4: Sendercode
- Schritt 5: Empfängercode
- Schritt 6: INO-Dateien
- Schritt 7: Verknüpfung von Bibliotheken
Video: Gestengesteuertes drahtloses Auto - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
In diesem Tutorial werden wir lernen, wie man ein gestengesteuertes Auto oder einen Roboter baut. Dieses Projekt hat zwei Teile, ein Teil ist die Sendereinheit und der andere Teil ist die Empfängereinheit. Die Sendereinheit wird tatsächlich an Handschuhen montiert und die Empfängereinheit wird in einem Auto oder einem Roboter platziert. Jetzt ist es an der Zeit, ein schönes Auto zu bauen. Lass uns gehen!
Schritt 1: Ausrüstungen
Sendeeinheit
1. Arduino-Nano.
2. MPU6050 Sensormodul.
3. HF-Sender mit 433 MHz.
4. Jede Art von 3-Zellen, 11,1-Volt-Batterie (Hier habe ich eine Knopfzelle verwendet).
5. Vero-Board.
6. Handschuhe.
Empfängereinheit
1. Arduino Nano oder Arduino Uno.
2. L298N-Motortreibermodul.
3. 4-Rad-Roboterrahmen einschließlich Motoren.
4. RF 433 RF-Empfänger.
5. 3 Zellen, 11,1 Volt Li-Po-Akku.
6. Vero-Board.
Andere
1. Klebestifte und Pistole.
2. Jumperdrähte.
3. Schraubendreher
4. Lötkit.
usw.
Schritt 2: Bilddatei des Stromlaufplans
Schritt 3: Fritzing-Datei des Schaltplans
Schritt 4: Sendercode
#enthalten
#enthalten
#enthalten
MPU6050 mpu6050 (Draht);
langer Timer = 0;
char *Controller;
Void-Setup ()
{ Serial.begin (9600); Wire.begin(); mpu6050.begin(); mpu6050.calcGyroOffsets(true); vw_set_ptt_inverted (wahr); // vw_set_tx_pin(10); vw_setup(4000); // Geschwindigkeit der Datenübertragung Kbps
}
Leere Schleife ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update();
if(millis() - Timer > 1000)
{ Serial.println("=========================================== ==========="); Serial.print ("temp: "); Serial.println (mpu6050.getTemp()); Serial.print ("accX: "); Serial.print (mpu6050.getAccX ()); Serial.print("\taccY:");Serial.print(mpu6050.getAccY()); Serial.print ("\taccZ: "); Serial.println (mpu6050.getAccZ()); Serial.print ("gyroX: "); Serial.print (mpu6050.getGyroX ()); Serial.print ("\tgyroY: "); Serial.print (mpu6050.getGyroY()); Serial.print("\tgyroZ:"); Serial.println(mpu6050.getGyroZ()); Serial.print ("accAngleX: "); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\taccAngleY: "); Serial.println (mpu6050.getAccAngleY()); Serial.print ("gyroAngleX: "); Serial.print (mpu6050.getGyroAngleX()); Serial.print ("\tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY()); Serial.print ("\tgyroAngleZ: "); Serial.println (mpu6050.getGyroAngleZ()); Serial.print ("angleX: "); Serial.print (mpu6050.getAngleX()); Serial.print ("\tangleY: "); Serial.print (mpu6050.getAngleY()); Serial.print ("\tangleZ: "); Serial.println (mpu6050.getAngleZ()); Serial.println("=========================================== ==========\n"); Timer = Millis(); }
/////////////////////////////////////////////////////////////////////////////////////
if (mpu6050.getAccAngleX()30) {controller="X2"; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Warten Sie, bis die gesamte Nachricht verschwunden ist Serial.println ("FORWARD"); aufrechtzuerhalten. Sonst if (mpu6050.getAccAngleY()>40) {controller="Y1"; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Warten Sie, bis die gesamte Nachricht verschwunden ist Serial.println ("LEFT"); aufrechtzuerhalten. Sonst if (mpu6050.getAccAngleY()<-40) { controller="Y2"; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Warten Sie, bis die gesamte Nachricht verschwunden ist Serial.println ("RIGHT"); } else if (mpu6050.getAccAngleX()-10 && mpu6050.getAccAngleY()-10) { controller="A1"; vw_send((uint8_t *)controller, strlen(controller)); vw_wait_tx(); // Warten Sie, bis die gesamte Nachricht verschwunden ist Serial.println ("STOP"); } }
Schritt 5: Empfängercode
#enthalten
int LA = 3;
intLB = 11; intRA = 5; intRB = 6; Void setup () { Serial.begin (9600); vw_set_ptt_inverted (wahr); // Erforderlich für DR3100 vw_set_rx_pin (12); vw_setup(4000); // Bits pro Sekunde pinMode (13, OUTPUT); pinMode (LA, AUSGANG); pinMode (LB, AUSGANG); pinMode (RA, AUSGANG); pinMode (RB, AUSGANG); vw_rx_start(); // Starten Sie die Empfänger-PLL mit Serial.println ("Alles OK");
}
Void Schleife () { uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Nicht blockierend
{if ((buf[0]=='X')&&(buf[1]=='1')) {Serial.println("BACKWARD"); rückwärts(); Verzögerung (100); //aus(); aufrechtzuerhalten. Sonst if ((buf[0]=='X')&&(buf[1]=='2')) {Serial.println("FORWARD"); nach vorne(); Verzögerung (100); //aus(); }
else if((buf[0]=='Y')&&(buf[1]=='1'))
{Serial.println("LINKS"); links(); Verzögerung (100); //aus(); }
else if((buf[0]=='Y')&&(buf[1]=='2'))
{Serial.println ("RECHTS"); rechts(); Verzögerung (100); //aus(); aufrechtzuerhalten. Sonst if ((buf[0]=='A')&&(buf[1]=='1')) {Serial.println("STOP"); aus(); Verzögerung (100); } } else {Serial.println ("Kein Signal empfangen"); } }
nicht weiterleiten()
{ analogWrite (LA, 70); analogWrite (LB, 0); analogWrite(RA, 70); analogWrite (RB, 0); }
Void rückwärts ()
{ analogWrite (LA, 0); analogWrite(LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
Leere links ()
{ analogWrite (LA, 0); analogWrite(LB, 70); analogWrite(RA, 70); analogWrite (RB, 0); }
ungültig rechts ()
{ analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
nichtig aus ()
{ analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Schritt 6: INO-Dateien
Schritt 7: Verknüpfung von Bibliotheken
Virtual Wire Library:
MPU6050_tockn Libraby:
Drahtbibliothek:
Empfohlen:
Smartphone-gesteuertes Auto bauen – wikiHow
Wie man ein Smartphone-gesteuertes Auto macht: Jeder liebt es, mit einem Smartphone-gesteuerten Fernauto zu spielen. In diesem Video geht es darum, wie man es macht
Arduino Auto-Rückfahrwarnsystem - Schritt für Schritt: 4 Schritte
Arduino Auto-Rückfahrwarnsystem | Schritt für Schritt: In diesem Projekt entwerfe ich eine einfache Arduino-Auto-Rückwärts-Parksensorschaltung mit Arduino UNO und dem Ultraschallsensor HC-SR04. Dieses Arduino-basierte Car-Reverse-Warnsystem kann für eine autonome Navigation, Roboter-Ranging und andere Entfernungsr
Ein Bluetooth-gesteuertes RC-Auto zu Hause bauen – wikiHow
So bauen Sie ein Bluetooth-gesteuertes RC-Auto zu Hause: Erfahren Sie, wie Sie ein einfaches SmartPhone-gesteuertes Roboterauto mit Arduino und sehr einfachen elektronischen Komponenten bauen
Auto Ph: 11 Schritte
Auto Ph: Hallo, ich bin ein MCT-Student aus Howest Belgium. Wollten Sie schon immer die Ph in Ihrem Pool/Jacuzzi/Whirlpool automatisieren? Dann könnte dies etwas für Sie sein. Ich habe ein Gerät entwickelt, das den pH-Wert automatisch anpasst
So bauen Sie ein Air Racer-Auto – wikiHow
Wie man ein Air Racer-Auto baut: Wegen des Coronavirus kann ich nicht nach draußen gehen und etwas herstellen oder kaufen. Dies war eines meiner Schulprojekte und ich werde versuchen, die von meiner Schule und mir zur Verfügung gestellten Masterfolien zu verwenden, um Ihnen bei der Erstellung zu helfen . Das ist ziemlich einfach, aber Sie müssen einige