Inhaltsverzeichnis:
- Schritt 1: Was Sie in diesem Projekt benötigen:
- Schritt 2: Schaltplan
- Schritt 3: Programmierung von Arduino UNO
- Schritt 4: Großartig
Video: Wie erstelle ich einen DIY-Arduino-Hindernisvermeidungsroboter zu Hause - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Hallo Leute, In diesem Instructable machen Sie ein Hindernis, das Roboter vermeidet. Dieses Instructable beinhaltet den Bau eines Roboters mit einem Ultraschallsensor, der nahe gelegene Objekte erkennen und ihre Richtung ändern kann, um diese Objekte zu vermeiden. Der Ultraschallsensor wird an einem Servomotor befestigt, der ständig links und rechts nach Objekten im Weg sucht.
Also, ohne weitere Umschweife, los geht's!
Schritt 1: Was Sie in diesem Projekt benötigen:
Hier ist die Teileliste:
1) Arduino Uno
2) Motortreiberschild
3) Getriebemotor, Rahmen und Rädersatz
4) Servomotor
5) Ultraschallsensor
6) Lithium-Ionen-Akku (2x)
7) Batteriehalter
8) Männlicher und weiblicher Überbrückungsdraht
9) Lötkolben
10) Ladegerät
Schritt 2: Schaltplan
Arbeiten:
Bevor Sie mit der Arbeit an dem Projekt beginnen, ist es wichtig zu verstehen, wie der Ultraschallsensor funktioniert. Das Grundprinzip der Funktionsweise des Ultraschallsensors ist wie folgt:
Mit einem externen Triggersignal wird der Trig-Pin des Ultraschallsensors für mindestens 10 µs auf logisch hoch gesetzt. Ein Schallimpuls vom Sendermodul wird gesendet. Dieser besteht aus 8 Impulsen von 40KHz.
Die Signale kehren nach dem Auftreffen auf eine Oberfläche zurück und der Empfänger erkennt dieses Signal. Der Echo-Pin ist ab dem Zeitpunkt des Sendens des Signals und des Empfangens hoch. Diese Zeit kann durch entsprechende Berechnungen in Entfernung umgerechnet werden.
Das Ziel dieses Projekts ist es, einen Roboter mit Ultraschallsensor und Arduino zu implementieren, der Hindernisse ausweicht. Alle Anschlüsse erfolgen nach Schaltplan. Im Folgenden wird die Arbeitsweise des Projekts erläutert.
Wenn der Roboter eingeschaltet ist, laufen beide Motoren des Roboters normal und der Roboter bewegt sich vorwärts. Während dieser Zeit berechnet der Ultraschallsensor kontinuierlich den Abstand zwischen Roboter und reflektierender Oberfläche.
Diese Informationen werden vom Arduino verarbeitet. Wenn der Abstand zwischen dem Roboter und dem Hindernis weniger als 15 cm beträgt, stoppt der Roboter und scannt mit Servomotor und Ultraschallsensor nach links und rechts nach der neuen Entfernung. Wenn der Abstand zur linken Seite größer ist als der zur rechten Seite, bereitet sich der Roboter auf eine Linkskurve vor. Aber zuerst fährt es ein wenig zurück und aktiviert dann den linken Radmotor in umgekehrter Richtung.
Wenn der rechte Abstand größer ist als der linke Abstand, bereitet der Roboter eine Rechtsdrehung vor. Dieser Vorgang dauert ewig und der Roboter bewegt sich weiter, ohne auf ein Hindernis zu stoßen.
Schritt 3: Programmierung von Arduino UNO
#enthalten
#enthalten
#enthalten
# TRIG_PIN A1 definieren
# ECHO_PIN A0 definieren
# MAX_DISTANCE 200. definieren
# define MAX_SPEED 255 // Setzt die Geschwindigkeit von DC-Motoren
# definiere MAX_SPEED_OFFSET 20
NewPing-Sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ); Servo-Myservo;
boolean goesForward = false;
int-Abstand = 100; int speedSet = 0;
Leere Einrichtung () {
myservo.attach(10);
myservo.write(115); Verzögerung (2000); Abstand = readPing(); Verzögerung (100); Abstand = readPing(); Verzögerung (100); Abstand = readPing(); Verzögerung (100); Abstand = readPing(); Verzögerung (100); }
Leere Schleife () {
int-AbstandR = 0; int-AbstandL = 0; Verzögerung (40);
if (Abstand <= 15) { moveStop(); Verzögerung (100); rückwärts bewegen(); Verzögerung (300); moveStop(); Verzögerung (200); distanceR = lookRight(); Verzögerung (200); AbstandL = lookLeft(); Verzögerung (200);
if (AbstandR >= AbstandL) {
Biegen Sie rechts ab(); moveStop(); aufrechtzuerhalten. Sonst { turnLeft(); moveStop(); } } sonst { moveForward(); } Abstand = readPing(); }
int lookRight() {
myservo.write(50); Verzögerung (500); int-Abstand = readPing(); Verzögerung (100); myservo.write(115); Rückweg; }
int lookLeft() {
myservo.write(170); Verzögerung (500); int-Abstand = readPing(); Verzögerung (100); myservo.write(115); Rückweg; Verzögerung (100); }
int readPing() {
Verzögerung (70); int cm = sonar.ping_cm(); wenn (cm == 0) {cm = 250; } zurück cm; }
void moveStop() {
motor3.run (FREIGABE);
motor4.run (FREIGABE); }
void moveForward() {
if (!goesForward) {
gehtForward = wahr;
motor3.run (FOWARD);
motor4.run (FOWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet += 2) // langsam die Geschwindigkeit erhöhen, um die Batterien nicht zu schnell zu entladen {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); Verzögerung(5); } } }
void moveBackward() {
gehtForward = false;
motor3.run (RÜCKWÄRTS);
motor4.run (RÜCKWÄRTS); for (speedSet = 0; speedSet < MAX_SPEED; speedSet += 2) // langsam die Geschwindigkeit erhöhen, um die Batterien nicht zu schnell zu entladen {
motor3.setSpeed (speedSet);
motor4.setSpeed (speedSet); Verzögerung(5); } }
void turnRight() {
motor3.run (FOWARD);
motor4.run (RÜCKWÄRTS); Verzögerung (500);
motor3.run (FOWARD);
motor4.run (FOWARD); }
void turnLeft() {
motor3.run (RÜCKWÄRTS);
motor4.run (FOWARD); Verzögerung (500);
motor3.run (FOWARD);
motor4.run (FOWARD); }
1) Laden Sie die Arduino Desktop-IDE herunter und installieren Sie sie
- Windows -
- Mac OS X -
- Linux -
2) Laden Sie die NewPing-Bibliotheksdatei (Ultraschallsensorfunktionsbibliothek) herunter und fügen Sie sie in den Arduino-Bibliotheksordner ein.
- Laden Sie die NewPing.rar unten herunter
- Extrahieren Sie es in den Pfad - C:\Arduino\libraries
3) Laden Sie den Code über ein USB-Kabel auf das Arduino-Board hoch
Download-Code:
Schritt 4: Großartig
Jetzt ist Ihr Roboter bereit, jedem Hindernis auszuweichen…
Fragen beantworte ich gerne
E-Mail an mich: [email protected]
Website:
Abonniere meinen YouTube-Kanal:
Instagram:
Facebook:
Danke schön:)
Empfohlen:
Wie erstelle ich einen Schrittzähler?: 3 Schritte (mit Bildern)
Wie erstelle ich einen Schrittzähler?: Früher habe ich bei vielen Sportarten gute Leistungen gezeigt: Gehen, Laufen, Fahrrad fahren, Badminton spielen usw. Ich liebe es, in Kürze herumzufahren. Nun, sieh dir meinen beleibten Bauch an……Nun, jedenfalls beschließe ich, wieder Sport zu treiben. Welche Ausrüstung soll ich vorbereiten?
Wie erstelle ich einen LED-Würfel!: 3 Schritte
Wie man einen LED-Würfel herstellt!: Ein LED-Würfel kann ein großartiges Startprojekt für einen angehenden Elektronik-Bastler oder einen Studenten sein, der versucht, die Grundlagen der Schaltung zu erlernen. Durch den Bau eines ästhetisch ansprechenden Lichtwürfels lernen Sie die grundlegenden Schaltungsaufbauten kennen, vertraut
Wie erstelle ich einen PC: 9 Schritte
So bauen Sie einen PC: Einführung: Wir gehen diese Anleitung durch, um zu lernen, wie man einen PC baut. Diese Anweisungen sind eine allgemeine Anleitung zum Anbringen bestimmter Komponenten. Sie sollten also bereits Teile ausgewählt und zum Zusammenbauen bereit haben. Bis zum
Wie erstelle ich einen Mini-PC: 4 Schritte (mit Bildern)
Wie man einen Mini-PC herstellt: Eine Geschichte, woher wir kamen: Die eine der drei klassischen Fragen der Philosophie --- Woher wir kamen, hat mich all die Jahre beschäftigt. Ich habe einmal versucht, Dinge wie einen Roman zu schreiben und habe hier eine gemäßigte Meinung zu der Frage abgegeben. Es sei
Wie erstelle ich einen FUZZ-Gitarreneffekt aus dem Aliexpress DIY-Kit: 20 Schritte (mit Bildern)
Wie man FUZZ-Gitarren-Effekt aus Aliexpress DIY-Kit macht: Ich habe DIY Fuzz-E-Gitarren-Effekt von AliExpress gekauft und es gab so bescheidene Informationen, dass ich beschlossen habe, ein Instructables für andere, weniger erfahrene Benutzer oder Käufer zu machen. Das ist also