Πώς να φτιάξετε έναν άνθρωπο που ακολουθεί ρομπότ με Arduino: 3 βήματα
Πώς να φτιάξετε έναν άνθρωπο που ακολουθεί ρομπότ με Arduino: 3 βήματα
Anonim
Πώς να φτιάξετε ένα ρομπότ που ακολουθεί τον άνθρωπο με το Arduino
Πώς να φτιάξετε ένα ρομπότ που ακολουθεί τον άνθρωπο με το Arduino

Ο άνθρωπος που ακολουθεί το ρομπότ αισθάνεται και ακολουθεί τον άνθρωπο

Βήμα 1: Αποκτήστε τα Εργαλεία

Αποκτήστε τα Εργαλεία
Αποκτήστε τα Εργαλεία
Αποκτήστε τα Εργαλεία
Αποκτήστε τα Εργαλεία
Αποκτήστε τα Εργαλεία
Αποκτήστε τα Εργαλεία

Αποκτήστε τα εργαλεία όπως: Υπερηχητικός αισθητήρας Αισθητήρας Arduino uno 4 μοτέρ ταχυτήτων με τροχό Servo Μπαταρία και θήκη μπαταρίας Οδηγός μοτέρ Jumper καλώδια πλαισίου

Βήμα 2: Σύνδεση

Συνδετικός
Συνδετικός
Συνδετικός
Συνδετικός
Συνδετικός
Συνδετικός
Συνδετικός
Συνδετικός

Συνδέστε κάθε εξοπλισμό στον οδηγό κινητήρα. Συνδέστε τον οδηγό κινητήρα στο arduino.

Βήμα 3: Κωδικός

Κώδικας
Κώδικας

#include#include#include#define RIGHT A2#define LEFT A3#define TRIGGER_PIN A1#define ECHO_PIN A0#define MAX_DISTANCE 100NewPing σόναρ (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor11, MOTK; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά: Serial.begin (9600); myservo.attach (10); {for (pos = 90; pos <= 180; pos += 1) {myservo.write (pos); καθυστέρηση (15);} για (pos = 180; pos> = 0; pos- = 1) {myservo.write (pos); καθυστέρηση (15);} για (pos = 0; pos <= 90; pos += 1) {myservo.write (pos); καθυστέρηση (15);}} pinMode (ΔΕΞΙΑ, ΕΙΣΟΔΟΣ); pinMode (ΑΡΙΣΤΕΡΑ, ΕΙΣΟΔΟΣ);} βρόχος κενό () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα: καθυστέρηση (50); unsigned int distance = sonar.ping_cm (); Serial.print ("απόσταση"); Serial.println (απόσταση); int Right_Value = digitalRead (RIGHT); int Left_Value = digitalRead (LEFT); Serial.print ("RIGHT"); Serial.println (Right_Value); Serial.print ("LEFT"); Serial.println (Left_Value); if ((Right_Value == 1) && (απόσταση> = 10 && απόσταση <= 30) && (Left_Value == 1)) {Motor1.setSpeed (120); Motor1.run (ΕΜΠΡΟΣ); Motor2.setSpeed (120); Motor2.run (ΜΠΡΟΣΤΑ); Motor3.setSpeed (120); Motor3.run (ΜΠΡΟΣΤΑ); Motor4.setSpeed (120); Motor4.run (FORWARD);} άλλα if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (ΕΜΠΡΟΣ); Motor2.setSpeed (200); Motor2.run (ΜΠΡΟΣΤΑ); Motor3.setSpeed (100); Motor3.run (BACKWARD); Motor4.setSpeed (100); Motor4.run (BACKWARD);} άλλα if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (BACKWARD); Motor2.setSpeed (100); Motor2.run (BACKWARD); Motor3.setSpeed (200); Motor3.run (ΜΠΡΟΣΤΑ); Motor4.setSpeed (200); Motor4.run (FORWARD);} άλλα if ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor2.setSpeed (0); Motor2.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor3.setSpeed (0); Motor3.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor4.setSpeed (0); Motor4.run (ΕΚΔΗΛΩΣΗ);} αλλιώς εάν (απόσταση> 1 && απόσταση <10) {Motor1.setSpeed (0); Motor1.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor2.setSpeed (0); Motor2.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor3.setSpeed (0); Motor3.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); Motor4.setSpeed (0); Motor4.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); }}

Συνιστάται: