Come creare un robot umano con Arduino: 3 passaggi
Come creare un robot umano con Arduino: 3 passaggi
Anonim
Come creare un robot che segua un umano con Arduino
Come creare un robot che segua un umano con Arduino

L'uomo segue il senso del robot e segue l'uomo

Passaggio 1: ottenere gli strumenti

Ottieni gli strumenti
Ottieni gli strumenti
Ottieni gli strumenti
Ottieni gli strumenti
Ottieni gli strumenti
Ottieni gli strumenti

Ottieni strumenti come: Sensore a ultrasuoniSensoreArduino uno 4 motoriduttori con ruotaServo Batteria e custodia per batterie Driver del motore Ponticelli Chassis

Passaggio 2: connessione

Collegamento
Collegamento
Collegamento
Collegamento
Collegamento
Collegamento
Collegamento
Collegamento

Collega ogni attrezzatura al driver del motore. Collega il driver del motore ad arduino.

Passaggio 3: codice

Codice
Codice

#include#include#include#define RIGHT A2#define SINISTRA A3#define TRIGGER_PIN A1#define ECHO_PIN A0#define MAX_DISTANCE 100NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);AF_DCMotor Motor1(1, MOTOR_12,HZ)Motor2KHZ_1);;AF_DCMotor Motor3(3, MOTOR34_1KHZ);AF_DCMotor Motor4(4, MOTOR34_1KHZ);Servo myservo;int pos =0;void setup() { // inserisci qui il codice di configurazione, da eseguire una volta: 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() { // inserisci qui il tuo codice principale, da eseguire ripetutamente: delay(50); unsigned int distanza = sonar.ping_cm();Serial.print("distance");Serial.println(distanza);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) && (distanza>=10 && distanza<=30)&&(Left_Value==1)){ Motor1.setSpeed(120); Motore1.run(AVANTI); Motor2.setSpeed(120); Motore2.run(AVANTI); Motor3.setSpeed(120); Motor3.run(AVANTI); Motor4.setSpeed(120); Motor4.run(FORWARD);}else if((Right_Value==0) && (Left_Value==1)) { Motor1.setSpeed(200); Motore1.run(AVANTI); Motor2.setSpeed(200); Motore2.run(AVANTI); Motor3.setSpeed(100); Motor3.run(INDIETRO); Motor4.setSpeed(100); Motor4.run(BACKWARD);}else if((Right_Value==1)&&(Left_Value==0)) { Motor1.setSpeed(100); Motore1.run(INDIETRO); Motor2.setSpeed(100); Motor2.run(INDIETRO); Motor3.setSpeed(200); Motor3.run(AVANTI); Motor4.setSpeed(200); Motor4.run(FORWARD);}else if((Right_Value==1)&&(Left_Value==1)) { Motor1.setSpeed(0); Motor1.run(RELEASE); Motor2.setSpeed(0); Motor2.run(RILASCIO); Motor3.setSpeed(0); Motor3.run(RELEASE); Motor4.setSpeed(0); Motor4.run(RELEASE);}else if(distanza > 1 && distanza < 10) { Motor1.setSpeed(0); Motor1.run(RELEASE); Motor2.setSpeed(0); Motor2.run(RELEASE); Motor3.setSpeed(0); Motor3.run(RELEASE); Motor4.setSpeed(0); Motor4.run(RELEASE); } }

Consigliato: