Probablemente hayas visto u oído hablar de al menos uno de los siguientes:
- Un carrito de equipaje inteligente en un aeropuerto, estación de tren o autobús, impulsado por un motor o batería y que sigue automáticamente a su “propietario”.
- Un carrito inteligente en unos grandes almacenes sigue al cliente que lo utiliza.
- Una maleta inteligente que se empareja con el teléfono inteligente del propietario y sigue automáticamente a esa persona.
Estos son ejemplos de un "robot que sigue objetos". Este proyecto se basa en este concepto. El robot será programado para buscar un objeto cercano y, una vez encontrado, lo seguirá.
Nuestro robot aquí utiliza un sensor de medición de distancia ultrasónica (UDM) para encontrar un objeto y medir su distancia hasta él. Emplea un servomotor para girar el sensor UDM y está alimentado por dos motores de CC. El circuito de control de nuestro robot está construido utilizando una placa Arduino Nano.
Compruébalo aquí:
Que es necesario
Esto es lo que necesita para comenzar:
1. Ruedas
2. Motores de engranajes de CC (200-300 RPM)
3. Mini servomotor de CC
4. Módulo controlador de motor de CC dual L298
5. Placa ArduinoNano
6. Sensor UDMHCSR04
7. Batería A12V
8. Regulador de voltaje 7805
9. Un generador de tonos de melodía UM66
10. Un pequeño altavoz de 8 ohmios
construcción de robots
El robot completo está construido con madera contrachapada o láminas finas de madera. Divida el robot en tres secciones:
1. Base (plataforma): alberga dos motores de CC donde se unen las ruedas. A esta base también se adjuntan dos ruedas libres adicionales, que ayudan a mover el robot en la dirección requerida.
2. Cuerpo principal: alberga el circuito principal y la batería del robot. Encima de este cuerpo se fija el servomotor.
3. Cabezal del robot: unido al eje del servomotor y alberga el sensor UDM. Puede moverse en diferentes direcciones.
Esta figura proporciona una representación visual de cada una de las partes del robot:
Una vez completado el cuerpo del robot, construyamos su circuito de control.
Diagrama de bloques del sistema:
Como se muestra en este diagrama, los principales componentes básicos del robot incluyen:
- Sensor UDM HC SR04: se utiliza para encontrar un objeto cercano y medir su distancia del robot
- Módulo controlador de motor de CC dual L298: Se utiliza para accionar ambos motores de CC, proporcionando el voltaje y la corriente necesarios a cada uno.
- Regulador de voltaje LM7805: se utiliza para suministrar energía de 5 V al sensor UDM y alimentar el servomotor a través de la batería.
- Altavoz generador de tonos UM66: genera un tono de audio melodioso a través de un altavoz, que se utiliza para proporcionar salida de audio
- Dos motores de CC: se utilizan para impulsar las ruedas traseras del robot, moviendo el robot hacia adelante y hacia atrás, así como hacia la izquierda y hacia la derecha.
- Un servomotor: se utiliza para girar el cabezal del robot (usando el sensor UDM) hacia adelante y hacia atrás (CW y CCW), de 45 a 135 grados.
- Batería de 12 V: proporciona motores de CC y el módulo controlador del motor, así como la placa Arduino.
- Placa de desarrollo Arduino Nano: el componente principal, o cerebro, del sistema y del programa de software.
La placa Arduino es responsable de la funcionalidad del robot, realizando tareas como:
- Buscar y detectar un objeto.
- Midiendo tu distancia usando el sensor UDM
- Girar el servomotor en el sentido de las agujas del reloj (CW) y en el sentido contrario a las agujas del reloj (CCW) para escanear el área usando el UDM.
- Alimentar los dos motores de CC para mover el robot hacia adelante o girar hacia la izquierda o hacia la derecha
- Seguimiento continuo del objeto y su distancia mediante UDM y seguimiento a través de motores CC.
- Reproducir un tono de audio a través del altavoz usando el UM66
Ahora, revisemos el sistema en detalle, comenzando con el diagrama del circuito y luego su funcionamiento.
Diagrama de circuito:
Como se muestra en este diagrama, el circuito se construye utilizando un sensor UDM HC SR04, un módulo controlador de motor de CC dual L298, un regulador de voltaje LM7805 y una placa de desarrollo Arduino Nano.
El sensor UDM HC SR04 tiene cuatro pines: VCC, GND, Trigger y Echo.
- El pin VCC se conecta a la salida de 5V del LM7805
- El pin GND se conecta a la tierra común del circuito.
- El pin Trigger es un pin de entrada que se conecta al pin D7 del Arduino.
- El pin Echo es un pin de salida que se conecta al pin D6 del Arduino.
El servomotor tiene una interfaz de tres cables: VCC, GND y Signal.
- El LM7805 proporciona un suministro de 5 V a VCC.
- La señal de modulación de ancho de pulso (PWM) se suministra al pin de señal desde el pin D10 de Arduino.
Los pines D2 a D5 de Arduino impulsan los dos motores de CC a través del controlador L298. Estos pines se conectan a la entrada del módulo del controlador del motor y los motores de CC se conectan a la salida del controlador del motor.
El controlador del motor requiere dos fuentes: 12 V de la batería para los motores y 5 V del LM7805 para polarización interna y funcionamiento.
El UM66 tiene tres pines: entrada, salida y tierra.
- El pin de entrada se conecta al pin D12 del Arduino.
- El pin de salida se conecta al altavoz
El LM7805 recibe una entrada de 12 V de la batería y genera una salida regulada de 5 V. La salida se proporciona al servomotor, al sensor UDM y al módulo controlador del motor L298.
La operacion
La principal tarea de este robot es buscar un objeto cercano y seguirlo manteniendo una distancia máxima de 30 cm detrás de él. Si el objeto se detiene, el robot se acercará a 10 cm de él antes de detenerse también.
Si ese objeto se mueve lo suficientemente rápido a más de 30 cm del robot, el robot se detendrá y buscará un nuevo objeto más cercano a él.
- El funcionamiento del robot comienza con la búsqueda de un objeto cercano.
- La placa Arduino dará la señal PWM al servomotor para girarlo en sentido antihorario de 45 o a 135 o en pasos de 5 o (la cabeza del robot se moverá lentamente de derecha a izquierda).
- A medida que se mueve la cabeza del robot, el microcontrolador busca continuamente un objeto cercano utilizando el sensor UDM. Entrega una señal de activación al sensor y espera una señal de eco a cambio.
- Si no se encuentran objetos después de un ciclo completo, el microcontrolador girará el servomotor en sentido antihorario de 135 o a 45 o (y el cabezal del robot se moverá de derecha a izquierda) y buscará nuevamente.
- Si un objeto se encuentra frente al sensor UDM, enviará una señal de eco al microcontrolador, que luego calcula su distancia desde el objeto.
- Si la distancia es superior a 30 cm, lo ignorará y seguirá buscando un objeto más cercano.
- Si la distancia es inferior a 30 cm, el microcontrolador detendrá el servomotor y lo inclinará hacia el objeto cercano.
- Si el ángulo del servomotor es inferior a 90 ° (es decir, entre 45 ° y 90 ° ), entonces el robot dirigirá ambos motores de CC para que giren a la derecha.
- Y si el ángulo del motor es superior a 90°, el robot dirigirá los motores de CC para que giren a la izquierda.
- Después de girar hacia la izquierda o hacia la derecha, el microcontrolador impulsará ambos motores hacia adelante para que el robot se acerque al objeto.
- Mientras el robot avanza, el microcontrolador mide continuamente la distancia a este objeto utilizando el sensor UDM. El robot seguirá avanzando hasta alcanzar una distancia inferior a 30 cm del objeto.
En este punto, puede haber tres resultados posibles:
1. Si el objeto no se mueve, el microcontrolador detendrá los motores (y por lo tanto el robot) tan pronto como el robot esté a 10 cm del objeto. Luego, el microcontrolador activará el sensor para comenzar a buscar un nuevo objeto.
2. Si el objeto se está moviendo, el robot avanza y sigue al objeto.
3. Si el objeto se aleja más de 30 cm del robot, el El microcontrolador detiene los motores y por lo tanto el robot y activa el sensor para comenzar a buscar un nuevo objeto.
Estas operaciones están disponibles en un programa que se descarga en la memoria FLASH interna de la placa Arduino ATMega328. Este programa está escrito en lenguaje C/C++ en la herramienta de software Arduino IDE. Se compila utilizando el mismo software y luego se descarga a la placa Arduino Nano mediante USB.
Programa de software
(tagsToTranslate)Arduino