7. Sigue a tu Mano

Imagina este coche como tu mascota aquí, y cuando le saludes con la mano, vendrá corriendo hacia ti.

Componentes Necesarios

Para este proyecto, necesitamos los siguientes componentes.

Es definitivamente conveniente comprar un kit completo, aquí tienes el enlace:

Nombre

ELEMENTOS DE ESTE KIT

ENLACE

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

También puedes comprarlos por separado en los siguientes enlaces.

INTRODUCCIÓN DEL COMPONENTE

ENLACE DE COMPRA

Placa SunFounder R3

BUY

Módulo Controlador de Motor L9110

-

Motor TT

-

Módulo Ultrasónico

BUY

Módulo de Evitación de Obstáculos

BUY

Cableado

Conecta el módulo ultrasónico y los 2 módulos de evitación de obstáculos IR al mismo tiempo.

Conecta el ultrasónico a la placa R3 de la siguiente manera.

Módulo Ultrasónico

Placa R3

Vcc

5V

Trig

3

Echo

4

Gnd

GND

El cableado de los 2 módulos de evitación de obstáculos IR a la placa R3 es como sigue.

Módulo IR Izquierdo

Placa R3

OUT

8

GND

GND

VCC

5V

Módulo IR Derecho

Placa R3

OUT

7

GND

GND

VCC

5V

../_images/car_7_8.png

Código

Nota

  • Abre el archivo 7.follow_your_hand.ino en la ruta 3in1-kit\car_project\7.follow_your_hand.

  • O copia este código en el Arduino IDE.

  • O sube el código a través del Editor Web de Arduino.

Coloca el coche en el suelo después de haber subido el código con éxito. Pon tu mano cerca de 5*10 cm delante del coche, y este seguirá tu mano hacia adelante. Si pones tu mano cerca del módulo IR Obstacle en ambos lados, también girará en la dirección correspondiente.

¿Cómo funciona?

Este proyecto es una combinación de los dos proyectos anteriores 6. Jugar con el Módulo Ultrasónico y 5. Jugar con el Módulo de Evitación de Obstáculos, pero el efecto implementado es diferente. Los 2 proyectos anteriores detectan un obstáculo hacia atrás, pero aquí se detecta que tu mano seguirá la dirección hacia adelante o girará. El flujo de trabajo de este proyecto es el siguiente.

  • Lee la distancia detectada por el módulo ultrasónico y el valor de ambos módulos infrarrojos.

  • Si la distancia es de 5~10cm, deja que el coche se mueva con tu mano.

  • Si el módulo IR izquierdo detecta tu mano, gira a la izquierda.

  • Si el módulo IR derecho detecta tu mano, gira a la derecha.

  • Si ni el módulo infrarrojo ni el módulo ultrasónico detectan tu mano, deja que el coche se detenga.

void loop() {

    float distance = readSensorData();

    int left = digitalRead(leftIR);   // 0: Obstructed  1: Empty
    int right = digitalRead(rightIR);
    int speed = 150;

    if (distance>5 && distance<10){
        moveForward(speed);
    }
    if(!left&&right){
        turnLeft(speed);
    }else if(left&&!right){
        turnRight(speed);
    }else{
        stopMove();
    }
}