Inhaltsverzeichnis:

Einen intelligenten Roboter mit Arduino bauen – wikiHow
Einen intelligenten Roboter mit Arduino bauen – wikiHow

Video: Einen intelligenten Roboter mit Arduino bauen – wikiHow

Video: Einen intelligenten Roboter mit Arduino bauen – wikiHow
Video: Wie baut man einen Roboter? - Die Grundlagen (Arduino Tutorial #1) 2024, November
Anonim
Image
Image

Hallo,

Ich bin Arduino Maker und in diesem Tutorial zeige ich Ihnen, wie man mit Arduino einen intelligenten Roboter macht

Wenn dir mein Tutorial gefallen hat, dann erwäge, meinen YouTube-Kanal namens arduino maker zu unterstützen

Lieferungen

Dinge, die Sie brauchen:

1) arduino uno

2) Ultraschallsensor

3) Bo-Motor

4) Räder

5) Eisstangen

6) 9V Batterie

Schritt 1: ANSCHLÜSSE

KLEBEN SIE ALLE KOMPONENTEN VOR ORT
KLEBEN SIE ALLE KOMPONENTEN VOR ORT

Nachdem Sie jetzt alle Vorräte erhalten haben, sollten Sie alle Dinge gemäß dem oben angegebenen Schaltplan anschließen

Schritt 2: KLEBEN SIE ALLE KOMPONENTEN VOR ORT

OK,

Verbinden Sie nun alle Dinge wie im obigen Bild gezeigt

Schritt 3: PROGRAMMIERUNG

Jetzt,

Starten Sie die Programmierung des Boards mit dem unten angegebenen Code

//ARDUINO HINDERNISSE VERMEIDEN AUTO//// Vor dem Hochladen des Codes müssen Sie die erforderliche Bibliothek installieren// //AFMotor Library https://learn.adafruit.com/adafruit-motor-shield/library-install // // NewPing-Bibliothek https://github.com/livetronic/Arduino-NewPing// //Servo-Bibliothek https://github.com/arduino-libraries/Servo.git // // Um die Bibliotheken zu installieren, gehen Sie zu Skizze >> Einschließen Bibliothek >> ZIP-Datei hinzufügen >> Wählen Sie die heruntergeladenen ZIP-Dateien aus den obigen Links //

#enthalten

#enthalten

#enthalten

#define TRIG_PIN A0

#define ECHO_PIN A1 #define MAX_DISTANCE 200

#define MAX_SPEED 150 // legt die Geschwindigkeit von DC-Motoren fest

#define MAX_SPEED_OFFSET 20

NewPing-Sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_1KHZ);

//AF_DCMotor motor2 (2, MOTOR12_1KHZ); //AF_DCMotor motor3 (3, MOTOR34_1KHZ); AF_DCMotor motor4(4, MOTOR34_1KHZ); Servo-Myservo;

boolean gehtForward=false;

int-Abstand = 100; int speedSet = 0;

Leere Einrichtung () {

myservo.attach(10);

myservo.write(115); Verzögerung (1000); 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 (300); AbstandL = lookLeft(); Verzögerung (300);

if(AbstandR>=AbstandL)

{ Biegen Sie rechts ab(); moveStop(); } sonst { turnLeft(); moveStop(); }} sonst { moveForward(); } Abstand = readPing(); }

int lookRight()

{ myservo.write (50); Verzögerung (650); int-Abstand = readPing(); Verzögerung (100); myservo.write(115); Rückweg; }

int lookLeft()

{ myservo.write(170); Verzögerung (650); 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() {

motor1.run (FREIGABE); // motor2.run (FREIGABE); // motor3.run (FREIGABE); motor4.run (FREIGABE); } void moveForward() {

if(!goesForward)

{ gehtForward=true; motor1.run (vorwärts); // motor2.run (FORWARD); // motor3.run (FORWARD); motor4.run (FOWARD); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // langsam die Geschwindigkeit erhöhen, um ein zu schnelles Laden der Batterien zu vermeiden { motor1.setSpeed (speedSet); // motor2.setSpeed (speedSet); // motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); Verzögerung(5); } } }

void moveBackward() {

gehtForward=false; motor1.run (RÜCKWÄRTS); // motor2.run (RÜCKWÄRTS); // motor3.run (RÜCKWÄRTS); motor4.run (RÜCKWÄRTS); for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // langsam die Geschwindigkeit erhöhen, um ein zu schnelles Laden der Batterien zu vermeiden { motor1.setSpeed (speedSet); // motor2.setSpeed (speedSet); // motor3.setSpeed (speedSet); motor4.setSpeed (speedSet); Verzögerung(5); } }

void turnRight() {

motor1.run (RÜCKWÄRTS); // motor2.run (RÜCKWÄRTS); // motor3.run (FORWARD); motor4.run (FOWARD); Verzögerung (350); motor1.run (vorwärts); // motor2.run (FORWARD); // motor3.run (FORWARD); motor4.run (FOWARD); aufrechtzuerhalten. Void turnLeft () { motor1.run (FORWARD); // motor2.run (FORWARD); // motor3.run (RÜCKWÄRTS); motor4.run (RÜCKWÄRTS); Verzögerung (350); motor1.run (vorwärts); // motor2.run (FORWARD); // motor3.run (FORWARD); motor4.run (FOWARD); }

Empfohlen: