Sommario:

Come creare un robot umano con Arduino: 3 passaggi
Come creare un robot umano con Arduino: 3 passaggi

Video: Come creare un robot umano con Arduino: 3 passaggi

Video: Come creare un robot umano con Arduino: 3 passaggi
Video: Progetto Arduino con ChatGPT : Termometro SHT35 2024, Dicembre
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: