Este artículo tiene como objetivo entregar las instrucciones paso a paso para lograr el armado y la programación de las funciones del robot. Lo anterior se logrará con mini «proyectos» describiendo las conexiones para cada componente del robot o actuador por separado de forma que se familiarice con cada uno de ellos conociendo cuál es el principio de funcionamiento, cómo se conecta eléctricamente y cómo se codifica.
Características del Carro Robot
Este es un carro robot que se controla mediante Arduino UNO y viene preparado con todo lo necesario para ser comandado vía Bluetooth, Control Infrarrojo, y otros sensores.
- Voltaje de Operación: 7V - 12V
- Usa el módulo driver L298N para la alimentación y comando de los motores.
El Paquete Incluye
- 4 x Motores con caja reductora
- 4 x Ruedas
- 4 x Fijaciones para motor
- 1 x Servomotor SG90
- 2 x Placa de acrílico para chassis (160 x 255 x 3mm)
- 1 x Driver de motor L298N
- 1 x Arduino UNO R3
- 1 x Sensor Shield V5.0 (para conectar fácilmente todos los sensores)
- 1 x Soporte para servomotor
- 1 x Módulo sensor ultrasónico
- 3 x Módulo sensor de línea
- 1 x Módulo receptor infrarrojo
- 1 x Control Remoto Infrarrojo
- 1 x Porta Pilas 2 x 18650
- 1 x Cargador para Baterías tipo 18650
- 1 x Módulo Bluetooth
- 1 x Cable USB (para programación de Arduino)
- 40 x Cables Jumper con conector Dupont
- Soportes M3 de bronce
- Tornillos y tuercas necesarios
Recursos Para la Implementación
- Tutorial Paso a Paso
- Tutorial Instructables
- Tutorial en Youtube
- Recursos en Wiki de Keyes
- App Configurable para Android
- App Bluetooth para Android
- Otra App para Android
- Otra App para Android
- Programas de Ejemplo
- Tutorial con Iphone
Conexiones
En los programas de ejemplo hemos considerado las siguientes conexiones:
- Pin 11 de Arduino con PIN ENA de Módulo L298N
- Pin 10 de Arduino con PIN ENB de Módulo L298N
- Pin 6 de Arduino con PIN IN2 de Módulo L298N
- Pin 5 de Arduino con PIN IN1 de Módulo L298N
- Pin 4 de Arduino con PIN IN3 de Módulo L298N
- Pin 3 de Arduino con PIN IN4 de Módulo L298N
- Pin Rx de Módulo Bluetooth con PIN Tx de Arduino
- Pin Tx de Módulo Bluetooth con PIN Rx de Arduino
- Pin Trig de módulo ultrasónico HC-SR04 con PIN 12 de Arduino
- Pin Echo de módulo ultrasónico HC-SR04 con PIN 13 de Arduino
Recomendaciones Adicionales
- Para cargar el programa en la placa Arduino se debe quitar temporalmente el Shield de tal manera que éste no interfiera con las señales de programación.
Consideraciones sobre CarPlay
CarPlay solo puede utilizarse si Bluetooth está desconectado. Por lo tanto, si tiene un teléfono o un reproductor de multimedia conectados al vehículo mediante Bluetooth, estos no estarán disponibles cuando está activo CarPlay.
Para disponer de una conexión a Internet para las aplicaciones del vehículo, debe utilizarse otra fuente de Internet. Utilice Wi-Fi o el módem integrado del vehículo*.
Arranque CarPlay
Para iniciar CarPlay desde un dispositivo iOS que anteriormente no ha estado conectado:
- Conecte un dispositivo iOS compatible con CarPlay al puerto USB. Si se dispone de dos puertos USB, debe utilizarse el que tiene un marco blanco.
- Lea las condiciones y pulse después Aceptar para conectar.
- Se abre la vista parcial con CarPlay y se muestran las aplicaciones compatibles. Pulse la aplicación que desee.
- Se inicia la aplicación.
Para iniciar CarPlay desde un dispositivo iOS que anteriormente ha estado conectado:
- Conecte un dispositivo iOS al puerto USB. Si se dispone de dos puertos USB, debe utilizarse el que tiene un marco blanco. Si se selecciona el ajuste de inicio automático - aparecerá el nombre del dispositivo. La subvista con CarPlay se abre automáticamente en los casos en los que aparece la vista inicial al conectar el dispositivo iOS.
- Si la subvista con CarPlay no se abre automáticamente, pulse en el nombre del dispositivo. Se abre la vista parcial con CarPlay y se muestran las aplicaciones compatibles.
- Si alguna otra aplicación está activa en la misma subvista, pulse en Apple CarPlay en la vista de aplicaciones. Se abre la vista parcial con CarPlay y se muestran las aplicaciones compatibles. Pulse la aplicación que desee.
- Se inicia la aplicación.
CarPlay se ejecuta en segundo plano si en la misma subvista se inicia otra aplicación, o si ya estaba activa al realizar la conexión. Para volver a mostrar CarPlay en la vista parcial, pulse el icono de CarPlay en la vista de aplicaciones.
Alternar la conexión entre CarPlay y iPod
De CarPlay a iPod
- Pulse Ajustes en la vista superior. Vaya a .
- Desmarque la casilla del dispositivo iOS que ya no debe iniciar CarPlay automáticamente al conectarse un cable USB.
- Desconecte y conecte el dispositivo iOS en la conexión USB.
- Abra la aplicación iPod en la vista de aplicaciones.
Funciones y Componentes Adicionales
- Encabezado ICSP (In-Circuit Serial Programming): En la mayoría de los casos, ICSP es el AVR, un encabezado de microprograma Arduino que consta de MOSI, MISO, SCK, RESET, VCC y GND. A menudo se llama SPI (interfaz periférica serial) y se puede considerar una «extensión» de la salida.
- Indicador LED de alimentación: Encendido del Arduino, LED encendido significa que su placa de circuito está correctamente encendida.
- E/S digital: Arduino REV4 tiene 14 pines digitales de entrada/salida (de los cuales 6 se pueden utilizar como salidas PWM). Estos pines se pueden configurar como pin de entrada digital para leer el valor lógico (0 o 1). O se utiliza como pin de salida digital para conducir diferentes módulos como LED, relé, etc.
- Aref: Tensión de referencia (0-5V) para entradas analógicas.
- Botón RESET: Puede restablecer su placa Arduino, por ejemplo, iniciar el programa desde el estado inicial.
- D13 LED: Hay un LED incorporado accionado por el pin digital 13.
- Conexión USB: La placa Arduino se puede alimentar a través de un conector USB.
- Oscilador de cristal: Ayudar a Arduino a lidiar con problemas de tiempo. ¿Cómo calcula Arduino el tiempo? El número impreso en la parte superior del cristal Arduino es 16.000H9H.
- IOREF: Se utiliza para configurar el voltaje de funcionamiento de los microcontroladores.
- Encabezado RESET: Conecte un botón externo para reiniciar la placa.
- Power Pin 3V3: Un suministro de 3,3 voltios generado por el regulador a bordo.
- Microcontrolador: Cada placa Arduino tiene su propio microcontrolador. El IC principal (circuito integrado) en el Arduino es ligeramente diferente del par de paneles. Los microcontroladores son generalmente de ATMEL. Antes de cargar un nuevo programa en el IDE de Arduino, debe saber qué IC hay en su placa.
Ejemplo de Programación: Parpadear un LED
Trabajaremos en parpadear un LED. Es bastante simple encender y apagar un led incorporado. A continuación, compile y cargue el código en el panel de control.
El estado de ejecución del robot se mostrará en el panel de matriz LED keyestudio 8×16. El panel de matriz tiene 128 LED brillantes dispuestos en 8×16 en la parte delantera. En la parte posterior hay un chip AIP1640 y una interfaz de 4 Pines (GND, VCC, SDA, SCL). Mediante el control del chip AIP1640, controle los 128 LED del panel para encender o apagar, mostrando las imágenes que desea mostrar en la matriz LED.
Apilar el protector del sensor V5 en el escudo de accionamiento del motor, a continuación, apilarlos en la placa REV4. Conecte el panel LED (GND-VCC-SDA-SCL) al escudo del sensor V5 (-(GND)-+(VCC)-SDA-SCL) con cable de 4 pines para la comunicación I2C.
- Vaya a «Control» ,arrastre el bloque .
- A continuación, duplique la cadena de código anterior tres veces; haga clic en el triángulo desplegable detrás de start para seleccionar respectivamente «front» , «STOP» , «borrar»; mantener el bloqueo de retardo en 2000ms.
- cargue el código en la placa REV4 y, a continuación, gire el interruptor deslizante a la posición ON.
Variables y Sensores
Ir a «Variables», arrastre el bloque ; y vaya a «Matemáticas»,arrastre el bloque al bloque . Una variable es como un cuadro, y una nueva variable es como hacer un cuadro; podemos darle a la caja un nombre, como acabamos de llamarla «left_light». La función de la caja variable en este programa es cargar el valor de intensidad de la luz. Con esta caja llamada «left_light», podemos almacenar el valor de intensidad de la luz medido por left_light sensor.
- Ir a «Variables», arrastre el bloque ; y vaya a «Mini_Tank_Robot»,arrastre el bloque al bloque que acaba de hacer.
- Ir a «SerialPort», arrastre el bloque ; y arrastre el bloque de «Texto» al bloque de impresión serie que acaba de hacer.
- Ir a «Control» , arrastreel bloque de configuración ; y arrastre el bloque al bloque de configuración que acaba de hacer.
Control Lógico y Sensores Ultrasónicos
Aquí podemos usar la instrucción de condición o . Vaya a «Control»,arrastreel bloque, luego haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do y haga clic en el triángulo desplegable para elegir el frente.
Cuando se utiliza, se puede encontrar el si… hacer… bloque de instrucciones en el bloque de control Mixly.El módulo ultrasónico emitirá las ondas ultrasónicas después de la señal de disparo. Podemos usar el sensor ultrasónico para detectar si hay un obstáculo por delante.
Para juzgar si la distancia es menor que 10cm o mayor que 10cm, aquí podemos utilizar la declaración de condición o . Vaya a «Control»,arrastreel bloque, luego haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do, haga clic en el triángulo desplegable para elegir STOP.
Cuando se coloca un obstáculo delante del sensor ultrasónico, la distancia medida entre un obstáculo y un sensor se muestra en el monitor. Cuando se utiliza, se puede encontrar el si… hacer… bloque de instrucciones en el bloque de control Mixly.
Control Remoto Infrarrojo
El control remoto por infrarrojos se compone de sistemas de transmisión infrarroja y recepción infrarroja. Es decir, consisten en un control remoto infrarrojo, un módulo receptor infrarrojo y un microcontrolador que puede decodificar. La señal portadora infrarroja 38K transmitida por un mando a distancia infrarrojo está codificada por un chip de codificación dentro del mando a distancia. El intervalo de tiempo entre pulsos se utiliza para distinguir si es una señal 0 o 1.
El código de usuario del mismo botón en el mando a distancia no cambia. Cuando se presiona hacia abajo un botón en el mando a distancia, se enviará una señal portadora de infrarrojos. En cuanto a un módulo receptor infrarrojo, se compone principalmente de un cabezal de recepción infrarroja. Este dispositivo se integra con recepción, amplificación y demodulación. Su IC interno ha sido demodulado, emitiendo señal digital.
- Conecte el sensor del receptor de infrarrojos (pin -+-S) al escudo del sensor (G(GND)-V(VCC)-A0).
- Si los puertos digitales no son suficientes, el puerto analógico se puede utilizar como puerto digital.
Ahora escriba el programa. Cargue este código, abra el monitor serie; dirigido al sensor del receptor infrarrojo, presione la tecla en el control remoto IR, el receptor IR recibirá la señal infrarroja, y el indicador se enciende en rojo. Presione la tecla frontal en el control remoto IR, la matriz de puntos muestra un patrón frontal; presione la tecla , la matriz de puntos muestra el patrón STOP.
Módulo Bluetooth HM-10
El módulo Keyestudio HM-10 Bluetooth-4.0 V3 es una máquina maestro-esclava. Primero debe instalar la APLICACIÓN en el teléfono celular. Después del cableado, cargue el código de prueba en la placa REV4 y, a continuación, conecte el módulo Bluetooth.
- Abra laaplicación Android , haga clic para escanear el dispositivo. El LED integrado conectado en el módulo Bluetooth está normalmente encendido.
- APP instalada bien, un icono Bluetooth aparecerá en su teléfono. Abra la aplicación Bluetooth, haga clic para iniciar la búsqueda y el emparejamiento del módulo Bluetooth.
Servomotor
El servomotor es un actuador rotativo de control de posición. Puede optar por conectar cualquier soporte que desee para el circuito. El receptor o MCU emite una señal al servomotor. El motor tiene un circuito de referencia incorporado que emite señal de referencia, ciclo de 20ms y anchura de 1,5ms.
El servomotor viene con muchas especificaciones. El ángulo de rotación del servomotor se controla regulando el ciclo de trabajo de la señal PWM (Modulación de ancho de pulso). Teóricamente, el ancho se distribuye entre 1ms-2ms, pero de hecho, está entre 0.5ms-2.5ms.
Control del Motor con L298P
Hay muchas maneras de conducir el motor. Nuestro robot de tanques utiliza la solución L298P más utilizada. L298P es un excelente IC de controlador de motor de alta potencia producido por STMicroelectronics. Puede conducir directamente motores de CC, motores paso a paso de dos fases y cuatro fases.
Para el software, podemos establecer el HIGH o LOW en el pin correspondiente o establecer el valor PWM, para controlar la dirección de rotación y la velocidad de 2 motores, navegando así por los movimientos del robot. Apile el escudo del motor en REV4 y conecte los 2 motores.
El valor PWM está en el rango de 0-255.
Ensamblaje del Robot Tanque
¡Vamos a ensamblar todas las piezas del robot del tanque juntas! ¡Estupendo! Para empezar, fije por separado una pieza de soporte azul en un soporte de metal utilizando un tornillo M4 * 12MM y una tuerca M4. A continuación, atornille el acoplador de cobre al motor de CC metálico. Monte la rueda de carga del tanque en el motor de CC metálico utilizando un tornillo hexagonal interior M4 * 12 MM. Y usa la llave hexagonal interna tipo L M3 para meter la pata.
Fije la rueda de carga del tanque, la banda Caterpillar con el cojinete de brida y la tuerca autoblocante M4. Fije la caja de la batería en el soporte de metal con dos tornillos de cabeza plana M3 * 10MM y dos tuercas M3. Termine la parte anterior.
A continuación, debe montar otro soporte de metal en la parte posterior con cuatro tuercas M4. Finalmente atornille cuatro tornillos hexagonales internos M3* 25MM y pilares de cobre de doble pasada M3 * 45MM en las piezas de soporte azul. Y atornille el tornillo hexagonal interior M2 * 10MM y el pilar de cobre de doble pasada M2 * 11MM a la placa superior de acrílico.
Vaya a montar el módulo receptor IR en la caja de acrílico. Para empezar, fije el soporte de tipo L en la placa de acrílico con 2 tornillos de cabeza redonda M3 * 12MM y 2 tuercas de niquelado M3. A continuación, vaya a montar los 2 módulos de fotocélula y el panel LED 8X16 en la placa de acrílico.
Monte un panel LED 8X16 en la placa de acrílico utilizando un tornillo de cabeza redonda de 4 M2 * 10 MM y 4 tuercas de niquelado M2. a continuación, utilice el destornillador y la llave auto-preparada para arruinar los accesorios.
Después de eso, fije las dos partes laterales en la placa base del servo con dos tornillos auto-tapping. Después de eso, monte el módulo ultrasónico en la plataforma servo con lazos de cable negro.
¡Felicidades! El robot del tanque está bien instalado. En el proceso del circuito, utilizamos 2 módulos de fotorresistor para detectar la intensidad de la luz en ambos lados del robot.
tags:



