Instrucciones Mini Tank Robot mejorado V2
NOTA: Este tutorial es una traducción del inglés del original.
Contenido
- 1Acerca del tutorial
- 2Parámetros técnicos
- 3Lista de embalaje
- 4Recursos
- 5Introducción a Mixly y ARDUINO
- 6Introducción a los proyectos de hardware
- 6.1Proyecto 1: LED incorporado
- 6.2Proyecto 2: Visualización de imágenes
- 6.3Proyecto 3: Resistencia fotográfica
- 6.4Proyecto 4: Detección ultrasónica de obstáculos
- 6.5Proyecto 5: Recepción por infrarrojos
- 6.6Proyecto 6: Módulo Bluetooth
- 6.7Proyecto 7: Ajuste del ángulo del servo
- 6.8Proyecto 8: Conducción del motor y control de velocidad
- 7Empezar a trabajar con proyectos de robots
- 7.1Proyecto 9: Instalación de robots de tanques
- 7.1.1Paso 1: instalar el motor inferior del tanque
- 7.1.2Paso 2: instale la rueda del conductor del tanque
- 7.1.3Paso 3: instale la caja de la batería
- 7.1.4Paso 4: montar el módulo del sensor
- 7.1.5Paso 5: instalar la plataforma de plástico servo
- 7.1.6Paso 6: instalar todas las piezas de la placa de acrílico
- 7.1.7Paso 7: Piezas completas del tanque y tablero de control
- 7.1.8Guía de conexión
- 7.2Proyecto 10: Tanque de seguimiento ligero
- 7.3Proyecto 11: Tanque de seguimiento ultrasónico
- 7.4Proyecto 12: Tanque de evitación ultrasónico
- 7.5Proyecto 13: Tanque de control remoto por infrarrojos
- 7.6Proyecto 14: Tanque de control Bluetooth
- 7.7Proyecto 15: Tanque multifunción Bluetooth
- 7.1Proyecto 9: Instalación de robots de tanques
- 8Recursos
- 9Acerca de keyestudio
- 10Servicio al cliente
- 11Comprar desde
Acerca del tutorial
Importante: Este tutorial tiene como objetivo entregar las instrucciones pasos 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. Una vez que hayas experimentado con cada uno de estos componentes, podrá armar en su conjunto el robot y disfrutar de una experiencia de aprendizaje completa.
El robot tanque de Keyestudio actualizado V2 es esencialmente un robot programable basado en la plataforma del microcontrolador Arduino UNO R3.
El robot del tanque utiliza principalmente el la Tarjeta de control, el escudo L298P para el control de los motores y el escudo del sensores V5, permitiendo la conectividad sin el uso de soldadura y una conectividad simple.
La programación del robot se basa en una plataforma de codificación por bloques llamada Mixly.
El kit de robot de tanque está diseñado específicamente para aquellos que están interesados en aprender acerca de Arduino y la electrónica.
Recursos
- Descargue la aplicación Bluetooth, los código para Mixly y la biblioteca Tank_Car desde el siguiente enlace:
https://fs.keyestudio.com/KS0428 Vea el video de armado del robot aquí: http://video.keyestudio.com/ks0428/ (antes de armar, recuerde quitar la protección de papel de las placas de acrílico)
Las nuevas característica de la versión 2.0 del robot:
- 1) Viene con un módulo receptor IR y control remoto, para el control infrarrojo;
- 2) Añadido 2 sensores foto-resistivos para la función de seguimiento de la luz;
- 3) Añadido un panel LED keyestudio 8X16 para mostrar el estado del movimiento;
- 4) El escudo de la unidad añade un interruptor de alimentación, fácil para el control de potencia;
- 5) Uso del módulo Bluetooth HM-10; compatible con Bluetooth 4.0; Bluetooth APP es compatible con el sistema iOS y Android;
- 6) La codificación ahora es con Mixly, aplicación que te permite usar bloques de códigos, fácil de aprender y modificar.
Parámetros técnicos
- 1) Parámetros del motor: 6V, 150rpm/min.
- 2) Control del motor por el escudo del controlador L298P con interruptor de alimentación.
- 3) Equipado con módulo inalámbrico Bluetooth, puede controlar remotamente el robot después del emparejamiento con Bluetooth móvil.
- 4) Con el módulo receptor IR, emparejamiento de control remoto infrarrojo para controlar el robot del tanque.
- 5) Con el módulo Photocell, detectando la intensidad de la luz en ambos lados del robot del tanque para controlar el robot del tanque.
- 6) Con el módulo ultrasónico, midiendo la distancia entre los obstáculos y el robot del tanque.
- 7) Puede acceder a la fuente de alimentación externa de 7 x 12V; combinar varios módulos de sensores para realizar varias funciones de acuerdo con su imaginación.
- 8) Proporcionar el software Mixly y el código de prueba, fácil de jugar y simple.
Lista de embalaje
Introducción a ARDUINO con Mixly
1)Instalación de Arduino IDE
Para utilizar la tarjeta controladora Arduino con MIxly se debe bajar e instalar la última versión del IDE (entorno de programación para Arduino) del siguiente enlace:
Para información de cómo instalar el IDE de Arduino visitar: https://wiki.keyestudio.com/How_to_Download_Arduino_IDE
Para obtener más conocimientos respecto al entorno Arduino puede visitar los siguientes links:
- https://wiki.keyestudio.com/Getting_Started_with_Arduino
- https://wiki.keyestudio.com/How_to_Install_Arduino_Driver
- https://wiki.keyestudio.com/How_to_Install_Arduino_Library
Una vez instalado el IDE, debe ver una pantalla similar a la siguiente:
Las funciones de cada botón de la barra de herramientas se enumeran a continuación:
O puede navegar por el sitio web de KEYESTUDIO en este enlace, https://www.keyestudio.com/ y luego haga clic en el Tutorial de WIKI.
2)Introducción para bloques mixtos
Mixly es un software de programación gráfico gratuito de código abierto para Arduino, está basado en el marco de programación gráfica Blockly de Google, y desarrollado por Mixly Team@ BNU.
Es una herramienta gratuita de programación gráfica de código abierto para el desarrollo electrónico creativo; un sistema de apoyo completo para la educación electrónica creativa; un escenario para que los educadores realicen sus aplicaciones.
Más información por favor revise el enlace para descargar el software de bloques Mixly.
NOTA HUBOT: Mixly también se puede configurar para codificar en español, sin embargo, para efectos de seguir este tutorial correctamente, recomendamos usar Mixly en Inglés, ya que todos los ejemplos a continuación están con los códigos en inglés.
- https://wiki.keyestudio.com/Getting_Started_with_Mixly
- https://wiki.keyestudio.com/Download_Mixly_Software (descague desde aquí el software Mixly, luego instálelo en su computadora)
- https://wiki.keyestudio.com/How_to_Import_Mixly_Library
Antes de iniciar los proyectos de robot, haga clic en el enlace para obtener la comprensión básica del software Mixly.
3)Importar biblioteca de robots
Para el kit de robot, hemos desarrollado la biblioteca de robots de tanques keyestudio.
No se olvide de importar la biblioteca de robots keyestudio mini tanque al software Mixly antes de codificar los proyectos de robot.
Debe importar primero la biblioteca de coches robot, o de lo contrario no puede comprobar todo el código de prueba.
Descomprima el paquete de biblioteca Mini_Tank_Robot, puede ver el Mini_Tank_Robot XML.document.
A continuación, importe este documento en la biblioteca Mixly. ¡Importe la biblioteca personalizada con éxito! Puede hacer clic en «Administrador» para administrar todas las bibliotecas importadas.
Nota: a veces puede existir un conflicto entre bibliotecas, por lo que debe mantener sólo la biblioteca de coches correcta cuando se utiliza y eliminar otra biblioteca.
Introducción a los proyectos de hardware
Proyecto 1: LED incorporado
Cuando se trata de usar el REV4 como núcleo de nuestro robot, el REV4 es la mejor placa para empezar con la electrónica y la codificación.
Si esta es tu primera experiencia jugando con la plataforma, el REV4 es el tablero más robusto con el que puedes empezar a jugar.
Bueno, al principio echemos un vistazo a esto.
Aquí hay una tabla de explicación de lo que hace cada elemento e interfaz de la placa:
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. De hecho, esclavizar los dispositivos de salida bajo el host del bus SPI. Cuando se conecte al PC, programe el firmware a ATMEGA328P-PU. | |
Indicador LED de alimentaciónEncendido del Arduino, LED encendido significa que su placa de circuito está correctamente encendida. Si el LED está apagado, la conexión es incorrecta. | |
E/S digitalArduino 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. El pin etiquetado como «〜» se puede utilizar para generar PWM. | |
GND (encabezados de pasador de tierra)Utilizado para el circuito de tierra | |
ArefTensión de referencia (0-5V) para entradas analógicas. Se utiliza con analogReference(). | |
SdaPin de comunicación IIC | |
SclPin de comunicación IIC | |
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. Conectado a ATMEGA 16U2-MU. Cuando se conecte al PC, programe el firmware a ATMEGA 16U2-MU. | |
Botón RESETPuede restablecer su placa Arduino, por ejemplo, iniciar el programa desde el estado inicial. Puede utilizar el botón RESET. | |
D13 LEDHay un LED incorporado accionado por el pin digital 13. Cuando el pin es valor HIGH, el LED está encendido, cuando el pin está BAJO, está apagado. | |
Conexión USBLa placa Arduino se puede alimentar a través de un conector USB. Todo lo que tenía que hacer era conectar el puerto USB al PC mediante un cable USB. | |
ATMEGA 16U2-MUUSB a chip serie, puede convertir la señal USB en señal de puerto serie. | |
TX LEDA bordo se puede encontrar la etiqueta: TX (transmitir) Cuando la placa Arduino se comunica a través del puerto serie, enviar el mensaje, LED TX parpadea. | |
RX LEDA bordo puede encontrar la etiqueta: RX (recibir ) Cuando la placa Arduino se comunica a través del puerto serie, reciba el mensaje, los intermitentes LED RX. | |
Oscilador de cristalAyudar a Arduino a lidiar con problemas de tiempo. ¿Cómo calcula Arduino el tiempo? mediante el uso de un oscilador de cristal. El número impreso en la parte superior del cristal Arduino es 16.000H9H. Nos dice que la frecuencia es 16,000,000 Hertz o 16MHz. | |
Regulador de tensiónPara controlar el voltaje proporcionado a la placa Arduino, así como para estabilizar el voltaje de CC utilizado por el procesador y otros componentes. Convierta una entrada externa de voltaje DC7-12V en DC 5V, luego cambie DC 5V al procesador y otros componentes. | |
Conector de alimentación de CCLa placa Arduino se puede suministrar con una alimentación externa DC7-12V desde el conector de alimentación de CC. | |
IOREFSe utiliza para configurar el voltaje de funcionamiento de los microcontroladores. Utilelo menos. | |
Encabezado RESETConecte un botón externo para reiniciar la placa. La función es la misma que el botón de reinicio (etiquetado 9) | |
Power Pin 3V3Un suministro de 3,3 voltios generado por el regulador a bordo. El empate de corriente máxima es de 50 mA. | |
Power Pin 5VProporciona voltaje de salida de 5V | |
VinPuede suministrar una entrada de alimentación externa DC7-12V a través de este pin a la placa Arduino. | |
Pines analógicosLa placa Arduino REV4 tiene 6 entradas analógicas, etiquetadas A0 a A5. Estos pines pueden leer la señal de sensores analógicos (como sensor de humedad o sensor de temperatura), y convertirlos en el valor digital que puede leer por microcontroladores) También se puede utilizar como pines digitales, A0-D14, A1-D15, A2-D16, A3-D17, A4-D18, A5-D19. | |
MicrocontroladorCada placa Arduino tiene su propio microcontrolador. Puedes considerarlo como el cerebro de tu tabla. 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. Esta información se puede comprobar en la parte superior del CI. |
Hagamos una prueba simple para el LED integrado REV4 (D13).
Trabajaremos en parpadear un LED. Así es, ¡es tan simple como encender y apagar una luz!
Ahora basta de hablar – vamos a empezar con el proyecto LED.
Parpadeo de un LED
Es bastante simple encender y apagar un led incorporado. Sólo necesitamos una placa de control REV4 y un cable USB para entrar en el maravilloso mundo de la programación.
Conecte la placa REV4 al puerto USB del ordenador mediante un cable USB para la comunicación.
Código de prueba:
Abra Mixly bloquea la plataforma para empezar a utilizar la codificación.
En primer lugar, haga clic en IN/OUT, arrastre el bloque «DigitalWrite PINTM (0)Stat(HIGH)».
bloque se utiliza para establecer el nivel HIGH o LOW de Digital pin.
- Seleccione ALTO es establecer el nivel HIGH.
- Seleccione LOW para establecer el nivel LOW.
- El nivel HIGH es el estado de alta tensión, generalmente registrado como 1.
- Alto voltaje, alta corriente, las luces LED.
- El nivel LOW es el estado de baja tensión, generalmente registrado como 0.
- Baja tensión, baja corriente, el LED No se ilumina.
Para observar el parpadeo LED obviamente, necesitamos añadir un bloque Delay.
Compruebe el código de prueba a continuación y cárguelo en su placa REV4.
Lo que debería ver: Arrastre el código de prueba a la ventana Mixly;
recuerde seleccionar la placa adecuada y el puerto COM.
A continuación, compile y cargue el código en el panel de control. El mensaje de cargar el éxito aparecerá en la barra inferior.
El LED integrado REV4 (etiqueta «L») se encenderá durante 1 segundo y luego se apagará durante 1 segundo, alternativa y circularmente.
Proyecto 2: Visualización de imágenes
El estado de ejecución del robot se mostrará en el panel de matriz LED keyestudio 8×16. Así que primero vamos a aprender a programar este panel de matriz LED 8×16.
Introducción al hardware:
El panel de matriz LED Keyestudio 8×16 viene con 128 LED y chip AIP1640 soldado en la parte posterior.
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. Para facilitar el cableado, incluye un cable HX-2.54 de 4 Pines.
Parámetros:
- Voltaje de funcionamiento: DC 3.3-5V
- Pérdida de potencia: 400mW
- Frecuencia de oscilación: 450KHz
- Corriente de conducción: 200mA
- Temperatura de trabajo: de -40oC a 80oC
- Método de comunicación: Comunicación I2C
Guía de conexión
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. Conecte las dos baterías 18650 para la fuente de alimentación.
Codificación:
El panel LED 8×16 muestra un «V», frontal, iconos de parada; a continuación, borre los iconos, con un intervalo de tiempo de 2000 ms.
Vaya a «Control» ,arrastre el bloque . A continuación, vaya a «Mini_Tank_Robot» , arrastre y suelte el bloque en el bloque de configuración. Y haga clic en el triángulo desplegable detrás del comienzo para seleccionar «claro»,con el fin de borrar el patrón mostrado en el panel LED 8×16.
Y vaya a «Mini_Tank_Robot», arrastre el bloque ; ir a «Control», arrastreel bloque de retardo ; puede establecer aleatoriamente el tiempo de retardo; aquí nos fijamos para retrasar 2000ms.
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. ¡Sube el código para ver el efecto!
Resultado de la prueba:
cargue el código en la placa REV4 y, a continuación, gire el interruptor deslizante a la posición ON. El panel de matriz LED keyestudio 8×16 muestra los iconos V, ,STOPy, a continuación, borra los iconos, con un intervalo de 2 segundos.
Little Knowledge:
1.In el código, hemos configurado los patrones de visualización del panel LED. Puede elegir 7 patrones. Si elige clear, borrará el patrón mostrado en el panel LED.
2.Qué sucede cuando cambia el número en uno o ambos de la retardo (2000): Este período de retardo está en milisegundos, por lo que si desea que la pantalla LED sea baja o rápida, cambie el valor, pruebe 500 o 3000.
Práctica de extensión:
1.Haga que el panel LED muestre 7 patrones en un ciclo, con un tiempo de retardo de 500 ms para cada patrón. (programa de referencia)
Proyecto 3: Resistencia fotográfica
Para construir una luz siguiendo robot en los proyectos de robot, primero vamos a obtener la comprensión básica del módulo de foto-resistencia keyestudio.
Introducción al hardware:
Una resistencia fotorresistente o dependiente de la luz (LDR) o fotocélula es una resistencia variable controlada por la luz.
La resistencia del fotorresisteto varía con la intensidad de la luz incidente.
Si la intensidad de la luz incidente es alta, la resistencia disminuye; si la intensidad de la luz es baja, la resistencia aumenta.
Utilizamos las características del foto-resistor para diseñar el circuito y generar el módulo de fotorresistencia.
Conectando el pin de señal del módulo de fotocélula al puerto analógico, cuando cuanto más fuerte sea la intensidad de la luz, mayor será el voltaje del puerto analógico, mayor será el valor analógico.
Por el contrario, cuanto más débil sea la intensidad de la luz, menor será el voltaje del puerto analógico, menor será el valor analógico.
Basándonos en eso, podemos usar el módulo de fotocélula para leer el valor analógico, así que obtenga la intensidad de la luz ambiental.
Se puede aplicar en circuitos detectores sensibles a la luz, diseño de interruptor inteligente y circuitos de conmutación activados por luz y oscuridad.
Parámetros:
- Interfaz: 3Pin
- Voltaje de trabajo: 3.3V-5V (DC)
- Señal de salida: señal analógica
Guía de conexión
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 y 2 módulos de fotocélula al escudo del sensor V5.
Conecte el sensor de fotocélula izquierdo (-, +, S) al escudo del sensor (G(GND)-V(VCC)-A1); la fotocélula derecha al escudo del sensor (G(GND)-V(VCC)A2).
Codificación:
Los sensores de fotocélula izquierdo y derecho se han conectado bien.
Podemos diseñar el programa para leer el cambio de luz fotosensible de los sensores de fotocélula a través del puerto serie.
Así que podemos usar el bloque o , imprimir el contenido en el monitor serie.
Debido a que hay dos sensores de fotocélula, primero construimos dos variables para almacenar por separado la intensidad de la luz medida por ambos sensores de fotocélula.
Ir a «Variables», arrastre el bloque ; y vaya a «Matemáticas»,arrastre el bloque al bloque . A continuación, duplique este bloque de código una vez y cambie por separado el «elemento» en «left_light» y «right_light».
De esta manera, hemos construido los bloques variables y .
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». Las cosas colocadas dentro de la caja se pueden cambiar, como podemos colocar naranjas, manzanas, peras, etc.
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. Así que cada vez que menciono left_light, se refiere al valor de intensidad de la luz medido por left_light sensor en ese momento.
Ir a «Variables», arrastre el bloque ; y vaya a «Mini_Tank_Robot»,arrastre el bloque al bloque que acaba de hacer. A continuación, duplique este bloque de código una vez y cambie left_light a right_light ;
haga clic en el triángulo desplegable para seleccionar el right_light_sensor.
Ir a «SerialPort», arrastre el bloque ; y arrastre el bloque de «Texto» al bloque de impresión serie que acaba de hacer. A continuación, duplique este bloque de código tres veces; cambiar el primer «hola» en «left_light_value»; arrastre el bloque desde «Variables» para reemplazar el segundo «hola»; eliminar el tercer «hola», dejando un espacio en blanco; cambiar el cuarto «hola» por «right_light_value»
A continuación, vaya a «SerialPort», arrastre el bloque ; y arrastre el bloque de «Variables» al bloque Serial printIn que acaba de hacer.
Para que los datos se actualicen lentamente, agregamos un bloque de retardo de «Control» y establecemos en 500ms.
¡No se olvide de añadir configuración y velocidad en baudios serie 9600!
Ir a «Control» , arrastreel bloque de configuración ; y arrastre el bloque al bloque de configuración que acaba de hacer. A continuación, arrastre el bloque y debajo del bloque Velocidad en baudios serie 9600.
Si los datos medidos por el sensor de fotocélula izquierdo son mayores que 600, o los datos medidos por el sensor de fotocélula derecho son mayores que 600, el panel LED muestra un icono frontal, de lo contrario, muestra una «V».
Aquí podemos usar la instrucción de condición o . Pero el bloque esmás eficiente que .
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. Así que usted puede conseguir el bloque .
A continuación, vaya a la «Lógica» , arrastre el bloque y seleccione «>», luego arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «>» ; arrastre el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «>» y cambie el valor a 600; así:
Duplicamos este bloque una vez,y arrastramos el bloque, reemplazando el archivo .
Y de nuevo vaya a la «Lógica» , arrastre el bloque a la instrucción if; respectivamente arrastre el bloque y enel cuadro de entrada del 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. Y duplica el bloque una vez y arrastra a la instrucción else.
Conecte la placa de control REV4 al PC mediante un cable USB; subir el código completo para probar la intensidad de la luz!
Resultado de la prueba:
Cargue el éxito del código, abra el monitor y establezca la velocidad en baudios en 9600.
La ventana del monitor imprimirá el valor analógico de la luz ambiental.
Si el valor medido de un lado es mayor que 600, el panel de matriz LED mostrará el icono frontal; de lo contrario, muestre el V.
Poco conocimiento:
1.In el código, utilizamos la biblioteca para leer el valor analógico del sensor de fotocélula izquierdo (A1); el uso del bloque también tiene sentido.
El pin de señal del sensor de fotocélula derecho es A2.
2. significa que la velocidad en baudios se establece en 9600;
Imprima el número, texto u otro valor especificado en el monitor serie.
Imprima el número, texto u otro valor especificado en la nueva línea del monitor.
3.significa que si la condición 1 está satisfecha, va a ser
A, de lo contrario va a ser B. Cuando se utiliza, se puede encontrar el si… hacer… bloque de instrucciones en el bloque de control Mixly. A continuación, haga clic en el icono de engranaje en el bloque para arrastrar hacia fuera el otro o de lo contrario si el bloque que necesita utilizar.
4.Esta es una declaración lógica. Está disponible siempre y cuando pueda satisfacer cualquiera de las dos condiciones.
Práctica de extensión:
1.Cambiar la lógica de control de 2 valores analógicos leídos por 2 sensores de fotocélula para hacer que el panel LED muestre diferentes patrones. (programa de referencia)
Proyecto 4: Detección ultrasónica de obstáculos
Introducción de hardware:
El módulo ultrasónico emitirá las ondas ultrasónicas después de la señal de disparo. Cuando las ondas ultrasónicas encuentran el objeto y se reflejan hacia atrás, el módulo emite una señal de eco, por lo que puede determinar la distancia del objeto a partir de la diferencia de tiempo entre la señal de disparo y la señal de eco.
Podemos usar el sensor ultrasónico para detectar si hay un obstáculo por delante. Se utiliza comúnmente para medir la distancia entre el obstáculo delantero y el robot.
En el proceso de robot DIY, podemos utilizar la distancia medida por sensor ultrasónico para construir robots funcionales, tales como evitar automáticamente, seguir, etc.
En el experimento, utilizamos el sensor ultrasónico para medir la distancia entre el robot y el obstáculo frontal, controlando el panel de matriz LED keyestudio 8×16 mostrar las imágenes.
Especificaciones:
- Voltaje de funcionamiento: DC 5V
- Corriente de funcionamiento: 15mA
- Frecuencia de funcionamiento: 40khz
- Rango máximo: 2–3m
- Rango mínimo: 2cm
- Angulo de medición: 15 grados
- Señal de entrada del disparador: pulso TTL de 10 s
Guía
de conexión Conecte el sensor ultrasónico al escudo del sensor V5, el pin VCC a 5V (V), el pin de Trig a digital 5 (S), el pin de eco a digital 4 (S), el pin GND a GND (G).
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.
Codificación:
El sensor ultrasónico está conectado al escudo del sensor V5, pin VCC a 5V (V), pin de trig a digital 5 (S), pin de eco a digital 4 (S), pin GND a GND (G).; El pin del trig es accionar la señal y el pin del eco es recibir la señal de eco.
A continuación, es necesario escribir el programa para obtener la distancia específica medida por sensor ultrasónico.
Ir a «Control» , arrastre el bloque «configuración» ;
Arrastre el bloque desde «SerialPort» hasta el bloque «setup».
Vaya al «SerialPort» de nuevo, arrastre el bloque
y vaya a «Texto»,arrastre el bloque hacia fuera en el bloque y cambie la palabra «hola» a «distancia».
A continuación, vaya a «Small_Turtle_Robot», arrastre y suelte el bloque ultrasónico en el bloque «Serial printIn»;
Para que el valor se imprima lentamente, agregamos un bloque de retardo.
Y de nuevo vaya a «Control»,arrastre el bloquede retardo ; ajuste el tiempo de retardo en 500 ms.
A continuación, intente realizar otras dos
situaciones de distancia: Cuando la distancia medida entre el sensor ultrasónico y los obstáculos delanteros es menor que 10 cm, el panel LED muestra un patrón STOP.
Cuando la distancia medida entre el sensor ultrasónico y los obstáculos delanteros es superior a 10 cm, el panel LED muestra un patrón V.
Para juzgar si la distancia es menor que 10cm o mayor que 10cm, aquí podemos utilizar la declaración de condición o . Pero el bloque es más eficiente que .
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. Así que usted puede conseguir el bloque .
A continuación, vaya a «Logic», arrastre el bloque a la instrucción if y arrastre el bloque desde el «Mini_Tank_Robot» hasta el primer cuadro de entrada en el lado izquierdo de «-«; arrastre el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de la palabra «a» ; cambiar el valor de «A» a «<» , cambiar el valor 0 a 10; así:.
Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do, haga clic en el triángulo desplegable para elegir STOP. Y duplica el bloque una vez y arrastra a la instrucción else.
Cargue el éxito del código, abra el monitor serie para comprobar la distancia entre el sensor ultrasónico y un obstáculo.
Resultado de la prueba:
Cargue el éxito del código, abra el monitor y establezca la velocidad en baudios en 9600.
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. La unidad es cm.
Cuando la distancia medida es inferior a 10 cm, el panel LED 8×16 muestra STOP; de lo contrario, muestra V.
Poco conocimiento:
1.In el código, utilizamos el para medir la distancia entre el sensor ultrasónico y el obstáculo por delante, con una unidad de cm.
2.: significa que la velocidad en baudios se establece en 9600;
: imprima el valor de distancia en la nueva línea del monitor.
3.significa que si la condición 1 está satisfecha, va a ser
A, de lo contrario va a ser B. Cuando se utiliza, se puede encontrar el si… hacer… bloque de instrucciones en el bloque de control Mixly. A continuación, haga clic en el icono de engranaje en el bloque para arrastrar hacia fuera el otro o de lo contrario si el bloque que necesita utilizar.
Práctica de extensión:
1.Puede restablecer la lógica de control. Cambie el valor de distancia medido por el sensor ultrasónico para hacer que el panel LED muestre diferentes patrones. (programa de referencia)
Proyecto 5: Recepción por infrarrojos
- Control remoto IR:
No hay duda de que el control remoto por infrarrojos se ve comúnmente en nuestra vida diaria. Es difícil imaginar nuestro mundo sin él.
Un control remoto por infrarrojos se puede utilizar para controlar una amplia gama de electrodomésticos como televisión, audio, grabadoras de vídeo y receptores de señal por satélite.
Bueno, en el siguiente vamos a obtener una mejor comprensión del 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. Puede consultar la figura siguiente.
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. Se compone de un código piloto, código de usuario, código de datos y código de inversión de datos.
El intervalo de tiempo entre pulsos se utiliza para distinguir si es una señal 0 o 1. (cuando la relación de nivel alto a nivel bajo es de aproximadamente 1:1, considerado como señal 0.) Y la codificación está bien compuesta de señal 0 y 1.
El código de usuario del mismo botón en el mando a distancia no cambia. Utilizando datos de diferencia distinguir la tecla presionada en el mando a distancia.
Cuando se presiona hacia abajo un botón en el mando a distancia, se enviará una señal portadora de infrarrojos. Y cuando el receptor infrarrojo recibe esa señal, su programa decodificará la señal portadora, y a través de diferentes códigos de datos, por lo tanto puede juzgar qué tecla se presiona.
El microcontrolador es decodificado por una señal recibida 0 o 1 para determinar qué tecla es presionada por el mando a distancia.
- Módulo receptor IR:
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. Adecuado para control remoto IR y transmisión de datos por infrarrojos.
El módulo receptor infrarrojo tiene sólo tres pines (Señal, VCC, GND), muy conveniente para comunicarse con Arduino y otros microcontroladores.
Parámetros del receptor IR:
- 1) Voltaje de funcionamiento: 3.3-5V (DC)
- 2) Interfaz: 3PIN
- 3) Señal de salida: Señal digital
- 4) Ángulo de recepción: 90 grados
- 5)Frecuencia: 38khz
- 6)Distancia de recepción: 18m
Guía de conexión:
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.
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. El puerto analógico A0 corresponde al puerto digital14; A1 corresponde al puerto digital15.
Codificación:
Ahora escriba el programa. Al alinear en el receptor IR, pulse la tecla del mando a distancia IR, disponible para comprobar el cambio de señal de entrada del receptor IR en el monitor serie.
Ir a «Control»,arrastrar hacia fuera el bloque; y arrastreel bloque desde «SerialPort» al bloque «setup».
A continuación, el receptor IR recibirá la señal infrarroja cuando presione diferentes teclas en el mando a distancia IR.
Primero hacemos clic en la biblioteca importada «Mini_Tank_Robot», arrastrar el bloque; arrastre el bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer.
A continuación, vaya a «Variables»,arrastre el bloque hacia el bloque .
Así que el receptor infrarrojo puede recibir la señal infrarroja.
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. Y puede ver la codificación de teclas en el monitor serie.
A continuación, pase a realizar el patrón de control del receptor IR con el control remoto IR.
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. Así que aquí llamamos a la instrucción if del «Control». De acuerdo con el resultado medido, sabemos que la codificación infrarroja (valor de cadena) de la clave frontal es FF629D; la codificación infrarroja (valor de cadena) de la clave es FF02FD.
Como la clave de comando del control remoto IR es el código hexadecimal, el frente debe agregar 0x.
Si ir_rec 0xFF629D, pulse la tecla frontal del mando a distancia IR, la matriz de puntos muestra un patrón frontal.
Vaya a la «Lógica» , arrastre el bloque hacia fuera hasta la instrucción if y arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «-«;
arrastre el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de lapalabra «» y escriba «0xFF629D» , como este: .
Haga clic en «Mini_Tank_Robot» , arrastre el bloque hacia fuera en la instrucción do y haga clic en el triángulo desplegable para elegir front.
Duplicar la cadena de código anterior una vez; cambie «0xFF629D» a «0xFF02FD» y haga clic en el triángulo desplegable para seleccionar STOP.
¡El programa ha terminado bien! Cargue el código completo para ver el efecto.
Resultado de la prueba:
cargue el éxito del código, luego abra el monitor serie y establezca la velocidad en baudios en 9600.
Dirigido al sensor del receptor IR, presione la tecla del mando a distancia, verá la codificación correspondiente de la tecla en el monitor.
Si pulsas el botón durante mucho tiempo, aparecerá fácilmente un código desordenado como FFFFFF que se muestra a continuación.
Si recibe el valor del botón arriba del control remoto IR, el panel de matriz LED muestra el icono; si recibe el valor de la clave OK, muestra STOP.
A continuación hemos enumerado cada valor de botón del control remoto keyestudio. Así que puedes guardarlo como referencia.
Poco conocimiento:
1. En el código, usamos directamente la biblioteca; el pin de señal del módulo receptor IR es A0; el receptor IR recibe una señal infrarroja y emite codificación de 16 bits, imprimiendo en monitor serie (velocidad de transmisión 9600).
2.Podemos probar la codificación de 16 bits de cada botón en el control remoto infrarrojo por código fuente. O puede ver el gráfico de codificación de botones que se muestra arriba.
Práctica de extensión:
1.Haciendo que el panel LED muestre diferentes patrones por control remoto infrarrojo. 2.Conducir la dirección de giro de los 2 motores y la velocidad por control remoto infrarrojo.
(consulte el proyecto 8- conducción motora) Combine el receptor infrarrojo y los motores de conocimiento de conducción para construir un coche de control remoto infrarrojo.
Proyecto 6: Módulo Bluetooth
Descripción:
La tecnología Bluetooth es una tecnología estándar inalámbrica que permite el intercambio de datos de corta distancia entre dispositivos fijos, dispositivos móviles y la construcción de redes de área personal (utilizando ondas de radio UHF en la banda ISM de 2,4 a 2,485 GHz).
El módulo Keyestudio HM-10 Bluetooth-4.0 V3 es una máquina maestro-esclava. Cuando se utiliza como host, puede enviar comandos al esclavo activamente; cuando se utiliza como esclavo, sólo puede recibir comandos del host.
El módulo Bluetooth HM-10 es compatible con el protocolo Bluetooth 4.0, que no solo es compatible con dispositivos móviles Android, sino que también es compatible con el sistema iOS.
Técnicas:
- 1) Protocolo Bluetooth: Especificación Bluetooth V4.0 BLE
- 2) No hay límite de bytes en el puerto serie Transceiving
- 3) En un entorno abierto, realice una comunicación de 100 m de ultra-distancia con iphone4s
- 4) Protocolo USB: USB V2.0
- 5) Frecuencia de trabajo: banda ISM de 2,4 GHz
- 6) Método de modulación: GFSK (Gaussian Frequency Shift Keying)
- 7) Potencia de transmisión: -23dbm, -6dbm, 0dbm, 6dbm, puede ser modificado por el comando AT.
- 8)Sensibilidad: -84dBm a 0.1% BER
- 9) Velocidad de transmisión: asíncrona: 6K bytes; Sincrónico: 6k bytes
- 10)Característica de seguridad: Autenticación y cifrado
- 11) Servicio de apoyo: UUID central y periférico FFE0, FFE1
- 12) Consumo de energía: Modo de suspensión automática, estado de espera por corriente 400uA-800uA, 8.5mA durante la transmisión.
- 13) Fuente de alimentación: 5V DC
- 14) Temperatura de trabajo: –5 a +65 Centígrados
Descripción de los pines:
Diagrama de cableado:
conecte el VCC a 5V, GND a GND, TXD a RXD, RXD a TXD.
Código de prueba:
Al cargar el código, NO PUEDE conectar el módulo Bluetooth; de lo contrario la carga falla!
Se supone que debe cargar el código en la placa de control y, a continuación, conectar el módulo Bluetooth.
Resultado:
Primero debe instalar la APLICACIÓN en el teléfono celular. Descarga la APP desde el enlace: https://wiki.keyestudio.com/KS0455_keyestudio_HM-10_Bluetooth-4.0_V3_Compatible_with_HC-06_Pins
- Para Android APP:
APP instalada bien, se puede ver el icono en su teléfono Android.
Después del cableado, cargue el código de prueba en la placa REV4 y, a continuación, conecte el módulo Bluetooth. Encendido, el módulo Bluetooth está integrado en led parpadea.
Abra laaplicación Android , haga clic para escanear el dispositivo. Como se muestra a continuación.
Haga clic en Scan Device (Escanear dispositivo) para buscar en Bluetooth.
Haga clic en el primer dispositivo para conectar el Bluetooth.
El LED integrado conectado en el módulo Bluetooth está normalmente encendido. La interfaz APP mostrará el estado conectado.
En la barra introduzca la letra a, y haga clic para enviar, APP imprimirá el carácter «keyestudio» y el indicador D13 en la placa REV4 parpadeará una vez.
Continúe enviando la carta a, APP imprime múltiples caracteres «keyestudio» y el indicador D13 parpadea.
- Para mac/iOS APP
Es necesario descargar la aplicación compatible con Mac / iOS en la tienda de aplicaciones.
Primero entramos en la tienda APP, buscamos hm10, y seleccionamos el hm10 bluetooth serial lite.
Haga clic para instalar la aplicación, como se muestra a continuación.
APP instalada bien, un icono Bluetooth aparecerá en su teléfono. Haga clic para entrar en la APP.
Cargue el código de prueba para controlar la placa correctamente y, a continuación, conecte el módulo Bluetooth.
Abra la aplicación Bluetooth, haga clic para iniciar la búsqueda y el emparejamiento del módulo Bluetooth. Haga clic para iniciar la conexión del módulo Bluetooth HM-10.
Conectado, el LED incorporado en el módulo Bluetooth será de flash rápido a normalmente encendido.
En la barra de entrada introduzca una letra a, y haga clic para enviar, APP imprimirá el carácter «keyestudio» y el indicador D13 en la placa REV4 parpadeará una vez.
Continúe enviando la letra a, APP imprime múltiples caracteres «keyestudio» y el indicador D13 parpadea.
Proyecto 7: Ajuste del ángulo del servo
Introducción:
El servomotor es un actuador rotativo de control de posición. Se compone principalmente de carcasa, placa de circuito, motor sin núcleo, engranaje y sensor de posición.
Incluido con su servomotor encontrará una variedad de soportes negros que se conectan al eje de su servo.
Puede optar por conectar cualquier soporte que desee para el circuito. Servirá como una ayuda visual, por lo que es más fácil ver el servo spin.
Principio de funcionamiento:
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 motor compara la tensión de polarización de CC adquirida con la tensión del potenciómetro y emite una diferencia de voltaje.
El servomotor viene con muchas especificaciones. Pero todos ellos tienen tres cables de conexión, que se distinguen por los colores marrón, rojo, naranja (diferente marca puede tener un color diferente).
Marrón uno es para GND, rojo para potencia positiva, naranja para la línea de señal.
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). El ciclo estándar de la señal PWM es de 20 ms (50 Hz).
Teóricamente, el ancho se distribuye entre 1ms-2ms, pero de hecho, está entre 0.5ms-2.5ms. La anchura corresponde al ángulo de rotación de 0 a 180o.
Pero tenga en cuenta que para diferentes motores de marca, la misma señal puede tener un ángulo de rotación diferente.
Parámetros:
- Voltaje de funcionamiento: DC 4.8V〜6V
- Rango de ángulo: alrededor de 180o (en 500 x 2500 segundos)
- Rango de ancho de pulso: 500 a 2500 segundos
- Velocidad sin carga: 0.12 s 0.01 seg/60 (DC 4.8V); 0.1 a 0.01 seg/60 (DC 6V)
- Corriente sin carga: 200 x 20 mA (DC 4.8V); 220 x 20 mA (DC 6V)
- Par de torsión de parada: 1,3 x 0,01 kg / cm (DC 4,8 V); 1.5 x 0,1 kg/cm (DC 6V)
- Corriente de parada: ≦850mA (DC 4.8V); ≦1000mA (DC 6V)
- Corriente de espera: 3 x 1 mA (DC 4.8V); 4 x 1 mA (DC 6V)
- Temperatura de funcionamiento: -10oC〜50oC
- Temperatura de ahorro: -20oC〜60oC
- Longitud del cable del motor: 250 x 5 mm
Diagrama de conexión:
Conecte el servo pin al pin digital 9
Código de muestra:
Podemos establecer el HIGH/LOW para los pines correspondientes en el software de bloques Mixly, con el fin de ajustar el ángulo del servo; Además, creamos especialmente la biblioteca de robots, tan fácil de controlar el ángulo del servo con código simplificado.
Código 1: sin la biblioteca
Para comprender mejor el principio de trabajo específico del servo, es necesario configurar una variable para el ancho de pulso del servo e inicializar el valor inicial del ancho de pulso a 0.
Haga clic en «Variables», arrastre el bloque; y arrastre el bloque de «Matemáticas» al bloque ; cambiar «elemento»en «ancho de pulso» y asignar el valor a 0.
Vaya a «Control»,arrastre el bloque y arrastre el bloque a la configuración .
Una variable es como un cuadro, y una nueva variable es como hacer un cuadro; podemos darle a la caja un nombre, como la llamábamos «ancho de pulso». Las cosas colocadas dentro de la caja se pueden cambiar, como podemos colocar naranjas, manzanas, peras, etc.
La función de la caja variable en este programa es cargar el valor de la anchura de pulso servo. Con esta caja llamada «pulsewidth», podemos almacenar el valor de ancho de pulso recibido por servo en ella. Así que cada vez que menciono el ancho de pulso, se refiere al electroválvido servo en ese momento.
El servo está conectado al pin digital 9 y el valor del ángulo inicial es de 90o. Ir a «Funciones» ,arrastrar hacia fuera el bloque, a continuación, haga clic en el icono de engranaje azul, aparece el cuadro de edición, arrastre el bloque a dos veces; respectivamente cambiar ‘x’ a servopin y myangle. Obtener el bloque de esta manera:
Y de nuevoir a «Funciones» , arrastre hacia fuera el bloque ; a continuación, vaya a «Matemáticas», arrastreel bloque dos veces y en el bloque .
Ajuste el servo pin al pin digital 9; ángulo a 90 (este paso es muy importante antes de instalar el servo en su plataforma!).
Debido a la rotación El ángulo del servomotor se ajusta el ciclo de trabajo de la señal PWM (modulación de ancho de pulso). Modulación de ancho de pulso, la anchura, no la anchura del objeto, sino un alto nivel (activo) señales en un ciclo de la longitud de duración. Cuanto mayor sea el ciclo de trabajo, mayor será el ancho del pulso.
De hecho, la anchura del pulso está entre 0,5 ms y 2,5 ms, lo que corresponde al servoángulo entre 0 y 180o.
Vaya a «Control»,arrastre el bloquey hasta el bloque . La variable «i» no ha cambiado. Tome 50 pulsos del servo (es decir, 50 señales de onda cuadrada) como ejemplo, cambiando de 0 a 50 paso 1.
Haga clic en «Variables», arrastre el bloque al bloque y vaya a «Matemáticas»,arrastre el bloque y duplique una vez para hacer como , luego arrastre este bloque en el bloque de ancho de pulso ; cambiar el primer «+» a». Haga clic en «Variables», arrastre el bloque en el primer cuadro 1 y cambie el segundo cuadro 1 a 11, el tercer cuadro 1 a 500. Así que consigue el bloque de esta manera:
A través de la fórmula implícita en este bloque de código, podemos calcular el ancho del pulso usando el servo Angle.
Vaya a «IN/OUT»,arrastre el bloque ; y haga clic en «Variables», arrastre el bloque al cuadro de pasador y establezca en Stat HIGH.
Arrastre el bloque de retardo y arrastre un bloque variable al bloque de retardo; cambiar los milisegundos a microsegundos.
El ancho de pulso en este bloque de código es el tiempo de alto nivel establecido en la señal servo a 90o en un período de pulso, con unidad de microsegundo, y envía 50 señales de onda cuadrada, cada una de las cuales tiene un tiempo de alto nivel de 1490 (90 *11+500) microsegundos.
A continuación, duplique este pedazo de bloque una vez; establecido en LOW y haga clic en el triángulo desplegable para seleccionar ms.
Ir a «Matemáticas» , arrastrar hacia fuera el bloque y duplicar una vez para hacer como , reemplazando el bloque .
El período de la señal PWM (modulación de ancho de pulso) estándar se fija en 20 ms.
Cambie la segunda casilla 1 a 20; cambiar el primero»+» a»-«; duplicar el bloque en la segunda casilla 1, reemplazando 1. cambiar el segundo «+» a «»; cambiar la tercera casilla 1 a 1000. Así que consigue el bloque de esta manera:
El ancho de pulso en este bloque de código es el tiempo de bajo nivel establecido en la señal servo a 90o en un período de pulso, con unidad de microsegundo, y envía 50 señales de onda cuadrada, cada una de las cuales tiene un tiempo de bajo nivel de 18.51 (20-1490/1000) microsegundos.
¡Sube el código completo para ver el resultado!
Código 2: utilizando la biblioteca
Haga clic en «Small_Turtle_Robot»,arrastre hacia fuera el bloque servo ; ir a «Control»,arrastre el bloque y ajuste para retrasar 500ms.
Duplica la cadena de código una vez y establece el ángulo en 180.
Resultado de la prueba:
Cargue el código 1 correcto, gire el interruptor de diapositiva a la posición correcta. El servomotor girará a 90 grados.
Cargue el código 2 correcto, gire el interruptor de diapositiva a la posición correcta. El servomotor girará de 0 a 180o.
Little Knowledge:
1.In el código 1, regulamos directamente el ángulo del servo por el principio de servocontrol.
esta pieza de bloque es establecer el procedimiento; conecte el pin de señal servo a D9 y ajuste el ángulo del servo a 90o
2.Para el código de procedimiento, envíe 50 señales cuadradas; Cada señal cuadrada tiene un tiempo de nivel HIGH de 1490 (90*11+500) microsegundos; Tiempo de nivel BAJO de 18,51 (20-1490/1000) milisegundos.
3.In el código 2, usamos directamente la biblioteca para establecer el ángulo del servo. Ajuste el pin de la señal servo a D9.
Práctica de extensión:
1.Consulte el principio de regulación del servo y el método code1. Trate de girar el ángulo del servo a 0o, 45o y 180o
2.Ajuste el ángulo del servo con la biblioteca. Haga que el ángulo del servo gire primero gradualmente de 0 a 180o, luego gire de 180o a 0o gradualmente, alternativamente y de forma circular.
Proyecto 8: Conducción del motor y control de velocidad
Introducción:
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. La corriente de conducción de hasta 2A, y el terminal de salida del motor adopta ocho diodos Schottky de alta velocidad como protección.
Hemos diseñado el escudo del conductor del motor basado en el circuito L298P.
Cuando se utiliza, simplemente apile el escudo del motor L298P en la placa REV4, o apile el escudo del sensor V5 en el escudo del motor L298P y conecte los módulos del sensor al escudo del sensor.
Cuando encienda el escudo del motor con una tensión externa DC 7-12V, cara arriba el interruptor deslizante, gire el interruptor a la posición izquierda, apagando la tensión; Gire el interruptor a la posición correcta, suministrando energía al escudo del motor, escudo del sensor REV4 y V5, fácil y simple.
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. Además, creamos la biblioteca de robots para conducir el robot, más simple y fácil de jugar.
Parámetros:
- 1) Chip de control: L298P
- 2) Voltaje de entrada de la parte lógica: DC5V
- 3) Voltaje de entrada de la parte de conducción: DC 7-12V
- 4) Corriente de trabajo de la parte lógica: <36mA
- 5) Corriente de trabajo de la pieza de conducción: <2A
- 6) Disipación de potencia máxima: 25W (T-75oC)
- 7) Temperatura de trabajo: -25oC+130oC
Conducción del motor:
Apile el escudo del motor en REV4 y conecte los 2 motores. Consulte la configuración de la tabla siguiente. Podemos controlar el movimiento del robot conduciendo los 2 motores a través de pin digital y pin PWM.
El valor PWM está en el rango de 0-255. Cuanto mayor sea el valor, más rápido giran los motores.
Guía de conexión:
Nota: el bloque de terminales 4Pin está marcado con serigrafía 1234. La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2. La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
Codificación: Código 1: sin la biblioteca Navegar el robot tanque para ir al frente durante 2 segundos, hacia atrás durante 2 segundos, girar a la izquierda durante 2 segundos, girar a la derecha durante 2 segundos, detener durante 2 segundos.
Vamos a escribir el código para el motor izquierdo y el derecho para girar hacia adelante.
Vaya a «Entrada/Salida»,arrastre el bloque y ; por separado duplica estos dos bloques una vez, establecido en pin digital 13 y pin 12; cambiar el pin analógico 3 al pin 11 y el pin 3. Pin 13 y pin 12 establecido en LOW; asignar el valor pin11 y pin 3 a 200.
A continuación, vaya a arrastrar el bloque desde «Control»y establezca en 2000ms.
Así que ahora completamos el código para el robot girando hacia adelante durante 2 segundos.
A continuación, pasa a escribir el código para el robot girando hacia atrás, girando a la izquierda, girando a la derecha y detenerse.
Duplicar la cadena de código terminada por encima tres veces;
Ajuste el pin 13 y el pin 12 a HIGH,asigne el pin 11 y el valor del pin 3 a 200, de modo que tanto el motor izquierdo como el derecho giren hacia atrás, por lo que el robot girará hacia atrás.
Ajuste el pin 13 a HIGH y el pin 12 a LOW, asigne tanto el pin 11 como el pin 3 a 200, de modo que el motor izquierdo gire hacia atrás y el motor derecho gire hacia delante, por lo tanto el robot girará hacia la izquierda.
Ajuste el pin 13 a LOW y el pin 12 a HIGH, asigne tanto el pin 11 como el pin 3 a 200, de modo que el motor izquierdo gire hacia delante y el motor derecho gire hacia atrás, por lo que el robot girará hacia la derecha.
Vaya a «In/Out» de nuevo, arrastre el bloquey duplique una vez, establecido en pin 3 y pin 11, asigne el valor 0; a continuación, agregue un bloque de retardo 2000ms.
¡Sube el código completo para ver el resultado final!
Código 2: uso de la biblioteca
Haga clic en «Mini_Tank_Robot» , arrastre el bloque y establezca en PWM200; por lo que el robot se moverá delante a una velocidad de PWM200.
Este bloque tiene la misma función que el bloque de cadenas.
A continuación, vaya a arrastrar el bloque desde «Control» y establezca en 2000ms.
Haga clic en «Mini_Tank_Robot», arrastre el bloque , , y ; se establece en PWM200; respectivamente añadir un bloque de retardo en 2000ms.
Resultado de la prueba:
Cargue el código correctamente, gire el interruptor de diapositiva a la posición correcta.
El robot avanzará durante 2 segundos, retrocederá durante 2 segundos, luego girará a la izquierda durante 2 segundos, girará a la derecha durante 2 segundos, se detendrá durante 2 segundos, alternativamente y circularmente.
Poco conocimiento:
1.Tanto Code1 como Code2 tienen la misma función. Puede abrir la ventana Mixly para comprobar el código de idioma C.
2.El valor PWM está en el rango de 0-255. Cuanto mayor sea el valor que establezcamos, más rápido giran los motores.
Práctica de extensión:
1.Consulte la lógica de conducción del motor y el conjunto de códigos; tratar de restablecer una nueva pista móvil para su coche inteligente.
Por ejemplo, establecemos un nuevo programa para el robot tanque que se mueve a una velocidad de PWM150.
El robot del tanque retrocede durante 2 segundos, adelante durante 4 segundos, gira a la derecha durante 2 segundos, gira a la izquierda durante 3 segundos, avanza durante 2 segundos y luego retrocede durante 0,5 segundos, se detiene durante 1 segundo, alternativamente y circularmente.
Empezar a trabajar con proyectos de robots
Después de aprender los conocimientos básicos del hardware del robot, ahora prepárate para dar al robot tanque capacidad para conquistar todo!
¡Vamos a ensamblar todas las piezas del robot del tanque juntas! Es hora de construir su propio robot tanque increíble.
Proyecto 9: Instalación de robots de tanques
A primera vista del embalaje del robot tanque, todas las piezas se colocan de forma ordenada y completa en la caja.
¡Estupendo! siga los pasos a continuación para empezar a instalar este increíble robot tanque!
Paso 1: instalar el motor inferior del tanque
Prepare las piezas de la siguiente manera:
- Tornillo hexagonal interior M4*12MM * 2
- Tornillo hexagonal interior M3*8MM * 4
- Tuerca M4 * 2
- Piezas de apoyo azules *2
- Soporte de metal *2
- Acoplador de cobre *2
- Motor metálico *2
- Llave hexagonal interna tipo L M1.5 *1
- Llave hexagonal interna tipo L M2.5 *1
- Llave hexagonal interna tipo L M3 *1
Para empezar, fije por separado una pieza de soporte azul en un soporte de metal utilizando un tornillo M4 * 12MM y una tuerca M4. utilizar la llave hexagonal interna de tipo L M3 para meter la pata. Preste más atención al orificio de perforación.
A continuación, atornille el acoplador de cobre al motor de CC metálico. tenga en cuenta que cada acoplador de cobre viene con un tornillo de fijación M3 * 4MM. Primero debe atornillar el tornillo de fijación M3 *4MM dentro del acoplador de cobre con una llave hexagonal interna de tipo L M1.5. Y luego montar los dos acopladores de cobre a 2 motores de CC de metal y atornillar con los dos tornillos de ajuste M3 * 4MM.
Después de eso, monte por separado el motor de CC de metal en el soporte de metal con cuatro tornillos hexagonales internos M3 * 8MM. utilizar la llave hexagonal interior de tipo L M2.5 y la llave auto-preparada para arruinar. Vea los detalles a continuación.
Por último, puede obtener el soporte inferior del motor que se muestra a continuación.
Paso 2: instale la rueda del conductor del tanque
Prepare las piezas de la siguiente manera:
- M4*12MM inner hex screw * 1
- M4*50MM inner hex screw * 1
- Rueda de carga del tanque * 2
- Cojinete de brida * 2
- Arbusto de cobre *2
- Banda Caterpillar *2
- Tuerca autoblocante M4 * 2
- Llave hexagonal interna tipo L M3 *1
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. Se muestra a continuación.
A continuación, conecte la rueda de carga del tanque, el casquillo de cobre, el cojinete de brida y el tornillo hexagonal interior M4 * 50MM.
Después de eso, obtendrá las partes a continuación.
Fije la rueda de carga del tanque, la banda Caterpillar con el cojinete de brida y la tuerca autoblocante M4. Y utilice la llave hexagonal interior de tipo L M3 y la llave auto-preparada para atornillar la tuerca autoblocante M4.
Más detalles se muestran a continuación:
Finalmente usted debe obtener la rueda completa del tanque a continuación.
Paso 3: instale la caja de la batería
Prepare las piezas de la siguiente manera:
- Tornillo de cabeza plana M3* 10MM * 2
- M3 nut * 2
- Caja de la batería *1
- Soporte de metal azul *2
- Tornillo hexagonal interior M4*40MM *4
- Tuerca M4 *4
- Llave hexagonal interna tipo L M2.5 *1
- Llave hexagonal interna tipo L M3 *1
- Tornillo hexagonal interior M3 *25MM *4
- M3 * 45MM pilar de cobre de doble pasada *4
Fije la caja de la batería en el soporte de metal con dos tornillos de cabeza plana M3 * 10MM y dos tuercas M3. Y utilice la llave hexagonal interior de tipo L M2.5 y la llave auto-preparada para atornillar los tornillos de cabeza plana M3 * 10MM y tuercas M3.
Termine la parte anterior. Ir a fijar el soporte de metal en la rueda del motor con cuatro M4 * 40MM tornillo hexagonal interior y cuatro tuerca M4.
Debe montar el soporte de metal conectado con una caja de batería en las piezas de soporte azul con cuatro tornillos hexagonales internos M4 * 40MM.
A continuación, debe montar otro soporte de metal en la parte posterior con cuatro tuercas M4. Y utilice la llave hexagonal interior de tipo L M3 y la llave auto-preparada para atornillar los tornillos de cabeza plana M3 * 10MM y tuercas M3.
Finalmente atornille cuatro tornillos hexagonales internos M3* 25MM y pilares de cobre de doble pasada M3 * 45MM en las piezas de soporte azul. Y utilice la llave hexagonal interna de tipo L M2.5 para atornillar los tornillos hexagonales internos M3 * 25MM y los pilares de cobre de doble pasada M3 * 45MM.
Paso 4: montar el módulo del sensor
Vaya a montar la caja de acrílico y los módulos del sensor.
Prepare las piezas de la siguiente manera:
- Placa superior de acrílico * 1
- Tornillo hexagonal interior M3*8MM * 4
- M3 * 10MM pilar de cobre de doble pasada *4
- M2 * 11MM pilar de cobre de doble pasada *4
- Tornillo de cabeza redonda M2 * 10MM * 4
- Llave hexagonal interna tipo L M2.5 *1
Atornille el tornillo hexagonal interior M3 *8MM y el pilar de cobre de doble pasada M3 * 10MM a la placa superior de acrílico.
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. Y usa la llave hexagonal interna M2.5 tipo L para meter la pata.
Vaya a montar el módulo receptor IR en la caja de acrílico. Prepare las piezas de la siguiente manera:
- M3*8MM inner hex screw * 1
- M3*12MM round-head screw * 2
- Tuerca de niquelado M3 *5
- Soporte de tipo L *1
- Módulo receptor IR *1
- Cable de puente F-F de 3 pines*1
- Placa de acrílico * 1
- Destornillador * 1
- llave auto-preparada
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, utilice el destornillador y la llave auto-preparada para arruinar los accesorios.
Conecte el cable del puente al módulo receptor IR (cable negro al pin»-«, rojo a»+», amarillo a «S»), y atornille el módulo receptor IR en la placa de acrílico con una tuerca de niquelado M3 y un tornillo hexagonal interior M3 *8MM.entonces utilice la llave hexagonal interior de tipo L M2.5 y la llave auto-preparada para atornillar los accesorios.
A continuación, instale el soporte de tipo L en la placa de acrílico utilizando 2 tornillos de cabeza redonda M3 * 12MM y 4 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. Prepare las piezas de la siguiente manera:
- Módulo de fotocélula * 2
- Panel LED 8X16 *1
- Placa de acrílico * 1
- M3 nickel plating nut *2
- M3*12MM round-head screw * 2
- M2*10MM inner hex screw *4
- M2 nickel plating nut *4
- Cable de puente de cabeza hembra HX-2.54 4P *1
- Destornillador * 1
- llave auto-preparada
Fije los 2 módulos de fotocélulas en las partes de la placa de acrílico con 2 tornillos de cabeza redonda M3 * 12MM y 2 tuercas de niquelado M3.then utilice el destornillador y la llave auto-preparada para atornillar los accesorios.
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. Y conecte el cable del puente HX-2.54 4P.
Paso 5: instalar la plataforma de plástico servo
Prepare las piezas de la siguiente manera:
- Servomotor *1
- Piezas de plataforma de plástico *1
Nota: antes de instalar la plataforma servo. Para una depuración conveniente, debe asegurarse de que el módulo ultrasónico está orientado hacia la parte delantera del tanque, y el ángulo del servomotor es de 90o.
Para empezar, tenemos que ajustar el servo a 90o antes de instalar la plataforma servo.
Apile el protector del sensor en la placa REV4 y, a continuación, conecte el servomotor montado con soporte blanco al protector del sensor.
(Brown uno
es para GND, rojo para potencia positiva, naranja para la línea de señal) Conectado bien, abra el software Mixly y cargue el código de prueba a continuación para rotar el servo a 90o. (Nota: antes de cargar el código,
necesita agregar la biblioteca primero)
Para obtener más detalles, puede consultar robot
Lección 2 Control de ángulo servo. Puede consultar el uso detallado de Mixly mencionado en la siguiente sección.
El servo angelito se ajusta con éxito a 90o.
A continuación, puede empezar a instalar la plataforma de plástico servo en este momento.
Monte la cruz blanca en la placa base negra con cuatro tornillos auto-tapping M1.2 * 5MM (dentro de la bolsa de plataforma de plástico).
A continuación, fije el servomotor en la cruz blanca con un tornillo autorroscant. Preste más atención al ángulo del servo en frente de 90o.
Mostrar detalles como se muestra a continuación:
Después de eso, fije las dos partes laterales en la placa base del servo con dos tornillos auto-tapping. Felicidades por completarlo.
Mostrar detalles como se muestra a continuación:
Después de eso, monte el módulo ultrasónico en la plataforma servo con lazos de cable negro. Se muestra a continuación.
Paso 6: instalar todas las piezas de la placa de acrílico
Instale todas las piezas de placa de acrílico y la plataforma servo ultrasónica.
Prepare las piezas de la siguiente manera:
- Tornillo de cabeza redonda M3 * 12MM *2
- M3 nickel plating nut *2
- Tornillo de cabeza redonda M2 * 5MM *4
- Destornillador *1
- llave auto-preparada
Monte la plataforma servo ultrasónica en la placa de acrílico inferior con tornillos de cabeza redonda de 4 M2 * 5 MM.then utilice el destornillador y la llave auto-preparada para arruinar los accesorios.
Preste mucha atención al ángulo del servo; asegúrese de que el ángulo del servo esté en frente de 90o.
A continuación, atornille la placa de acrílico de matriz LED 8×16 en la placa de acrílico inferior con 2 tornillos de cabeza redonda M3 * 12MM y 2 tuercas de niquelado M3.
Paso 7: Piezas completas del tanque y tablero de control
Instale todas las piezas completas del tanque y monte la placa de control.
Prepare las piezas de la siguiente manera:
- M3*6MM inner hex screw *8
- Escudo de accionamiento del motor L298P *1
- REV4 *1
- Escudo del sensor V5 *1
- Cable de puente de 3 pines *2
- Llave hexagonal interna tipo L M3 *1
Monte la pieza de acrílico en la parte inferior de la rueda inferior del tanque con 4 tornillos hexagonales internos M3 * 6MM.then utilice la llave hexagonal interior tipo L M3 para atornillar la pata.
Los cables de conexión deben pasar a través de los orificios en la placa de acrílico.
Después de eso, monte la placa de control en la placa de acrílico del robot tanque.
Primero conecte el cable del puente a los 2 módulos de fotocélula
Instale la placa REV4 en la placa de acrílico con cuatro tornillos hexagonales internos M3*6MM.
A continuación, apile el escudo L298P en la placa REV4 y apile el escudo del sensor V5 en el escudo L298P.
Guía de conexión
Conecte bien todos los módulos del sensor a la placa de control.
Conecte la carcasa de la batería y el motor de CC al escudo L298P.
El cable negro de la caja de la batería está conectado al extremo negativo «-«;
cable rojo está conectado al extremo positivo «+»;
El bloque de terminales 4Pin está marcado con serigrafía 1234.
La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2.
La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
¡Felicidades! completar la instalación del robot del tanque.
Comience con los siguientes proyectos de robot, primero debe cargar el código de prueba con éxito, luego conectar el módulo Bluetooth; de lo contrario, la carga de código fallará.
El robot del tanque está bien instalado. Aprende los proyectos de robot para darle a tu robot tanque la poderosa capacidad.
Proyecto 10: Tanque de seguimiento ligero
Diseño de circuito:
Podemos combinar el conocimiento del hardware – módulo de fotorresistor, conducción del motor, para construir una luz siguiente robot!
En el proceso del circuito, utilizamos 2 módulos de fotorresistor para detectar la intensidad de la luz en ambos lados del robot. Lea el valor analógico para girar los 2 motores, así conducir el robot tanque correr.
La lógica específica de la luz siguiente robot se muestra como la siguiente tabla:
Basándonos en el diseño del circuito, podemos empezar a construir nuestro propio robot tanque de seguimiento de luz.
Siga el diagrama de cableado y el código de prueba a continuación.
Nota: el bloque de terminales 4Pin está marcado con serigrafía 1234.
La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2.
La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
Conecte el sensor de fotocélula izquierdo (-, +, S) al escudo del sensor (G(GND)-V(VCC)-A1); la fotocélula derecha al escudo del sensor (G(GND)-V(VCC)A2).
Codificación:
Los sensores de fotocélula izquierdo y derecho se han conectado bien.
Podemos diseñar el programa para leer el cambio de luz fotosensible de los sensores de fotocélula a través del puerto serie.
Así que podemos usar el bloque o , imprimir el contenido en el monitor serie.
Debido a que hay dos sensores de fotocélula, primero construimos dos variables para almacenar por separado la intensidad de la luz medida por ambos sensores de fotocélula.
Ir a «Variables», arrastre el bloque ; y vaya a «Matemáticas»,arrastre el bloque al bloque . A continuación, duplique este bloque de código una vez y cambie por separado el «elemento» en «left_light» y «right_light».
De esta manera, hemos construido los bloques variables y .
Ir a «Variables», arrastre el bloque ; y vaya a «Mini_Tank_Robot»,arrastre el bloque al bloque que acaba de hacer. A continuación, duplique este bloque de código una vez y cambie left_light a right_light ;
haga clic en el triángulo desplegable para seleccionar el right_light_sensor.
Ir a «SerialPort», arrastre el bloque ; y arrastre el bloque de «Texto» al bloque de impresión en serie y cambie el «hola» a «left_light_value»; a continuación, vaya a «SerialPort», arrastre el bloque ; y arrastre el bloque de «Variables» al bloque Serial printIn que acaba de hacer.
Duplicar esta pieza de bloque de código una vez y cambiar el «left_light_value» en «right_light_value»; «left_light»
a «right_light» Para que los datos se actualicen lentamente, agregamos un bloque de retardo de «Control» y establecemos en 500ms.
¡No se olvide de añadir configuración y velocidad en baudios serie 9600!
Ir a «Control» , arrastreel bloque de configuración ; y arrastre el bloque al bloque de configuración que acaba de hacer. A continuación, arrastre el bloque y debajo del bloque Velocidad en baudios serie 9600.
Si los sensores de fotocélula izquierdo y derecho cumplen las condiciones de left_light>650 y right_light>650, el robot del tanque irá al frente a una velocidad de PWM200;
Si los sensores de fotocélula izquierdo y derecho cumplen las condiciones de left_light>650 y right_light-650, el robot del tanque girará a la izquierda a una velocidad de PWM200;
Si los sensores de fotocélula izquierdo y derecho cumplen con las condiciones de left_light 650 y right_light>650, el robot del tanque girará a la derecha a una velocidad de PWM200;
Si los sensores de fotocélula izquierdo y derecho cumplen las condiciones de left_light 650 y right_light 650, el robot del tanque dejará de moverse.
Aquí podemos usar la instrucción de condición Ira «Control»,arrastrar el bloque, luego hacer clic en el icono de engranaje azul, aparecer el cuadro de edición,
arrastrar el bloque al bloque. Así que usted puede conseguir el bloque .
Debido a cuatro condiciones que mencionamos anteriormente, de nuevo vamos a arrastrar el bloque en el bloque una vez y luego arrastrar por debajo de la .
A continuación, vaya a la «Lógica» , arrastre el bloque y seleccione «>», luego arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «>» ; arrastre el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «>» y cambie el valor a 600; así:
Duplicamos este bloque una vez,y arrastramos el bloque, reemplazando el archivo .
Y de nuevo vaya a la «Lógica» , arrastre el bloque a la instrucción if; respectivamente arrastre el bloque y enel cuadro de entrada del bloque .
Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do y establézcalo en PWM200.
A continuación, duplique el bloque una vez y arrástrelo a otra instrucción if; cambiar a «right_light 650»
Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do y establezca el valor en PWM200.
Duplicar el bloque una vez más y arrastrarlo a la segunda instrucción if; cambiar a «left_light 650»
Arrastre el bloque de «Mini_Tank_Robot» a la instrucción do y establezca el valor en PWM200.
Por último, arrastre el bloque de «Mini_Tank_Robot» a la instrucción else.
¡Hemos escrito bien el programa para que el robot tanque rastree la luz!
Cargue el programa y cambie la intensidad de la luz ambiental para ver el resultado en movimiento.
debe cargar el éxito del código primero, luego conectar el módulo Bluetooth.
De lo contrario, se produce un error en la carga del código.
Resultado:
Cargue el éxito del código en la placa REV4; gire el interruptor deslizante a la posición correcta.
El mini robot tanque caminará a lo largo de la luz.
Proyecto 11: Tanque de seguimiento ultrasónico
Diseño de circuito:
Combinamos el conocimiento de hardware – panel LED, unidad de motor, ultrasónico y servo, para construir un robot de seguimiento ultrasónico!
En el proceso del circuito, podemos hacer uso de sensor ultrasónico para detectar la distancia entre el robot del tanque y los obstáculos delanteros. Controle el motor girando mediante datos medidos, controle así el movimiento del robot del tanque.
La lógica específica del robot de seguimiento ultrasónico es como se muestra a continuación:
Basado en el diseño del circuito, podemos empezar a construir nuestro propio robot tanque ultrasónico.
Siga el diagrama de cableado y el código de prueba a continuación.
Nota: Apile el protector del sensor V5 en el escudo del motor y, a continuación, apilelos en la placa REV.
El bloque de terminales 4Pin está marcado con serigrafía 1234. La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2. La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
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.
Conecte el sensor ultrasónico al escudo del sensor V5, el pin VCC a 5V(V), el pin Trig al digital 5 (S), el pin Echo al digital 4 (S), el pin GND al GND(G).
Conecte el servomotor al escudo del accionamiento del motor (G(GND)-V(VCC)-9). La línea marrón es para GND, rojo uno para 5V, naranja para el pin digital 9.
Codificación:
Ahora escriba el programa para construir un robot ultrasónico siguiente.
En primer lugar, configure e inicialice el ángulo del servo a un panel LED de 90o,8×16 muestra un patrón «V» después de que la pantalla esté clara.
Ir a «Control» ,arrastrar hacia fuera bloque ; y arrastre el bloque desde «Serial Port» al bloque de configuración. A continuación, vaya a «Mini_Tank_Robot», arrastre y suelte el bloque y entre en el bloque de configuración; ajustar el ángulo del servo a 90o; haga clic en el triángulo desplegable para elegir «borrar».
Vaya a «Control», arrastre el bloque y establezca para retrasar 200ms. Y de nuevo arrastre el bloque debajo del bloque de retardo.
A continuación, cree un bloque variable de distancia.
Haga clic en «Variables» , arrastre el bloque; y arrastre el bloque de «Matemáticas» en el valor detrás como ; cambiar «elemento» en «distancia» y asignar al valor 0. Por lo que ya construir una variable .
Haga clic en «Variables» , arrastre el bloque; y arrastre el bloque de «Mini_Tank_Robot» en el bloque de distancia para hacer como .
Juzgue la distancia del obstáculo frontal medida por un sensor ultrasónico.
Aquí podemos usar la declaración de juicio «si… hacer… otra cosa si… hacer… otra cosa si… hacer… otra cosa…» . Primero cuando la distancia de obstáculo frontal detectada por el sensor ultrasónico es mayor e igual a 20cm, y menor que e igual a 60cm, el robot irá al frente a una velocidad de PWM200.
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 dos veces y luego arrastreel bloque debajo del bloque. Así que usted puede conseguir el bloque: .
Vaya a «Logic», arrastre el bloque y seleccione «»; ir a «Variables» , arrastre el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «»; arrastre el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de la palabra «a»; cambiar el valor de 0 a 20; así: (tenga en cuenta que puede escribir el valor de forma flexible.)
Duplicamos el bloque una vez, y cambiamos a «distancia 60» .
Piensa en ello, usamos una palabra «y» cuando describimos la declaración de juicio. Hay un bloque en «Logic» para representar ambas condicionessuceden al mismo tiempo, es decir,
, para juzgar la distancia de 20 a 60cm. Así que arrastramos el bloque «distancia 20» y «distancia 60» en el bloque y arrastramos el bloque a la instrucción if.
Seguido de arrastrarel bloque de «Mini_Tank_Robot» a la instrucción do; cambiar el PWM0 en PWM200.
Hasta ahora, hemos completado el programa cuando la distancia de obstáculo frontal detectada por el sensor ultrasónico es mayor e igual a 20 cm, y más pequeño que e igual a 60 cm, el robot irá al frente a una velocidad de PWM200.
A continuación pasamos a escribir el programa. Cuando la distancia de obstáculo frontal detectada por el sensor ultrasónico es mayor que 10 cm y menor que 20 cm, o menor que 60 cm, el robot dejará de moverse. Si la distancia medida es menor que e igual a 10 cm, el robot volverá a una velocidad de PWM200.
Simplemente duplicamos el bloque una vez y lo arrastramos a la instrucción else if. Y ajuste a «distancia>10» y «distancia<20».
Seguido de arrastrar el bloque de «Mini_Tank_Robot» a la instrucción do.
Y duplica el bloque una vez y arrástralo a la segunda instrucción if. Establézcase en «distancia 10».
Seguido de arrastrar el bloque de «Mini_Tank_Robot» en la instrucción do y establecer en PWM200.
Y de nuevo ir a duplicar el bloque una vez y arrastrar en la instrucción else.
Ahora complete el código para el robot ultrasónico después. ¡Sube el código completo para operar tu robot tanque!
Código:
Nota: debe cargar el éxito del código primero, a continuación, conecte el módulo Bluetooth. De lo contrario, se produce un error en la carga del código.
Resultado:
Cargue el éxito del código en la placa REV4; gire el interruptor deslizante a la posición correcta.
El servomotor gira a 90o y el panel LED 8X16 muestra el icono «V».
El mini robot tanque caminará a lo largo del obstáculo delantero.
Proyecto 12: Tanque de evitación ultrasónico
Diseño de circuito:
Combinamos el conocimiento de hardware – panel LED, unidad de motor, ultrasónico y servo, para construir un robot de evitar ultrasonidos!
En el proceso del circuito, podemos hacer uso de sensor ultrasónico para detectar la distancia entre el robot del tanque y los obstáculos delanteros. Controle el motor girando mediante datos medidos, controle así el movimiento del robot del tanque.
La lógica específica del robot de evitar ultrasonidos es como se muestra a continuación:
Basado en el diseño del circuito, podemos empezar a construir nuestro propio robot tanque de evasión ultrasónica.
Siga el diagrama de cableado y el código de prueba a continuación.
Código:
Ahora escriba el programa para construir un robot de evitar ultrasonidos. Aquí hay que configurar tres variables.
Haga clic en «Variables», arrastre el bloque ; y arrastre el bloque de «Matemáticas» al bloque ; duplicar dos veces y, respectivamente, cambiar «elemento» en»un«, «a1«, «a2«.
Así que podemos obtener las variables, y .
La variable almacena la distancia de obstáculo frontal medida por el sensor ultrasónico cuando el servo está a 90o;
La variable almacena la distancia de obstáculo izquierda medida por sensor ultrasónico cuando el servo está a 160o;
La variable almacena la distancia de obstáculo correcta medida por sensor ultrasónico cuando el servo está a 20o.
Necesidad de inicializar la variable «a»»a1″»a2″valor a 0 y arrastrar en el bloque de configuración.
Ir a «Control»,arrastrar hacia fuera bloque ; a continuación, vaya a arrastrar el bloque, y en el bloque de configuración; haga clic en «Mini_Tank_Robot», arrastre el bloque hacia fuera en el bloque de configuración y ajuste el ángulo del servo a 90 inicial.
Haga clic en «Variables», arrastre el bloque ; y arrastre el bloque de«Mini_Tank_Robot»al bloque que acaba de hacer.
De esta manera, almacene la distancia de obstáculo frontal medida por el sensor ultrasónico.
A continuación, juzgue si la distancia de obstáculo frontal medida por el sensor ultrasónico es menor que 20 cm, o de lo contrario mayor que e igual a 20 cm.
Aquí podemos usar la declaración de juicio «si…
hacer… otra cosa…».
Vaya a «Control»,arrastre el bloque, luego haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted puede conseguir el bloque .
Vaya a «Logic», arrastre el bloque a la instrucción if y seleccione»<«; ir a «Variables», arrastrar el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «<«; arrastre el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «<» ; cambiar el valor 0 a 10; Así:
Si la distancia es menor que 20cm, el robot del tanque dejará de moverse durante 1000 ms; a continuación, ajuste el ángulo del servo a 160o, lea el a1, retardo 500ms; ajustar el ángulo del servo a 0o, leer el a2, retrasar 500ms;
Vaya a «Mini_Tank_Robot», arrastre el bloque a la instrucción do. Y agregue un bloque de retardo 1000ms.
Con el fin de hacer que el sensor ultrasónico medir la distancia varias veces en el obstáculo izquierdo y en el obstáculo derecho.
Volvemos a arrastrar el bloque a la instrucción do. Ajuste el ángulo del servo a 160.
Ir a «Control», arrastre el bloque ; duplicar el bloque una vez y arrastrarlo al bloque de pasos que acaba de hacer.
Cambiar elen ; cambiar la variable»i«en»j«; a continuación, retrasar 500 ms.
A continuación, duplique este fragmento de bloque de código una vez; ajustar el ángulo del servo 180 a 0; cambiar la variable»j«into»k«; cambiar el en .
A continuación en el caso de que la distancia de obstáculo frontal medida por sensor ultrasónico es menor que 20 cm, juzgar si la distancia de obstáculo izquierda a1 es menor que 50 cm, o la distancia de obstáculo derecha a2 es menor que 50 cm.
Vaya a «Control», arrastre el bloque debajo del bloque de retardo 500ms, luego haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted puede conseguir el bloque .
Vaya a «Logic», arrastre el bloque y seleccione «<«; ir a «Variables»,arrastre el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «<«; arrastre el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «<» ; cambiar el valor de 0 a 50.
Duplica este bloque una vez y reemplaza el archivo con .
Y de nuevo vaya a «Logic», arrastre el bloque a la instrucción if; y haga clic en el triángulo desplegable para seleccionar»o«; a continuación, arrastre el bloque y en el cuadro de entrada del bloque .
Siguiente juez si la distancia a1 es mayor que la de a2, establecer el ángulo del servo a 90o, robot tanque girará a la izquierda para 500ms a una velocidad de PWM255 y luego ir al frente a una velocidad de PWM200.
Si la distancia a1 es menor que la de a2, ajuste el ángulo del servo a 90o, el robot del tanque girará a la izquierda durante 500 ms a una velocidad de PWM255 y luego irá al frente a una velocidad de PWM200.
Vaya a «Control», arrastre el bloque a
la instrucción do de bloque, luego haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted puede conseguir el bloque:
Vaya a «Logic», arrastre el bloque a la instrucción if y seleccione «>»; ir a «Variables»,arrastre el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «>»; arrastre el al segundo cuadro de entrada en el lado derecho de «>».
Haga clic en «Mini_Tank_Robot»,arrastre el bloque y ; servo ángulo 90 y PWM 255.
Agregue un bloque de retardo 500ms. A continuación, arrastre el y establezca en PWM200.
Duplicamos este fragmento de bloque de código una vez y arrastramos a la instrucción else; arrastre el bloque para reemplazar el bloque y ajuste a PWM 255.
En el caso de que la distancia del obstáculo frontal medida por el sensor ultrasónico es menor que 20 cm, juzgue si la distancia del obstáculo izquierdo a1 es mayor que e igual a 50 cm, y la distancia de obstáculo derecha a2 es mayor que e igual a 50 cm. Siguiente determinar aleatoriamente el tamaño de la distancia a1 y a2.
Aquí debe construir una variable«al azar».
Haga clic en «Variables», arrastre el bloque ; arrastre el bloque de «Matemáticas» en el bloque y cambie «elemento» en»al azar«. Así que puede obtener la variable .
Primero arrastre el bloque al bloque de configuración.
Haga clic en «Variables» , arrastre hacia fuera el bloque de variables ; arrastre el bloque de «Matemáticas» al bloque aleatorio.
El número aleatorio se puede establecer a voluntad, en este caso de 1 a 100.
Arrastramos el bloque por encima del bloque .
Tenemos que determinar si el número aleatorio es impar o par, si es par, establecer el ángulo del servo a 90o, robot tanque girará a la izquierda para 500 ms a una velocidad de PWM255 y luego ir al frente a una velocidad de PWM200.
Si la distancia a1 es menor que la de a2, ajuste el ángulo del servo a 90o, el robot del tanque girará a la derecha durante 500 ms a una velocidad de PWM255 y luego irá al frente a una velocidad de PWM200.
Ir a «Logic», arrastre el bloque ; y arrastre el bloque desde «Math» hasta el primer cuadro de entrada en el lado izquierdo de «A»; a continuación, vaya a «Variables», arrastre el bloque hacia fuera en el cuadro de entrada en el lado izquierdo de «+» , reemplazando la casilla 1; haga clic en el triángulo desplegable para elegir «%», reemplazando»+»; cambiar el segundo cuadro1 a 2.
Y arrastre el bloque de «Matemáticas» al cuadro de entrada en el lado derecho de «.» .
Consigue un bloque completo como este:
Duplicamos este fragmento de bloque de código hecho antes de una vez.
Sólo tiene que reemplazar con el bloque . Y arrástralos a la declaración else.
Finalmente juzgue si la distancia del obstáculo delantero medida por el sensor ultrasónico es mayor que 20cm, el robot del tanque irá al frente a una velocidad de PWM200.
Vaya a «Mini_Tank_Robot»,arrastre el bloque a la última instrucción else y establézcalo en PWM 200.
El programa para la función de evasión ultrasónica ha escrito bien.
¡Sube el código completo a tu robot tanque!
Nota: debe cargar el éxito del código primero, luego conectar el módulo Bluetooth. De lo contrario, se produce un error en la carga del código.
Resultado:
Cargue el éxito del código en la placa REV4; gire el interruptor deslizante a la posición correcta.
El mini robot tanque evitará automáticamente el obstáculo delantero para seguir adelante.
Proyecto 13: Tanque de control remoto por infrarrojos
Diseño de circuito:
Combinamos el conocimiento de hardware – panel LED, unidad de motor, y receptor DE INFRARROJO, para construir un robot de control remoto infrarrojo!
En la sección del receptor IR, hemos enumerado cada valor clave del control remoto.
En este diseño de circuito, podemos establecer el valor clave en el código para navegar por el movimiento del robot del tanque, mostrando el estado de movimiento en el panel matric LED 8X16.
La lógica específica del robot de control remoto infrarrojo es como se muestra a continuación:
Basándonos en el diseño del circuito, podemos empezar a construir nuestro propio robot tanque de control remoto.
Siga el diagrama de cableado y el código de prueba a continuación.
Nota: Apile el protector del sensor V5 en el escudo del motor y, a continuación, apilelos en la placa REV4.
El bloque de terminales 4Pin está marcado con serigrafía 1234. La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2. La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
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.
Conecte el sensor del receptor de infrarrojos (pin –+-S) al escudo del sensor (G(GND)-V(VCC)-A0).
Código:
Nota especial:
Hecho la carga del código de prueba, el control remoto infrarrojo NO PUEDE guiar el movimiento del robot del tanque. Necesidad de agregar biblioteca remota infrarroja de nuevo.
Cuando un módulo receptor de infrarrojos coincide con el robot de tanque para su uso, necesita agregar la biblioteca IRremote. La velocidad del robot está controlada por PWM pin11 y pin3.
Y el PWM del pin3 y del pin11 es llamado por el temporizador2. Pero la biblioteca del receptor infrarrojo está predeterminada mediante el uso de timer2. Así que si el módulo receptor IR utiliza la biblioteca predeterminada, afectará a la función PWM de pin11 y pin3.
Adición de biblioteca:
Nota: debe reiniciar el software Mixly, la nueva biblioteca agregada puede surtir efecto.
Codificación:
Ahora escribe el programa para construir un robot de control remoto infrarrojo.
Primero inicialice y ajuste el ángulo del servo en 90, el panel LED 8×16 borra los iconos y luego muestra un icono «V».
Ir a «Control» ,arrastre el bloque ; y arrastre el bloque desde «Serial Port» al bloque de configuración. A continuación, vaya a «Mini_Tank_Robot», arrastre y suelte el bloque en el bloque de configuración y duplique una vez; haga clic en el triángulo desplegable detrás de start para elegir por separado «borrar» y «comenzar».
Y de nuevo vaya a «Mini_Tank_Robot» , arrastre el bloque hacia fuera en el bloque de configuración; ajuste el ángulo del servo a 90o.
A continuación, navegue por el movimiento del robot del tanque con un control remoto IR, y el panel LED 8×16 mostrará el patrón correspondiente.
Primero hacemos clic en la biblioteca importada «Mini_Tank_Robot», arrastrar el bloque; arrastre el bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer. A continuación, vaya a «Variables»,arrastre el bloque hacia el bloque .
Aquí necesitamos usar lainstrucción de condición . Vaya a «Control» ,arrastre el bloque .
Hemos enumerado el valor de cadena de cada tecla en el control remoto infrarrojo.
La teclafrontal es FF629D; la clave de retroceso es FFA857; la tecla izquierda es FF22DD; la clave correcta es FFC23D; es FF02FD; es FF30CF; es FF7A85.
Como la clave de comando del control remoto IR es el código hexadecimal, el frente debe agregar 0x.
Si ir_rec 0xFF629D, pulse la tecla del mando a distancia IR, el robot irá al frente a una velocidad de PWM200 y el panel LED 8×16 mostrará un icono frontal «V».
Vaya a la «Lógica», arrastre el bloque hacia fuera hasta la instrucción if y arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «-«; arrastre el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de lapalabra «» y escriba «0xFF629D» , como este: .
Haga clic en la biblioteca importada «Mini_Tank_Robot», arrastre el bloque y en la instrucción do; cambiar a PWM200 y haga clic en el triángulo desplegable para elegir front.
.
Si ir_rec 0xFFA857, pulse latecla del mando a distancia IR, el robot volverá a una velocidad de PWM200 y el panel LED 8×16 mostrará un patrón posterior.
Duplicar el bloque de código anterior, cambie «0xFF629D» a «0xFFA857» . A continuación, haga clic en la biblioteca importada «Mini_Tank_Robot», arrastreel bloque a la instrucción do, reemplazando el bloque ; cambiar a PWM200 y haga clic en el triángulo desplegable para elegir de nuevo.
.
Del mismo modo, si ir_rec-0xFF22DD, presione la tecla en el mando a distancia IR, el robot girará a la izquierda a una velocidad de PWM200 y el panel LED 8×16 muestra un patrón hacia la izquierda.
Si ir_rec 0xFFC23D, pulse la tecla del mando a distancia IR, el robot girará a la derecha a una velocidad del panel LED PWM200 y 8×16 muestra un patrón hacia la derecha.
Si ir_rec 0xFF02FD, pulse la tecla del mando a distancia IR, el robot se detendrá y el panel LED 8×16 mostrará el patrón STOP.
Si ir_rec 0xFF30CF, pulse la tecla del mando a distancia IR, el robot girará a la izquierda a una velocidad de PWM200 y el panel LED 8×16 mostrará un patrón hacia la izquierda.
Si ir_rec 0xFF7A85, pulse la tecla del mando a distancia IR, el robot girará a la derecha a una velocidad de PWM200 y el panel LED 8×16 mostrará un patrón hacia la derecha.
Duplicar la cadena de bloque de código por encima de cinco veces y, respectivamente, cambiar a «0xFF22DD», «0xFFC23D», «0xFF02FD»,»0xFF30CF», «0xFF7A85».
Haga clic en la biblioteca importada «Mini_Tank_Robot», arrastre respectivamente el bloque ,,,y en la instrucción do; cambiar a PWM200 y haga clic en el triángulo desplegable para elegir a la izquierda- derecha – STOP – izquierda – derecha.
Ahora complete el código para el robot de control remoto por infrarrojos. ¡Sube el código completo para navegar por tu robot tanque!
Nota: debe cargar el éxito del código primero, luego conectar el módulo Bluetooth. De lo contrario, se produce un error en la carga del código.
Resultado:
Cargue el éxito del código en la placa REV4; gire el interruptor deslizante a la posición correcta.
Podemos navegar por el robot del tanque por control remoto IR, al mismo tiempo, el panel LED 8X16 mostrará el estado del movimiento.
Proyecto 14: Tanque de control Bluetooth
Ahora estamos listos para dar al robot tanque capacidad – control remoto Bluetooth!
Para un robot inteligente de control, debe haber un terminal de control y un terminal controlado.
En el curso, utilizamos el teléfono móvil como la consola (host), y el módulo Bluetooth HM-10 (esclavo) conectado al robot como el terminal controlado.
Cuando se utiliza, tenemos que instalar una aplicación en el teléfono, y conectar el módulo Bluetooth HM-10, a continuación, tocamos los botones en la aplicación Bluetooth para navegar por los diversos estados de movimiento del robot tanque.
Control remoto Bluetooth
La tecnología Bluetooth es una tecnología estándar inalámbrica que permite el intercambio de datos de corta distancia entre dispositivos fijos, dispositivos móviles y la construcción de redes de área personal (utilizando ondas de radio UHF en la banda ISM de 2,4 a 2,485 GHz).
El kit de robot está equipado con el módulo Bluetooth HM-10, que es una máquina maestro-esclavo. Cuando se utiliza como host, puede enviar comandos al esclavo activamente; cuando se utiliza como esclavo, sólo puede recibir comandos del host.
El módulo Bluetooth HM-10 es compatible con el protocolo Bluetooth 4.0, que no solo es compatible con dispositivos móviles Android, sino que también es compatible con el sistema iOS.
En el experimento, usamos por defecto el módulo Bluetooth HM-10 como esclavo y el teléfono celular como host.
Instalamos la aplicación Bluetooth en el teléfono móvil, conectando el módulo Bluetooth; finalmente utilizar la aplicación Bluetooth para controlar el movimiento del robot, o para controlar el estado de trabajo de otros módulos de sensor en el coche robot.
Le proporcionamos 2 tipos de APP móvil, para el sistema Android e iOS.
En el experimento, conecte el módulo Bluetooth mediante la aplicación Bluetooth móvil, toque el botón frontal de la aplicación Bluetooth para controlar el panel LED 8X16 que muestra la imagen frontal; suelte el botón, muestre el «STOP».
Parámetros del módulo Bluetooth HM-10:
- Protocolo Bluetooth: Especificación Bluetooth V4.0 BLE
- Sin límite de bytes en el transceiving del puerto serie
- En un entorno abierto, realiza una comunicación de 100 m a ultra-distancia con iphone4s
- Protocolo USB: USB V2.0
- Frecuencia de trabajo: banda ISM de 2,4 GHz
- Método de modulación: GFSK (Gaussian Frequency Shift Keying)
- Potencia de transmisión: -23dbm, -6dbm, 0dbm, 6dbm, puede ser modificada por el comando AT.
- Sensibilidad: -84dBm a 0,1% BER
- Velocidad de transmisión: Asíncrona: 6K bytes ; Sincrónico: 6k bytes
- Función de seguridad: Autenticación y cifrado
- Servicio de soporte: Central & Peripheral UUID FFE0, FFE1
- Consumo de energía: Modo de suspensión automático, estado de espera por corriente 400uA-800uA, 8.5mA durante la transmisión.
- Fuente de alimentación: 5V DC
- Temperatura de trabajo: -5 a +65 centígrados
Uso de Bluetooth APP
- Para el sistema Android:
1.Haga clic en el paquete de compresión Tank_Car para instalar directamente la aplicación Tank_Car; instalado bien, aparece el icono de abajo en su teléfono móvil:
Descargue el paquete Tank_Car del siguiente
enlace: https://drive.google.com/open?id=18ngvrEB4I8i1s7iYhr8KdWAQ6DiMBt40
O puede descargar el keyestudio Tank_Car APP directamente desde Google Play:
2.Pulse el icono de Tank_Car para entrar en la aplicación Bluetooth. Como se muestra a continuación.
3.Hecho cargar el código a la placa REV4, conectar el módulo Bluetooth, el LED en el módulo Bluetooth parpadeará.
A continuación, toque la opción CONECTAR en la aplicación, buscando en el Bluetooth.
4.Haga clic para conectar el Bluetooth. HMSoft conectado, LED Bluetooth se encenderá normalmente.
5.Primero lea el carácter de cada tecla en la aplicación móvil a través del puerto serie y conocer la función clave. Toque elbotón , el panel LED 8×16 mostrará el icono frontal. Suelte el botón, muestre el «STOP».
Para el sistema iOS:
1.Abre la tienda de aplicaciones
2.Haga clic para buscar keyestudio, y verá las teclas BT coche.
3.Pulse para abrir las teclas BT coche 4.To abra Bluetooth, haga clic en «Conectar» en la esquina superior izquierda, buscando y conectando Bluetooth.
5.Toque el icono de Tank_Car para entrar en la interfaz de control.
Nota: 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.
Conecte directamente el módulo Bluetooth al cabezal de pin (TXD, RXD, GND, 5V) en el protector del sensor V5 (TX-RX-(GND)-+(VCC)).
Codificación:
Escriba el programa para saber qué señal envía el módulo Bluetooth.
Primero hacemos clic en la biblioteca importada «Mini_Tank_Robot», arrastrar el bloque; arrastre el bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer.
A continuación, vaya a «Variables»,arrastre el bloque hacia el bloque .
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. Y puede ver la codificación de teclas en el monitor serie.
A continuación se muestra Tank Robot Bluetooth APP interfaz y hemos enumerado qué función de cada tecla hace:
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «F» al módulo Bluetooth, módulo Bluetooth recibe el carácter «F», la impresión del carácter «F» en el monitor serie a través de la placa REV4 y el cable USB, robot tanque irá al frente; suelte el botón, Bluetooth móvil enviará un carácter «S» al módulo Bluetooth, el módulo Bluetooth recibe el carácter «S», imprimiendo el carácter «S» en el monitor serie a través de la placa REV4 y el cable USB, el robot del tanque se detendrá.
Pulse elbotón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «B» al módulo Bluetooth, módulo Bluetooth recibe el carácter «B», monitor serie imprimiendo el carácter «B» , robot tanque volverá; suelte el botón, enviando el carácter «S» e imprimiendo el carácter «S» en el monitor serie, el robot del tanque se DETENDrá.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «L» al módulo Bluetooth, monitor serie imprimiendo el carácter «L» , robot tanque girará a izquierda; suelte el botón, enviando el carácter «S» e imprimiendo el carácter «S» en el monitor serie, el robot del tanque se DETENDrá.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «R» al módulo Bluetooth, monitor serie imprimiendo el carácter «R» , robot tanque girará a la derecha; suelte el botón, enviando el carácter «S» e imprimiendo el carácter «S» en el monitor serie, el robot del tanque se DETENDrá.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «S» al módulo Bluetooth, monitor serie imprimiendo el carácter «S» , robot tanque se detendrá.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «X» al módulo Bluetooth, monitor serie imprimiendo el carácter «X», iniciar la luz siguiente función para el robot tanque; haga clic en el botón STOP para existir la función.
Pulse elbotón, inicie la función de postura para controlar el robot del tanque; haga clic en el botón de nuevo para existir la función.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «Y» al módulo Bluetooth, monitor serie impresión del carácter «Y», iniciar la función de seguimiento ultrasónico para el robot tanque; haga clic en el botón STOP para existir la función.
Pulse el botón en la aplicación Bluetooth, Bluetooth móvil enviará un carácter «U» al módulo Bluetooth, monitor serie imprimiendo el carácter «U», iniciar la función de evitar obstáculos para el robot tanque; haga clic en el botón STOP para existir la función.
Ahora ya leemos el carácter de cada tecla en la aplicación móvil a través del puerto serie y averiguar las funciones clave.
Siguiente paso a darse cuenta del efecto. Al pulsarla tecla en la aplicación Bluetooth, el panel LED muestra un patrón frontal; Suelte el botón, el panel LED LED 8×16 muestra STOP.
Así que aquí llamamos al si… hacer…
instrucción de la «Control». Vaya a la «Lógica» , arrastre el bloque hacia fuera en la instrucción if, y arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «-«; arrastre desde el «Texto» en el segundo cuadro de entrada en el ladoderecho de la palabra «A» y escriba «F», como este: .
Haga clic en «Mini_Tank_Robot» , arrastre el bloque hacia fuera en la instrucción do y haga clic en el triángulo desplegable para elegir front.
Duplicar la cadena de código anterior una vez; cambiar ‘F’ a ‘S’ y haga clic en el triángulo desplegable para seleccionar STOP.
Ahora ya completamos el programa. Sube el éxito del código,presiona y suelta la tecla en la APP Bluetooth, comprueba qué fenómeno verás.
Código:
Preste mucha
atención a: NO SE PUEDE conectar el módulo Bluetooth antes de cargar el código, de lo contrario, la carga del código falla. Debe cargar el código correctamente y, a continuación, conectar el módulo Bluetooth.
Resultado de la prueba:
Asegúrese de que ha instalado la aplicación Bluetooth en el teléfono móvil. Encienda el escudo de la unidad del motor, el indicador Bluetooth parpadea y, a continuación, abra la aplicación móvil para conectar el módulo Bluetooth.
Bluetooth conectado, toqueel botón en la aplicación Bluetooth, panel LED 8×16 mostrará el icono frontal. Suelte el botón, muestre el «STOP».
Bluetooth Control Robot
Ya hacemos que el panel LED 8×16 mostrar patrones utilizando la clave en la aplicación móvil. Basado en eso, ahora nos extendemos para controlar el escudo de la unidad del motor y otros módulos del sensor utilizando varios botones en la aplicación Bluetooth, así construir un robot de control Bluetooth.
Basándonos en el diseño del circuito, podemos empezar a construir nuestro propio robot tanque de control remoto. Siga el diagrama de cableado y el código de prueba.
Guía de conexión:
Nota: el bloque de terminales 4Pin está marcado con serigrafía 1234.
La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2. La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
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.
Conecte directamente el módulo Bluetooth al cabezal de pin (TXD, RXD, GND, 5V) en el protector del sensor V5 (TX-RX-(GND)-+(VCC)).
Código:
Nota: debe cargar el éxito del código y luego conectar el módulo Bluetooth en el robot del tanque. De lo contrario, se produce un error en la carga del código.
Resultado:
Apile el escudo de accionamiento del motor en la placa REV4. Conecte la placa de control REV4 al puerto USB del ordenador con un cable USB para cargar el código. Encienda el interruptor deslizante.
Asegúrese de haber instalado la aplicación Bluetooth en el teléfono móvil. Encienda el escudo de la unidad del motor, el indicador Bluetooth parpadea y, a continuación, abra la aplicación móvil para conectar el módulo Bluetooth.
Bluetooth conectado, podemos utilizar Bluetooth APP para navegar aleatoriamente el robot tanque.
Etiquetarel botón, ir al frente; toque,vuelva; pulse, gire a la izquierda; pulse, gire a la derecha; prensa, parada; pulse, inicie el control de detección de dirección móvil y vuelva a tocar este botón para salir.
Al mismo tiempo, el panel LED 8X16 mostrará los estados de movimiento del robot.
Proyecto 15: Tanque multifunción Bluetooth
Diseño de circuitos:
¿Cómo construir un robot multifunción combinado con todas las funciones que hemos aprendido?
En este circuito, utilizamos un código completo para programar el coche inteligente para cambiar diferentes funciones con Bluetooth APP, bastante simple y fácil.
Nota:
El bloque de terminales 4Pin está marcado con serigrafía 1234.
La línea roja del motor trasero derecho está conectada al bloque de terminales 1, la línea negra debe conectarse al bloque de terminales 2. La línea roja del motor delantero izquierdo está conectada al bloque de terminales 3, la línea negra debe conectarse al bloque de terminales 4.
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.
Conecte directamente el módulo Bluetooth al cabezal de pin (TXD, RXD, GND, 5V) en el protector del sensor V5 (TX-RX-(GND)-+(VCC)).
Conecte el sensor ultrasónico al escudo del sensor V5, el pin VCC a 5V(V), el pin Trig al digital 5 (S), el pin Echo al digital 4 (S), el pin GND al GND(G).
Conecte el servomotor al escudo del accionamiento del motor (G(GND)-V(VCC)-9). La línea marrón es para GND, rojo uno para 5V, naranja para el pin digital 9.
Conecte el sensor del receptor de infrarrojos (pin –+-S) al escudo del sensor (G(GND)-V(VCC)-A0).
Conecte el sensor de fotocélula izquierdo (-, +, S) al escudo del sensor (G(GND)-V(VCC)-A1); la fotocélula derecha al escudo del sensor (G(GND)-V(VCC)A2).
Código fuente:
Escriba el programa para realizar las funciones que queremos. Utilice el botónde la aplicación Bluetooth para navegar por el robot y ir delante, atrás, girar a la izquierda, girar a la derecha y detenerse.
Primero borre el panel LED 8×16 e inicialice el bloque.
Ir a «Control», arrastrar hacia fuera bloque; a continuación, vaya a «Mini_Tank_Robot», arrastre y suelte el bloque de configuración blockinto; haga clic en el triángulo desplegable para elegir borrar. Y de nuevo arrastre el bloque al bloque de «configuración».
Nota: debe cargar el éxito del código primero, luego conectar el módulo Bluetooth. De lo contrario, se produce un error en la carga del código.
Resultado:
Cargue el éxito del código en la placa REV4; gire el interruptor deslizante a la posición correcta.
Conectado el módulo Bluetooth con la aplicación bluetooth móvil, podemos navegar por el robot del tanque por control remoto Bluetooth.
Etiquetar los diferentes botones para cambiar diferentes funciones; pulse el botón de parada para salir de la función.