Comment faire un robot suiveur humain avec Arduino : 3 étapes
Comment faire un robot suiveur humain avec Arduino : 3 étapes
Anonim
Comment faire un robot suiveur humain avec Arduino
Comment faire un robot suiveur humain avec Arduino

L'humain suit le sens du robot et suit l'humain

Étape 1: Obtenez les outils

Obtenez les outils
Obtenez les outils
Obtenez les outils
Obtenez les outils
Obtenez les outils
Obtenez les outils

Obtenez les outils comme: Capteur à ultrasonsCapteurArduino uno 4 moteurs à engrenages avec roueServo Batterie et boîtier de batterie Pilote de moteur Câbles de démarrage Châssis

Étape 2: connexion

De liaison
De liaison
De liaison
De liaison
De liaison
De liaison
De liaison
De liaison

Connectez chaque équipement au pilote du moteur. Connectez le pilote du moteur à l'arduino.

Étape 3: Coder

Code
Code

#include#include#include#define RIGHT A2#define LEFT A3#define TRIGGER_PIN A1#define ECHO_PIN A0#define MAX_DISTANCE 100NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);;AF_DCMotor Motor3(3, MOTOR34_1KHZ);AF_DCMotor Motor4(4, MOTOR34_1KHZ);Servo myservo;int pos =0;void setup() { // mettez votre code de configuration ici, à exécuter une fois: Serial.begin(9600);myservo.attach(10);{for(pos = 90; pos <= 180; pos += 1){ myservo.write(pos); delay(15);} for(pos = 180; pos >= 0; pos-= 1) { myservo.write(pos); delay(15);}for(pos = 0; pos<=90; pos += 1) { myservo.write(pos); delay(15);}}pinMode(RIGHT, INPUT);pinMode(LEFT, INPUT);}void loop() { // mettez votre code principal ici, pour l'exécuter à plusieurs reprises: delay(50); unsigned int distance = sonar.ping_cm();Serial.print("distance");Serial.println(distance);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) && (distance>=10 && distance<=30)&&(Left_Value==1))){ Motor1.setSpeed(120); Motor1.run(AVANT); Motor2.setSpeed(120); Motor2.run(AVANT); Motor3.setSpeed(120); Motor3.run(AVANT); Motor4.setSpeed(120); Motor4.run(FORWARD);}else if((Right_Value==0) && (Left_Value==1)) { Motor1.setSpeed(200); Motor1.run(AVANT); Motor2.setSpeed(200); Motor2.run(AVANT); Motor3.setSpeed (100); Motor3.run(BACKWARD); Motor4.setSpeed (100); Motor4.run(BACKWARD);}else if((Right_Value==1)&&(Left_Value==0)) { Motor1.setSpeed(100); Motor1.run(BACKWARD); Motor2.setSpeed(100); Motor2.run(BACKWARD); Motor3.setSpeed(200); Motor3.run(AVANT); Motor4.setSpeed(200); Motor4.run(FORWARD);}else if((Right_Value==1)&&(Left_Value==1)) { Motor1.setSpeed(0); Moteur1.run(LIBÉRER); Motor2.setSpeed(0); Moteur2.run(LIBÉRER); Motor3.setSpeed(0); Motor3.run(LIBÉRER); Motor4.setSpeed(0); Motor4.run(RELEASE);} else if(distance > 1 && distance < 10) { Motor1.setSpeed(0); Moteur1.run(LIBÉRER); Motor2.setSpeed(0); Moteur2.run(LIBÉRER); Motor3.setSpeed(0); Motor3.run(LIBÉRER); Motor4.setSpeed(0); Motor4.run(LIBÉRER); } }

Conseillé: