Tabla de contenido:

Robot de evitación ultrasónico con Arduino: 7 pasos
Robot de evitación ultrasónico con Arduino: 7 pasos

Video: Robot de evitación ultrasónico con Arduino: 7 pasos

Video: Robot de evitación ultrasónico con Arduino: 7 pasos
Video: 🚗 Cómo hacer un ROBOT ESQUIVA OBSTÁCULOS con ARDUINO | TUTORIAL FÁCIL PARA PRINCIPIANTES 2024, Noviembre
Anonim
Image
Image
Robot de evitación ultrasónico con Arduino
Robot de evitación ultrasónico con Arduino

En este tutorial, te mostraré cómo hacer tu propio robot para evitar obstáculos. Usaremos la placa Arduino UNO y un sensor ultrasónico. Si el robot detecta un objeto frente a él, con la ayuda de un pequeño servomotor, escanea el área a izquierda y derecha para encontrar la mejor manera de girar. También tiene un LED de notificación, un zumbador para reproducir un tono cuando se detecta un objeto y un botón para cambiar la función del robot (parado / avanzando).

¡Es muy fácil hacerlo!

Paso 1: ¡Cosas necesarias para hacer

¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!
¡Cosas necesarias para hacer!

Para este proyecto necesitará:

  1. Arduino UNO (cómpralo en gearbest.com)
  2. Mini protoboard (cómpralo en gearbest.com)
  3. Módulo de controlador de motor L298 (cómprelo en gearbest.com)
  4. 2x motores dc con ruedas sensor ultrasónico HC-SR04 (cómpralo en gearbest.com)
  5. Micro servomotor (cómpralo en gearbest.com)
  6. Botón LED rojo Resistencia de 220 ohmios Soporte de batería de 9 V (con o sin conector de alimentación)
  7. 8 espaciadores (macho-hembra),
  8. 8 tuercas y 8 tornillos también necesitarás uno grande (de metal)

clip y un cordón para hacer la rueda de soporte trasera.

Para la base del robot, utilicé un chasis acrílico de Aliexpress. También puede utilizar un trozo de madera o metal (o dos placas eléctricas).

¡El costo de todo el proyecto es de aproximadamente 20 $

Herramientas: Taladro, súper pegamento, controlador de tripulación, pistola caliente, pegamento (opcional).

Usaremos una batería de 9V para encender nuestro robot porque es pequeño y barato, pero no es muy potente y estará vacío después de aproximadamente una hora. Considere si desea utilizar un paquete de baterías recargables (mínimo 6 V, máximo 7 V) que será más potente pero también será más caro y más grande que la batería de 9 V. Suscríbase a nuestro canal de YouTube Haga clic aquí

Paso 2: Comprensión de conceptos

Comprensión de conceptos
Comprensión de conceptos
Comprensión de conceptos
Comprensión de conceptos
Comprensión de conceptos
Comprensión de conceptos

El objetivo es hacer que el robot sea consciente de los obstáculos que se encuentran frente a él, para que pueda cambiar de dirección y evitarlos. En el artículo anterior hicimos que el robot se moviera, ahora le daremos algo de autonomía.

Sensor ultrasónico

HC-SR04 es un circuito capaz de medir una distancia a objetos de hasta 4 metros mediante ondas ultrasónicas. Envía un ping (como un submarino) y mide el tiempo (en microsegundos) entre el envío y la recepción de algo. Este tiempo se divide por 2 a medida que la onda se desplaza hacia adelante y hacia atrás. Y luego divida por 29 para obtener una distancia en centímetros (o 74 para pulgadas), porque el sonido viaja 29,4 µs por centímetro (340 m / s). El sensor es muy preciso con una tolerancia de ~ 3 mm y fácil de integrar con Arduino.

Interfaz del sensor ultrasónico con el microcontrolador AVR

Cualquier robot autónomo debe tener una evitación de obstáculos y un sensor de medición de distancia adjunto. Un par de transceptores de infrarrojos o un sensor de escala de grises pueden funcionar fácilmente para la detección de obstáculos en el rango de 1 cm a 10 cm. Los telémetros IR (por ejemplo, los de Sharp) pueden medir una distancia al obstáculo más cercano con un alcance de hasta 100 cm. Sin embargo, los sensores de infrarrojos se ven afectados por la luz solar y otras fuentes de luz. Los telémetros de infrarrojos tienen menos alcance y también son caros para lo que hacen. Los sensores ultrasónicos (también conocidos como sensores de proximidad ultrasónicos o sonar para los geeks) realizan ambas tareas a un costo razonable y con una precisión excepcional. El rango es de 3 cm a 350 cm con una precisión de ~ 3 mm. Al atar uno de estos sensores ultrasónicos a nuestro robot, puede actuar como un evitador de obstáculos y un sensor de medición de distancia.

El sonido “ultrasónico” se refiere a cualquier cosa por encima de las frecuencias del sonido audible, y nominalmente incluye cualquier cosa por encima de 20, 000 Hz o 20 kHz. Los sensores ultrasónicos económicos que se utilizan para la robótica generalmente funcionan en un rango de 40 kHz a 250 kHz, mientras que los que se utilizan en equipos médicos llegan hasta los 10 Mhz.

Paso 3: herramientas necesarias

Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
Herramientas necesarias
  1. Multimetro
  2. Tablero de circuitos
  3. Pinzas de punta de aguja
  4. Pelacables
  5. Cortador de cables
  6. Pistola de pegamento

Multímetro Un multímetro es en realidad un dispositivo simple que se usa principalmente para medir voltaje y resistencia y para determinar si un circuito está cerrado. Similar a depurar código de computadora, el multímetro le ayuda a “depurar” sus circuitos electrónicos.

Materiales de construcción

Un suministro disponible de madera fina y / o plexiglás para hacer el marco mecánico es muy útil. Los metales como el aluminio y el acero a menudo están restringidos a quienes tienen acceso a un taller de maquinaria, aunque el aluminio delgado se puede cortar con tijeras y doblar a mano. Los marcos mecánicos incluso se pueden construir a partir de artículos domésticos como recipientes de plástico.

Aunque son posibles otros materiales como los plásticos (además del plexiglás) o materiales más exóticos como la fibra de vidrio y la fibra de carbono, no se considerarán en esta guía. Varios fabricantes han notado que no es fácil para la mayoría de los aficionados producir sus propias piezas mecánicas y han creado piezas mecánicas modulares. Un líder en esto es Lynxmotion, que ofrece una amplia gama de diseños robóticos, así como las piezas necesarias para hacer sus propios robots personalizados.

Herramientas manuales

Se necesitan destornilladores y alicates de varios tipos y tamaños (incluido el juego de herramientas de joyero: destornilladores pequeños comúnmente disponibles en las tiendas de dólar). También es importante un taladro (preferiblemente una prensa taladradora para agujeros rectos). Una sierra de mano para cortar materiales de construcción (o un enrutador) también es un activo importante. Si el presupuesto lo permite, una sierra de cinta de mesa pequeña (rango de $ 200) es definitivamente una herramienta a considerar.

Placa de pruebas sin soldadura

Una placa de pruebas sin soldadura le permite optimizar su diseño y conectar componentes con facilidad. Junto con una placa de pruebas sin soldadura, debe comprar un kit de cables de puente preformados que consta de cables precortados y doblados destinados a ser utilizados con una placa de pruebas sin soldadura. Esto hace que las conexiones sean muy fáciles.

Juego de destornilladores pequeños

Estos pequeños destornilladores son necesarios cuando se trabaja con electrónica. Sin embargo, no los fuerce demasiado: su tamaño los hace más frágiles.

Juego de destornilladores normales

Todos los talleres necesitan una herramienta múltiple o un juego de herramientas que incluya destornilladores planos / Phillips y otras cabezas.

Pinzas de punta de aguja

El juego de alicates de punta fina es increíblemente útil cuando se trabaja con piezas y componentes pequeños y es una adición muy económica a su caja de herramientas. Estos son diferentes de los alicates normales porque llegan a un punto que puede penetrar en áreas pequeñas.

Pelacables / cortadores

Si planea cortar cualquier cable, un pelacables le ahorrará un tiempo y un esfuerzo considerables. Un pelacables, cuando se usa correctamente, solo eliminará el aislamiento del cable y no producirá torceduras ni dañará los conductores. La otra alternativa a un pelacables es un par de tijeras, aunque el resultado final puede ser complicado. Tijeras, regla, bolígrafo, rotulador, cuchillo Exacto (u otra herramienta de corte manual) Estos son elementos esenciales en cualquier oficina.

Paso 4: Coceptos para codificar AVR

Coceptos para codificar AVR
Coceptos para codificar AVR

Cálculo de la velocidad del sonido en relación con los sensores ultrasónicos

Pocas matemáticas, pero no te asustes. Es más sencillo de lo que crees.

La velocidad del sonido en aire seco a temperatura ambiente (~ 20 ° C) = 343 metros / segundo

Para que la onda de sonido golpee y haga un viaje de ida y vuelta al objeto cercano es = 343/2 = 171,5 m / dado que el alcance máximo de un sensor ultrasónico económico no es más de 5 metros (viaje de ida y vuelta), tendría más sentido cambie las unidades a centímetros y microsegundos.

1 metro = 100 centímetros 1 segundo = 10 ^ 6 microsegundos = (s / 171,5) x (m / 100 cm) x ((1x10 ^ 6) / s) = (1 / 171,5) x (1/100) x (1000000 / 1) = 58.30903790087464 us / cm = 58.31 us / cm (redondeando a dos dígitos para facilitar los cálculos)Por lo tanto, el tiempo que tarda un pulso en viajar a un objeto y rebotar 1 centímetro es de 58,31 microsegundos.

el pequeño trasfondo de los ciclos del reloj AVR

Se necesita un capítulo completamente diferente para comprender los ciclos de reloj de AVR, pero comprenderemos brevemente cómo funciona para facilitar nuestros cálculos.

Para nuestro ejemplo, usaremos la placa AVR Draco que tiene un microcontrolador AVR - Atmega328P de 8 bits. Para simplificar las cosas, no modificaremos la configuración de un microcontrolador. No se tocaron pedazos de fusible; Sin cristal externo adjunto; Sin dolor de cabeza. En la configuración de fábrica, se ejecuta en un oscilador interno de 8MHz con un prescaler / 8; Si no comprende todo esto, simplemente significa que el microcontrolador se está ejecutando en un oscilador RC interno de 1MHz y cada ciclo de reloj toma 1 microsegundo.

1 2 1MHz = de 1000000 ciclos por segundo Por lo tanto, 1s / 1000000 = 1/1000000 = 1us

Relojes AVR y conversión de distancia

¡Estamos casi alli! Una vez que sabemos cómo convertir los ciclos del reloj AVR a la distancia recorrida por las ondas sonoras, implementar la lógica en un programa es fácil.

Sabemos que la velocidad del sonido ultrasónico en un entorno ideal es: 58,31 us / cm

Sabemos que la resolución del microcontrolador AVR es 1us / ciclo de reloj (CLK)

Por lo tanto, la distancia recorrida por el sonido por ciclo de reloj (CLK) es:

1 2 3 = (58.31 us / cm) x (1us / clk) = 58.31 ciclos de reloj / cm o = 1 / 58.31 cm / clk

Si se conoce el número de ciclos de reloj que tarda el sonido en viajar y recuperarse, podemos calcular fácilmente la distancia. Por ejemplo, si el sensor tarda 1000 ciclos de reloj en viajar y recuperarse, entonces la distancia desde un sensor al objeto más cercano es = 1000 / 58,31 = 17,15 cm (aprox.)

¿Todo tiene sentido ahora? ¿No? Leelo de nuevo

Si tiene claro toda la lógica mencionada anteriormente, la implementaremos en un escenario del mundo real conectando un sensor ultrasónico HC-SR04 económico a nuestra placa AVR Arduino.

Paso 5: Conexiones de hardware:

Conexiones de hardware
Conexiones de hardware
Conexiones de hardware
Conexiones de hardware
Conexiones de hardware
Conexiones de hardware
Conexiones de hardware
Conexiones de hardware

La placa Arduino facilita la conexión de cualquier sensor externo y también la visualización de los resultados en la pantalla LCD. Para la detección de rango ultrasónico, utilizamos un módulo HC-SR04 económico. El módulo tiene 4 pines que se pueden conectar a la placa del microcontrolador: VCC, TRIG, ECHO y GND.

Conecte el pin VCC a 5V y el pin GND a tierra en la placa Arduino.

El pin TRIG y el pin ECHO se pueden conectar a cualquier pin disponible en la placa. El envío de una señal "alta" mínima de 10us al pin de activación envía ocho ondas de sonido de 40 kHz y eleva el pin de eco. Si el sonido rebota en un objeto cercano y regresa, es capturado por el transductor receptor y el pin de eco se jala "bajo".

Otras variantes de módulos de sensores ultrasónicos también están disponibles con solo 3 pines. El principio de funcionamiento sigue siendo el mismo, pero la funcionalidad de los pines de disparo y eco se combinan en un solo pin.

Una vez conectados, los pines de disparo y eco se pueden configurar mediante software. Para mantener este ejemplo simple, no usaremos ningún pin de interrupción (o Pin de captura de entrada) en este ejemplo. No usar pines de interrupción designados también nos da la libertad de conectar el módulo a cualquier pines disponibles en la placa.

Paso 6: Código

Código El siguiente código contiene solo una extensión "ultrasónica" para el control de motores de CC mediante un puente en H del artículo anterior. Cuando el robot detecta un obstáculo frente a él, se da la vuelta (grado aleatorio) y continúa avanzando. Esta funcionalidad podría ampliarse fácilmente para seguir girando y detectando obstáculos al mismo tiempo, de modo que el robot no gire al azar, sino que comience a moverse hacia adelante solo cuando no se detecte ningún objeto.

Para obtener una explicación del código, consulte el video de Youtube que aparece en el canal.

Paso 7: video

Vea el video de todo el proceso.

Recomendado: