Tabla de contenido:
- Paso 1: Qué necesita en este proyecto:
- Paso 2: diagrama de circuito
- Paso 3: Programación de Arduino UNO
- Paso 4: ¡Genial
Video: Cómo hacer un robot Arduino para evitar obstáculos en casa: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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:
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
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.
- Descargue el NewPing.rar a continuación
- 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:
Cómo hacer un robot para evitar obstáculos: 6 pasos
Cómo hacer un robot para evitar obstáculos: El robot para evitar obstáculos es un robot simple que es operado por un arduino y lo que hace es que simplemente deambula y evita obstáculos. Detecta los obstáculos con un sensor ultrasónico HC-SR04, es decir, si el robot detecta un objeto cerca de
Cómo hacer un robot para evitar obstáculos usando Arduino: 5 pasos
Cómo hacer un robot para evitar obstáculos usando Arduino: En este instructivo, te enseñaré cómo hacer un robot para evitar obstáculos que funcione con Arduino. Debes estar familiarizado con Arduino. Arduino es una placa controladora que utiliza el microcontrolador atmega. Puedes usar cualquier versión de Arduino pero yo
CÓMO MONTAR UN IMPRESIONANTE BRAZO ROBOT DE MADERA (PARTE 2: ROBOT PARA EVITAR OBSTÁCULOS) - BASADO EN EL MICRO: BIT: 3 Pasos
CÓMO MONTAR UN IMPRESIONANTE BRAZO ROBOT DE MADERA (PARTE 2: ROBOT PARA EVITAR OBSTÁCULOS) - BASADO EN EL MICRO: BIT: Anteriormente presentamos Armbit en modo de seguimiento de línea. A continuación, presentamos cómo instalar Armbit en el modo de evitar obstáculos
Cómo hacer un OAWR (robot que camina para evitar obstáculos): 7 pasos (con imágenes)
Cómo hacer un OAWR (robot para caminar para evitar obstáculos): este Instructable muestra cómo hacer un pequeño robot para caminar que evita obstáculos (al igual que muchas opciones disponibles comercialmente). Pero, ¿cuál es la diversión de comprar un juguete cuando, en cambio, puedes comenzar con un motor, una lámina de plástico y un montón de pernos y pro
Cómo hacer un robot para evitar obstáculos al estilo Arduino: 4 pasos
Cómo hacer un robot para evitar obstáculos al estilo Arduino: siempre has querido hacer uno de esos robots geniales que básicamente pueden evitar cualquier objeto. Sin embargo, no tenía suficiente dinero para comprar uno de esos realmente costosos, con partes ya cortadas donde todos los materiales estaban disponibles para usted. Si eres como