Tabla de contenido:

Cómo hacer un robot Arduino para evitar obstáculos en casa: 4 pasos
Cómo hacer un robot Arduino para evitar obstáculos en casa: 4 pasos

Video: Cómo hacer un robot Arduino para evitar obstáculos en casa: 4 pasos

Video: Cómo hacer un robot Arduino para evitar obstáculos en casa: 4 pasos
Video: Como hacer Carro que EVITA OBSTÁCULOS | ARDUINO | Obstacle Avoiding Car | ARDUINO 2024, Mes de julio
Anonim
Image
Image

Hola chicos, en este Instructable, harás un robot para evitar obstáculos. Este Instructable implica la construcción de un robot con un sensor ultrasónico que puede detectar objetos cercanos y cambiar su dirección para evitarlos. El sensor ultrasónico se conectará a un servomotor que está constantemente escaneando a izquierda y derecha en busca de objetos en su camino.

Así que, sin más preámbulos, ¡comencemos!

Paso 1: Qué necesita en este proyecto:

Lo que necesita en este proyecto
Lo que necesita en este proyecto
Lo que necesita en este proyecto
Lo que necesita en este proyecto

Aquí está la lista de piezas:

1) Arduino Uno

2) Escudo del controlador del motor

3) Motor de engranajes, chasis y juego de ruedas.

4) Servomotor

5) Sensor ultrasónico

6) Batería de iones de litio (2x)

7) Soporte de batería

8) Cable de puente macho y hembra

9) Soldador

10) Cargador

Paso 2: diagrama de circuito

Diagrama de circuito
Diagrama de circuito

Laboral:

Antes de comenzar a trabajar en el proyecto, es importante comprender cómo funciona el sensor ultrasónico. El principio básico detrás del funcionamiento del sensor ultrasónico es el siguiente:

Usando una señal de disparo externa, el pin Trig del sensor ultrasónico se hace lógicamente alto durante al menos 10 µs. Se envía una ráfaga sónica desde el módulo transmisor. Este consta de 8 pulsos de 40 KHz.

Las señales regresan después de golpear una superficie y el receptor detecta esta señal. El pin Echo está alto desde el momento de enviar la señal y recibirla. Este tiempo se puede convertir a distancia mediante los cálculos adecuados.

El objetivo de este proyecto es implementar un robot evitando obstáculos utilizando sensor ultrasónico y Arduino. Todas las conexiones se realizan según el diagrama del circuito. El funcionamiento del proyecto se explica a continuación.

Cuando el robot está encendido, ambos motores del robot funcionarán normalmente y el robot se moverá hacia adelante. Durante este tiempo, el sensor ultrasónico calcula continuamente la distancia entre el robot y la superficie reflectante.

Esta información es procesada por Arduino. Si la distancia entre el robot y el obstáculo es inferior a 15 cm, el robot se detiene y escanea en las direcciones izquierda y derecha en busca de una nueva distancia utilizando el servomotor y el sensor ultrasónico. Si la distancia hacia el lado izquierdo es mayor que la del lado derecho, el robot se preparará para un giro a la izquierda. Pero primero, retrocede un poco y luego activa el motor de la rueda izquierda en sentido inverso.

De manera similar, si la distancia a la derecha es mayor que la distancia a la izquierda, el Robot prepara la rotación hacia la derecha. Este proceso continúa para siempre y el robot sigue moviéndose sin chocar con ningún obstáculo.

Paso 3: Programación de Arduino UNO

#incluir

#incluir

#incluir

# define TRIG_PIN A1

# define ECHO_PIN A0

# define MAX_DISTANCE 200

# define MAX_SPEED 255 // establece la velocidad de los motores de CC

# define MAX_SPEED_OFFSET 20

Sonda NewPing (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor3 (3, MOTOR34_1KHZ);

AF_DCMotor motor4 (4, MOTOR34_1KHZ); Servo myservo;

booleano va hacia adelante = falso;

int distancia = 100; int speedSet = 0;

configuración vacía () {

myservo.attach (10);

myservo.write (115); retraso (2000); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); distancia = readPing (); retraso (100); }

bucle vacío () {

int distanciaR = 0; int distanciaL = 0; retraso (40);

if (distancia <= 15) {moveStop (); retraso (100); mover hacia atrás(); retraso (300); moveStop (); retraso (200); distanciaR = mirarRight (); retraso (200); distanciaL = lookLeft (); retraso (200);

if (distanciaR> = distanciaL) {

Gire a la derecha(); moveStop (); } else {turnLeft (); moveStop (); }} else {moveForward (); } distancia = readPing (); }

int lookRight () {

myservo.write (50); retraso (500); int distancia = readPing (); retraso (100); myservo.write (115); distancia de regreso; }

int lookLeft () {

myservo.write (170); retraso (500); int distancia = readPing (); retraso (100); myservo.write (115); distancia de regreso; retraso (100); }

int readPing () {

retraso (70); int cm = sonar.ping_cm (); si (cm == 0) {cm = 250; } return cm; }

void moveStop () {

motor3.run (LIBERAR);

motor4.run (LIBERAR); }

void moveForward () {

si (! GoForward) {

va hacia adelante = verdadero;

motor3.run (ADELANTE);

motor4.run (ADELANTE); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumente lentamente la velocidad para evitar cargar las baterías demasiado rápido {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); retraso (5); }}}

void moveBackward () {

va hacia adelante = falso;

motor3.run (HACIA ATRÁS);

motor4.run (HACIA ATRÁS); for (speedSet = 0; speedSet <MAX_SPEED; speedSet + = 2) // aumente lentamente la velocidad para evitar cargar las baterías demasiado rápido {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); retraso (5); }}

void turnRight () {

motor3.run (ADELANTE);

motor4.run (HACIA ATRÁS); retraso (500);

motor3.run (ADELANTE);

motor4.run (ADELANTE); }

void turnLeft () {

motor3.run (HACIA ATRÁS);

motor4.run (ADELANTE); retraso (500);

motor3.run (ADELANTE);

motor4.run (ADELANTE); }

1) Descargue e instale el IDE de escritorio de Arduino

  • ventanas:
  • Mac OS X:
  • Linux:

2) Descargue y pegue el archivo de la biblioteca NewPing (biblioteca de funciones del sensor ultrasónico) en la carpeta de bibliotecas Arduino.

  1. Descargue el NewPing.rar a continuación
  2. Extraerlo a la ruta - C: / Arduino / libraries

3) Sube el código a la placa Arduino a través de un cable USB

Código de descarga:

Paso 4: ¡Genial

Ahora tu robot está listo para esquivar cualquier obstáculo …

Estaré encantado de responder cualquier pregunta que tenga

Envíeme un correo electrónico: [email protected]

Sitio web:

Suscríbete a mi canal de YouTube:

Instagram:

Facebook:

Gracias:)

Recomendado: