Tabla de contenido:

Cómo hacer un robot de seguimiento humano con Arduino: 3 pasos
Cómo hacer un robot de seguimiento humano con Arduino: 3 pasos

Video: Cómo hacer un robot de seguimiento humano con Arduino: 3 pasos

Video: Cómo hacer un robot de seguimiento humano con Arduino: 3 pasos
Video: Como hacer Carro que EVITA OBSTÁCULOS | ARDUINO | Obstacle Avoiding Car | ARDUINO 2024, Noviembre
Anonim
Cómo hacer un robot de seguimiento humano con Arduino
Cómo hacer un robot de seguimiento humano con Arduino

El humano sigue el sentido del robot y sigue al humano

Paso 1: obtenga las herramientas

Obtener las herramientas
Obtener las herramientas
Obtener las herramientas
Obtener las herramientas
Obtener las herramientas
Obtener las herramientas

Obtenga herramientas como: Sensor ultrasónico Sensor Arduino uno 4 motores de engranajes con rueda Servo Batería y caja de batería Controlador de motor Cables de puente Chasis

Paso 2: Conexión

Conectando
Conectando
Conectando
Conectando
Conectando
Conectando
Conectando
Conectando

Conecte todos los equipos al controlador del motor. Conecte el controlador del motor a arduino.

Paso 3: Código

Código
Código

# incluir # incluir # incluir # definir DERECHA A2 # definir IZQUIERDA A3 # definir TRIGGER_PIN A1 # definir ECHO_PIN A0 # definir MAX_DISTANCE 100 NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); AF_DCMotor Motor1 (1, MOTOR12_1KHZ, MOTOR122 Motor12_1KHZ); AFK_HZMotor; AF_DCMotor Motor3 (3, MOTOR34_1KHZ); AF_DCMotor Motor4 (4, MOTOR34_1KHZ); Servo myservo; int pos = 0; void setup () {// ponga su código de configuración aquí, para ejecutar una vez: Serial.begin (9600); myservo.attach (10); {para (pos = 90; pos <= 180; pos + = 1) {miservo.write (pos); retardo (15);} para (pos = 180; pos> = 0; pos- = 1) {miservo.escribir (pos); retardo (15);} para (pos = 0; pos <= 90; pos + = 1) {miservo.escribir (pos); delay (15);}} pinMode (DERECHA, ENTRADA); pinMode (IZQUIERDA, ENTRADA);} void loop () {// coloca tu código principal aquí, para que se ejecute repetidamente: delay (50); unsigned int distancia = sonar.ping_cm (); Serial.print ("distancia"); Serial.println (distancia); 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) && (distancia> = 10 && distancia <= 30) && (Left_Value == 1)) {Motor1.setSpeed (120); Motor1.run (ADELANTE); Motor2.setSpeed (120); Motor2.run (ADELANTE); Motor3.setSpeed (120); Motor3.run (ADELANTE); Motor4.setSpeed (120); Motor4.run (FORWARD);} else if ((Right_Value == 0) && (Left_Value == 1)) {Motor1.setSpeed (200); Motor1.run (ADELANTE); Motor2.setSpeed (200); Motor2.run (ADELANTE); Motor3.setSpeed (100); Motor3.run (HACIA ATRÁS); Motor4.setSpeed (100); Motor4.run (BACKWARD);} else if ((Right_Value == 1) && (Left_Value == 0)) {Motor1.setSpeed (100); Motor1.run (HACIA ATRÁS); Motor2.setSpeed (100); Motor2.run (HACIA ATRÁS); Motor3.setSpeed (200); Motor3.run (ADELANTE); Motor4.setSpeed (200); Motor4.run (FORWARD);} else if ((Right_Value == 1) && (Left_Value == 1)) {Motor1.setSpeed (0); Motor1.run (LIBERACIÓN); Motor2.setSpeed (0); Motor2.run (LIBERAR); Motor3.setSpeed (0); Motor3.run (LIBERAR); Motor4.setSpeed (0); Motor4.run (RELEASE);} else if (distancia> 1 && distancia <10) {Motor1.setSpeed (0); Motor1.run (LIBERACIÓN); Motor2.setSpeed (0); Motor2.run (LIBERAR); Motor3.setSpeed (0); Motor3.run (LIBERAR); Motor4.setSpeed (0); Motor4.run (LIBERAR); }}

Recomendado: