Instrucciones Mini Tank Robot mejorado V2

Keyestudio Mini Tank Robot Upgrade V2

NOTA: Este tutorial es una traducción del inglés del original.

Contenido

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:

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

thumb

thumb

thumb

thumb
thumb

thumb

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:

Una vez instalado el IDE, debe ver una pantalla similar a la siguiente:

Ks0436-9.png

Las funciones de cada botón de la barra de herramientas se enumeran a continuación:
IDE.png

IDE 1.png Verificar/CompilarCompruebe si hay errores en el código
IDE 2.png SubirSube el Sketch actual al Arduino
IDE 3.png NuevoCrear un nuevo Sketch en blanco
IDE 4.png AbrirMostrar una lista de Sketch
IDE 5.png GuardarGuardar el Sketch actual
IDE 6.png Monitor serieMostrar los datos serie que se envían desde el Arduino

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.
图片wiki.png

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. 

Antes de iniciar los proyectos de robot, haga clic en el enlace para obtener la comprensión básica del software Mixly.
Ks0446图片8.png

 

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.

0428图片11.png

Descomprima el paquete de biblioteca Mini_Tank_Robot, puede ver el Mini_Tank_Robot XML.document.
0428图片12.png

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.
0428图片13.png

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.

0428图片14.png

 

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:
KS0341 引脚标图.jpg

KS0001 5-1.pngEncabezado 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.
KS0001 5-2.pngIndicador 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.
KS0001 5-3.pngE/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.
KS0001 5-4.pngGND (encabezados de pasador de tierra)Utilizado para el circuito de tierra
KS0001 5-5.pngArefTensión de referencia (0-5V) para entradas analógicas. Se utiliza con analogReference().
KS0001 5-6.pngSdaPin de comunicación IIC
KS0001 5-7.pngSclPin de comunicación IIC
KS0001 5-8.pngEncabezado 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.
KS0001 5-9.pngBotón RESETPuede restablecer su placa Arduino, por ejemplo, iniciar el programa desde el estado inicial. Puede utilizar el botón RESET.
KS0001 5-10.pngD13 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.
KS0001 5-11.pngConexió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.
KS0001 5-12.pngATMEGA 16U2-MUUSB a chip serie, puede convertir la señal USB en señal de puerto serie.
KS0001 5-13.pngTX 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.
KS0001 5-14.pngRX 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.
KS0001 5-15.pngOscilador 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.
KS0001 5-16.pngRegulador 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.
KS0001 5-17.pngConector 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.
KS0001 5-18.pngIOREFSe utiliza para configurar el voltaje de funcionamiento de los microcontroladores. Utilelo menos.
KS0001 5-19.pngEncabezado RESETConecte un botón externo para reiniciar la placa. La función es la misma que el botón de reinicio (etiquetado 9)
KS0001 5-20.pngPower Pin 3V3Un suministro de 3,3 voltios generado por el regulador a bordo. El empate de corriente máxima es de 50 mA.
KS0001 5-21.pngPower Pin 5VProporciona voltaje de salida de 5V
KS0001 5-22.pngVinPuede suministrar una entrada de alimentación externa DC7-12V a través de este pin a la placa Arduino.
KS0001 5-23.pngPines 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.
KS0001 5-24.pngMicrocontroladorCada 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.

0428图片15.png

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. 0428图片16.png

 

  • 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;
0428图片17.png
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.

0428图片18.png

KS0341 sy.jpg

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.

keyestudio 8×16 panel de matriz LED

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

0428图片21.png

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.
0428图片22.png

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» ,P5-1.pngarrastre el bloque . A continuación, vaya a «Mini_Tank_Robot» , 428-pro4-4.png 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 428-pro4-4.png bloque ; ir a «Control», arrastre428-pro2-3.pngel bloque de retardo ; puede establecer aleatoriamente el tiempo de retardo; aquí nos fijamos para retrasar 2000ms.
428-pro2-4.png

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!

0428图片23.png

Resultado de la prueba:
0428图片24.png
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, 0428图片31.png ,STOPy, a continuación, borra los iconos, con un intervalo de 2 segundos.
0428图片25.png

0428图片27.png

0428图片28.png

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.
0428图片29.png

2.Qué sucede cuando cambia el número en uno o ambos de 0428图片30.png 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)
428-pro2-5.png

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.

módulo de fotorresistencia 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).
0428图片33.png

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 0428图4.png 0428图5.png 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», 0428图6.png arrastre el bloque ; y vaya a «Matemáticas»,arrastre 0428图6.png el bloque 0428图7.png 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».
0428图9.png

De esta manera, hemos construido 0428图10.png 0428图11.png 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», 0428图12.png arrastre el bloque ; y vaya a «Mini_Tank_Robot»,arrastre 0428图13.png 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 ; 0428图14.png
haga clic en el triángulo desplegable para seleccionar el right_light_sensor0428图15.png

Ir a «SerialPort», 0428图16.png arrastre el bloque ; y arrastre 0428图17.png 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 0428图10.png 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 0428图19.png ; y arrastre 0428图10.png el bloque de «Variables» al bloque Serial printIn que acaba de hacer.
0428图21.png

Para que los datos se actualicen 0428图22.png 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» , arrastreP5-1.pngel bloque de configuración ; y arrastre el P5-2.png bloque al bloque de configuración que acaba de hacer. A continuación, 0428图25.png 0428图26.png arrastre el bloque y debajo del bloque Velocidad en baudios serie 9600.
0428图27.png

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 P3-13.png la P3-14.png instrucción de condición o . Pero el P3-14.png bloque esP3-13.pngmás eficiente que .
Vaya a «Control»,arrastreP3-13.pngel bloque, luego haga clic en el P3-17.png Pro8-图片15.png icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted P3-14.png puede conseguir el bloque .

A continuación, vaya a la «Lógica» , arrastre el bloque P3-20.png y seleccione «>», luego arrastre el bloque 0428图10.png desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «>» ; arrastre Pro8-图片20.png el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «>» y cambie el valor a 600; así: 0428图33.png

Duplicamos este bloque una vez,0428图34.pngy arrastramos el bloque, reemplazando el archivo 0428图10.png .
Y de nuevo vaya a la «Lógica» , arrastre el bloque P3-25.png a la instrucción if; respectivamente arrastre 0428图33.png el 0428图38.png bloque y enP3-25.pngel cuadro de entrada del bloque .
0428图40.png

Arrastre el 428-pro4-4.png bloque de «Mini_Tank_Robot» a la instrucción do y haga clic en el triángulo desplegable para elegir el frente. Y duplica 428-pro4-4.png el bloque una vez y arrastra a la instrucción else.
0428图42.png

Conecte la placa de control REV4 al PC mediante un cable USB; subir el código completo para probar la intensidad de la luz!

0428图1.png

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.
0428图片36.png

Si el valor medido de un lado es mayor que 600, 0428图片31.png el panel de matriz LED mostrará el icono frontal; de lo contrario, muestre el V.
0428图片38.png

0428图片37.png

Poco conocimiento:

1.In el código, utilizamos 0428图片39.png la biblioteca para leer el valor analógico del sensor de fotocélula izquierdo (A1); el uso 0428图片40.png del bloque también tiene sentido.
El pin de señal del sensor de fotocélula derecho es A2.
0428图2.png 2.Ks0446图片30.png significa que la velocidad en baudios se establece en 9600;

Imprima el número, texto u otro valor especificado en el monitor serie. 0428图片43.png
Imprima el número, texto u otro valor especificado en la nueva línea del monitor. 0428图片44.png

3.0428图片45.pngsignifica 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.
0428图片46.png

4.0428图片47.pngEsta 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)
0428图3.png

Proyecto 4: Detección ultrasónica de obstáculos

Módulo ultrasónico HC-SR04

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.
0428图片49.png

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 P5-1.png bloque «configuración» ;
Arrastre el P5-2.png bloque desde «SerialPort» hasta el bloque «setup».
Vaya al «SerialPort» de nuevo, P5-3.png P5-4.png arrastre el bloque
y vaya P5-5.png a «Texto»,arrastre el bloque hacia fuera en el bloque P5-3.png y cambie la palabra «hola» a «distancia».
A continuación, vaya a «Small_Turtle_Robot», arrastre 428-pro4-1.png 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 bloquePro4-图片3.pngde retardo ; ajuste el tiempo de retardo en 500 ms.

428-pro4-2.png

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 P3-13.png 10cm, aquí podemos utilizar la declaración de condición o P3-14.png . Pero el P3-14.png bloque es P3-13.png más eficiente que .
Vaya a «Control»,arrastreP3-13.pngel bloque, luego haga clic en P3-17.png el Pro8-图片15.png icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted P3-14.png puede conseguir el bloque .

A continuación, vaya a «Logic», arrastre P3-20.png el bloque a la instrucción if y arrastre el bloque 428-pro4-1.png desde el «Mini_Tank_Robot» hasta el primer cuadro de entrada en el lado izquierdo de «-«; arrastre Pro8-图片20.png 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í:428-pro4-3.png.

Arrastre el 428-pro4-4.png bloque de «Mini_Tank_Robot» a la instrucción do, haga clic en el triángulo desplegable para elegir STOP. Y duplica 428-pro4-4.png 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. 428-pro4-5.png

428-pro4-6.png

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.
0428图片52.png

Cuando la distancia medida es inferior a 10 cm, el panel LED 8×16 muestra STOP; de lo contrario, muestra V.
0428图片54.png

0428图片53.png

Poco conocimiento:

1.In el código, utilizamos 0428图片55.png el para medir la distancia entre el sensor ultrasónico y el obstáculo por delante, con una unidad de cm.

2.Ks0446图片30.png: significa que la velocidad en baudios se establece en 9600;
: imprima el valor de distancia en la nueva línea del monitor. 428-pro4-7.png

3.0428图片45.pngsignifica 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.
0428图片46.png

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)
428-pro4-8.png

Proyecto 5: Recepción por infrarrojos

  • Control remoto IR:

KS0364 - 图片8.png

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.

Ks0436-201.png

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.

Módulo receptor IR

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.
0428图片60.png

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»,P9-1.pngarrastrar hacia fuera el bloque; y arrastreP9-2.pngel 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 bloque428-pro5-1.png; arrastre el P9-4.png bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer.
A continuación, vaya a «Variables»,P9-4.pngarrastre el bloque P9-5.png hacia el bloque .
Así que el receptor infrarrojo puede recibir la señal infrarroja.

428-pro5-2.png

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.

P9-8.png

A continuación, pase a realizar el patrón de control del receptor IR con el control remoto IR.

Presione la P9-9.png tecla frontal en el control remoto IR, la matriz de puntos muestra un patrón frontal; presione la P9-10.png tecla , la matriz de puntos muestra el patrón STOP. Así que aquí llamamos a la instrucción P9-11.png if del «Control». De acuerdo con el resultado medido, sabemos que la P9-9.png codificación infrarroja (valor de cadena) de la clave frontal es FF629D; la codificación infrarroja (valor de cadena) de la clave P9-10.png 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 P9-9.png tecla frontal del mando a distancia IR, la matriz de puntos muestra un patrón frontal.
P3-20.png P9-16.png 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 Pro8-图片20.png el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de la0464-pro6图1.pngpalabra «» y escriba «0xFF629D» , como este: .

Haga clic en «Mini_Tank_Robot» , 428-pro5-3.png arrastre el bloque hacia fuera en la instrucción do y haga clic en el triángulo desplegable para elegir front.

428-pro5-4.png
Duplicar la cadena de código anterior una vez; cambie «0xFF629D» a «0xFF02FD» y haga clic en el triángulo desplegable para seleccionar STOP.
428-pro5-5.png

¡El programa ha terminado bien! Cargue el código completo para ver el efecto.
0428图片61.png

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.
0428图片62.png

0428图片63.png

Si recibe el valor del botón arriba del 0428图片31.png control remoto IR, el panel de matriz LED muestra el icono; si recibe el valor de la clave OK, muestra STOP.
0428图片64.png

0428图片65.png

A continuación hemos enumerado cada valor de botón del control remoto keyestudio. Así que puedes guardarlo como referencia.
thumb

Poco conocimiento:
1. 0428图片67.png 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.
428-pro5-6.png

(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.
428-pro5-7.png

 

Proyecto 6: Módulo Bluetooth

keyestudio HM-10 Bluetooth-4.0 V3

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

thumb

Descripción de los pines:

thumb

Diagrama de cableado:
conecte el VCC a 5V, GND a GND, TXD a RXD, RXD a TXD.
thumb

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.

thumb

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 thumb 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 lathumbaplicación Android , haga clic para escanear el dispositivo. Como se muestra a continuación.
thumb

Haga clic en Scan Device (Escanear dispositivo) para buscar en Bluetooth.
thumb

Haga clic thumb 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.
thumb

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.
thumb

  • 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.
thumb

Haga clic para instalar la aplicación, como se muestra a continuación.
thumb

APP instalada bien, thumb 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 thumb Bluetooth, haga clic para iniciar la búsqueda y el emparejamiento del módulo Bluetooth. Haga thumb 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.

thumb

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.
thumb

 

Proyecto 7: Ajuste del ángulo del servo

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.

thumb

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.

thumb

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

thumb

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 bloqueP10-1.png; y arrastre P10-2.png el bloque de «Matemáticas» al bloque P10-1.png ; cambiar «elemento»en «ancho de pulso» y asignar el valor a 0.
Vaya a «Control»,arrastre 0464-pro8图4.png el bloque 0464-pro8图5.png 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» ,0464-pro8图6.pngarrastrar hacia fuera el bloque, a continuación, 0464-pro8图7.png haga 0464-pro8图8.png 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 0464-pro8图9.png de esta manera:
Y de nuevo0464-pro8图10.pngir a «Funciones» , arrastre hacia fuera el bloque ; a continuación, vaya a «Matemáticas», arrastre0464-pro8图10.pngel bloque P10-2.png 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!).
thumb

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 0464-pro8图12.png el bloque0464-pro8图9.pngy 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», 0464-pro8图12.png arrastre el bloque 0464-pro8图14.png al bloque 0464-pro8图15.png y vaya a 0464-pro8图16.png «Matemáticas»,arrastre el bloque y duplique una vez para hacer como , luego arrastre este bloque en el bloque 0464-pro8图14.png de ancho de pulso ; cambiar el primer «+» a». Haga clic en «Variables», arrastre el bloque 0464-pro8图18.png 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:0464-pro8图19.png

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»,0464-pro8图20.pngarrastre el bloque ; y haga clic en «Variables», arrastre el bloque 0464-pro8图18.png al cuadro de pasador y establezca en Stat HIGH.
Arrastre el bloque 0464-pro8图22.png de retardo 0464-pro8图23.png y arrastre un bloque variable al bloque de retardo; cambiar los milisegundos a microsegundos.
0464-pro8图24.png

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.

thumb

A continuación, duplique este pedazo de bloque 0464-pro8图24.png una vez; establecido en LOW y haga clic en el triángulo desplegable para seleccionar ms.
Ir a «Matemáticas» , 0464-pro8图15.png arrastrar hacia fuera 0464-pro8图16.png el bloque 0464-pro8图29.png 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 0464-pro8图29.png 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: 0464-pro8图30.png

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!

thumb

Código 2: utilizando la biblioteca
Haga clic en0464-pro8图31.png «Small_Turtle_Robot»,arrastre hacia fuera el bloque servo ; ir a «Control»,arrastre 0464-pro8图22.png el bloque y ajuste para retrasar 500ms.
Duplica la cadena de código una vez y establece el ángulo en 180.

thumb

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; 0428图片73.png 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.
thumb

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

Código de ejemplo 1:
thumb

Código de ejemplo 2:
thumb

Código de ejemplo 3:
thumb

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.
thumb

Proyecto 8: Conducción del motor y control de velocidad

keyestudio L298P escudo del motor

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

thumb

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.

thumb

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.
thumb

Vamos a escribir el código para el motor izquierdo y el derecho para girar hacia adelante.

Vaya a «Entrada/Salida»,arrastre P6-1.png P6-2.png 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 P6-3.png a arrastrar el bloque desde «Control»y establezca en 2000ms.
thumb

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.
thumb

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.
thumb

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.
thumb

Vaya a «In/Out» de nuevo, arrastre el bloqueP6-2.pngy 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!
thumb

Código 2: uso de la biblioteca
Haga clic en 428-pro8图11.png «Mini_Tank_Robot» , arrastre el bloque y establezca en PWM200; por lo que el robot se moverá delante a una velocidad de PWM200.
Este 428-pro8图12.png bloque tiene la misma 428-pro8图13.png función que el bloque de cadenas.
A continuación, vaya P6-3.png a arrastrar el bloque desde «Control» y establezca en 2000ms.
Haga clic en «Mini_Tank_Robot», arrastre428-pro8图15.png 428-pro8图16.png el 428-pro8图18.png bloque , , 428-pro8图17.png y ; se establece en PWM200; respectivamente añadir un bloque de retardo en 2000ms.

thumb

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.
thumb

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.

thumb

 

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!
thumb

¡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

0428图片4.png

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.

thumb

thumb

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.
thumb

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.
thumb

Por último, puede obtener el soporte inferior del motor que se muestra a continuación.
thumb

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.
thumb

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.
thumb

Después de eso, obtendrá las partes a continuación.
thumb

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.
thumb

Más detalles se muestran a continuación:
thumb

Finalmente usted debe obtener la rueda completa del tanque a continuación.
thumb

thumbthumb

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.
thumb

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.
thumb

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.
thumb

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.
thumb

thumb

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.
thumb

thumb

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.
thumb

thumb

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

thumb

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.
0428-4-5.png0428-4-6.jpg
thumb

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.
thumbthumb

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.
thumbthumb
thumbthumb

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

thumb

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.
thumbthumb

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.
thumb

thumbthumb

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.

thumb

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,

thumb 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.
thumb

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.
thumb

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).
thumb

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.
thumb

Mostrar detalles como se muestra a continuación:

thumb

Después de eso, fije las dos partes laterales en la placa base del servo con dos tornillos auto-tapping. Felicidades por completarlo.
thumb

Mostrar detalles como se muestra a continuación:

thumb

Después de eso, monte el módulo ultrasónico en la plataforma servo con lazos de cable negro. Se muestra a continuación.
thumbthumb

thumb

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

thumb

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.

thumb

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.
thumb

thumb

 

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.
thumb

Los cables de conexión deben pasar a través de los orificios en la placa de acrílico.
thumb

thumb

Después de eso, monte la placa de control en la placa de acrílico del robot tanque.
thumb

Primero conecte el cable del puente a los 2 módulos de fotocélula
thumb

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.
thumb

Guía de conexión

Conecte bien todos los módulos del sensor a la placa de control.
thumb

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.

thumbthumb

thumb

¡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á.

thumb

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

0428图片113.png

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:
0428图片114.png

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.

Guía de conexión:
0428图片115.png

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 0428图4.png 0428图5.png 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», 0428图6.png arrastre el bloque ; y vaya a «Matemáticas»,arrastre 0428图6.png el bloque 0428图7.png 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».
0428图9.png

De esta manera, hemos construido 0428图10.png 0428图11.png los bloques variables y .
Ir a «Variables», 0428图12.png arrastre el bloque ; y vaya a «Mini_Tank_Robot»,arrastre 0428图13.png 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 ; 0428图14.png
haga clic en el triángulo desplegable para seleccionar el right_light_sensor0428图15.png

Ir a «SerialPort», 0428图16.png arrastre el bloque ; y arrastre 0428图17.png 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 0428图19.png ; y arrastre 0428图10.png el bloque de «Variables» al bloque Serial printIn que acaba de hacer.

0428图-1.png

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 0428图22.png 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» , arrastreP5-1.pngel bloque de configuración ; y arrastre el P5-2.png bloque al bloque de configuración que acaba de hacer. A continuación, 0428图25.png 0428图26.png arrastre el bloque y debajo del bloque Velocidad en baudios serie 9600.
0428图-2.png

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 0428图-3.png la instrucción de condición IrP3-13.png«Control»,arrastrar el bloque, luego Pro8-图片15.png hacer clic en el icono de engranaje azul, aparecer el cuadro de edición,
arrastrar el bloque 0428图-4.png al bloque. Así que usted 0428图-3.png puede conseguir el bloque .

Debido a cuatro condiciones que mencionamos anteriormente, de P3-13.png nuevo vamos a arrastrar el bloque 0428图-4.png en el bloque una vez y luego arrastrar 0428图-5.png por debajo de la 0428图-4.png .

A continuación, vaya a la «Lógica» , arrastre el bloque P3-20.png y seleccione «>», luego arrastre el bloque 0428图10.png desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «>» ; arrastre Pro8-图片20.png el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «>» y cambie el valor a 600; así: 0428图33.png

Duplicamos este bloque una vez,0428图34.pngy arrastramos el bloque, reemplazando el archivo 0428图10.png .
Y de nuevo vaya a la «Lógica» , arrastre el bloque P3-25.png a la instrucción if; respectivamente arrastre 0428图33.png el 0428图38.png bloque y enP3-25.pngel cuadro de entrada del bloque .
0428图40.png

Arrastre el 0428图-6.png bloque de «Mini_Tank_Robot» a la instrucción do y establézcalo en PWM200.
0428图-7.png

A continuación, 0428图-8.png duplique el bloque una vez y arrástrelo a otra instrucción if; cambiar a «right_light 650»

Arrastre el 0428图-9.png bloque de «Mini_Tank_Robot» a la instrucción do y establezca el valor en PWM200.
Duplicar el 0428图-8.png bloque una vez más y arrastrarlo a la segunda instrucción if; cambiar a «left_light 650»

Arrastre el 0428图-11.png bloque de «Mini_Tank_Robot» a la instrucción do y establezca el valor en PWM200.
Por último, 0428图-12.png arrastre el bloque de «Mini_Tank_Robot» a la instrucción else.
0428图-13.png

¡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. 0428图-14.png
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

0428图片118.png

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:
0428图片119.png

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.

Guía de conexión:
0428图片120.png

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» ,0464-pro3图13.pngarrastrar hacia fuera bloque ; y arrastre el 0428-图21.png bloque desde «Serial Port» al bloque de configuración. A continuación, vaya a «Mini_Tank_Robot», arrastre Ks0464-36.png 0428-图23.png 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», 0428-图24.png arrastre el bloque y establezca para retrasar 200ms. Y de nuevo 0428-图23.png arrastre el bloque debajo del bloque de retardo.

0428-图25.png

A continuación, cree un bloque variable de distancia.
Haga clic en «Variables» , arrastre el bloquePro8-图片4.png; y arrastre P10-2.png el bloque de «Matemáticas» en el valor detrás como Pro8-图片6.png ; cambiar «elemento» en «distancia» y asignar al valor 0. Por lo que 0428-图24.png ya construir una variable .
Haga clic en «Variables» , arrastre el bloquePro8-图片7.png; y arrastre Pro8-图片9.png el bloque de «Mini_Tank_Robot» en el Pro8-图片10.png 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»,arrastreP3-13.pngel bloque, luego haga clic en el 0428图-4.png icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque Pro8-图片15.png al bloque dos veces y luego arrastre0428图-5.pngel bloque debajo del 0428图-4.png bloque. Así que usted puede Pro8-图片17.png conseguir el bloque: .

Vaya a «Logic», P3-20.png arrastre el bloque y seleccione «»; ir a «Variables» , Pro8-图片13.png arrastre el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «»; arrastre Pro8-图片20.png 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í: 0428-图37.png (tenga en cuenta que puede escribir el valor de forma flexible.)
Duplicamos el 0428-图37.png 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 condicionesP10-24.pngsuceden al mismo tiempo, es decir,
, para juzgar la distancia de 20 a 60cm. Así que 0428-图39.png arrastramos el bloque «distancia 20» y «distancia 60» en el bloque P10-24.png y arrastramos el bloque a la instrucción if.
Seguido de arrastrar0428-图40.pngel bloque de «Mini_Tank_Robot» a la instrucción do; cambiar el PWM0 en PWM200.

0428-图41.png

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 0428-图42.png el bloque una vez y lo arrastramos a la instrucción else if. Y ajuste a «distancia>10» y «distancia<20».
Seguido de arrastrar 0428-图43.png el bloque de «Mini_Tank_Robot» a la instrucción do.
Y duplica Pro8-图片33.png el bloque una vez y arrástralo a la segunda instrucción if. Establézcase en «distancia 10».
Seguido de arrastrar 0428-图45.png el bloque de «Mini_Tank_Robot» en la instrucción do y establecer en PWM200.
Y de nuevo ir 0428-图43.png a duplicar el bloque una vez y arrastrar en la instrucción else.

0428-图47.png

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.

0428-图48.png

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:
0428图50.png

0428图51.png

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.

Guía de conexión:
0428图片124.png

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 P10-1.png ; y arrastre Pro10-图片29.png el bloque de «Matemáticas» al bloque P10-1.png ; duplicar dos veces y, respectivamente, cambiar «elemento» en»un«, «a1«, «a2«.

Así que podemos Ks0464-87.png obtener Ks0464-88.png Ks0464-89.png las variables, y .

La Ks0464-87.png variable almacena la distancia de obstáculo frontal medida por el sensor ultrasónico cuando el servo está a 90o;
La Ks0464-88.png variable almacena la distancia de obstáculo izquierda medida por sensor ultrasónico cuando el servo está a 160o;
La Ks0464-89.png 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»,0464-pro3图13.pngarrastrar hacia fuera bloque ; a continuación, vaya Ks0464-313.png Ks0464-315.png arrastrar el bloque, Ks0464-314.png y en el bloque de configuración; haga clic en «Mini_Tank_Robot»Ks0464-36.png arrastre el bloque hacia fuera en el bloque de configuración y ajuste el ángulo del servo a 90 inicial.

图片a5.png

Haga clic en «Variables», arrastre el bloque Ks0464-104.png ; y arrastre P10-8.png 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 Pro8-图片14.png el bloque, luego haga clic en Ks0464-93.png el Pro8-图片15.png icono de engranaje azul, aparezca el cuadro de edición, arrastre el bloque al bloque. Así que usted P3-14.png puede conseguir el bloque .

Vaya a «Logic»P3-20.png arrastre el bloque a la instrucción if y seleccione»<«; ir a «Variables»Ks0464-87.png arrastrar el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «<«; arrastre Pro8-图片20.png el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «<» ; cambiar el valor 0 a 10; Así:Ks0464-377.png

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 图片a6.png 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 Ks0464-101.png arrastrar el bloque a la instrucción do. Ajuste el ángulo del servo a 160.

Ir a «Control»Ks0464-102.png arrastre el bloque ; duplicar el Ks0464-103.png bloque una vez y arrastrarlo al bloque de pasos que acaba de hacer.
Cambiar Ks0464-104.png elKs0464-105.pngen ; cambiar la variable»i«en»j«; a continuación, retrasar 500 ms.
Ks0464-378.png

A continuación, duplique Ks0464-379.png este fragmento de bloque de código una vez; ajustar el ángulo del servo 180 a 0; cambiar la variable»j«into»k«; cambiar Ks0464-105.png el Ks0464-109.png en .
Ks0464-380.png

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»Pro8-图片14.png arrastre el bloque debajo del bloque de retardo 500ms, luego Pro8-图片15.png haga clic en el icono de engranaje azul, aparezca el cuadro de edición, arrastre el Ks0464-93.png bloque al bloque. Así que usted P3-14.png puede conseguir el bloque .

Vaya a «Logic»P3-20.png arrastre el bloque y seleccione «<«; ir a «Variables»,arrastre Ks0464-88.png el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «<«; arrastre Pro8-图片20.png el desde el «Math» en el segundo cuadro de entrada en el lado derecho de «<» ; cambiar el valor de 0 a 50.Ks0464-382.png

Duplica este Ks0464-382.png bloque una Ks0464-88.png Ks0464-89.pngvez y reemplaza el archivo con .

Y de nuevo vaya a «Logic», arrastre el bloque Ks0464-385.png a la instrucción if; y haga clic en el triángulo desplegable para seleccionar»o«; a continuación, Ks0464-386.png Ks0464-387.png arrastre el bloque Ks0464-388.png y en el cuadro de entrada del bloque .
Ks0464-389.png

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», Pro8-图片14.png arrastre el bloque Ks0464-389.png a

la instrucción do de bloque, luego Ks0464-93.png haga Pro8-图片15.png 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:
Ks0464-390.png

Vaya a «Logic»P3-20.png arrastre el bloque a la instrucción if y seleccione «>»; ir a «Variables»,arrastre Ks0464-88.png el bloque hacia fuera en el primer cuadro de entrada en el lado izquierdo de «>»; arrastre Ks0464-89.png el al segundo cuadro de entrada en el lado derecho de «>».
Haga clic en «Mini_Tank_Robot»,arrastre Ks0464-101.png Ks0464-392.png el bloque y ; servo ángulo 90 y PWM 255.
Agregue un bloque de retardo 500ms. A continuación, Ks0464-393.png arrastre el y establezca en PWM200.
Ks0464-394.png

Duplicamos este fragmento Ks0464-395.png de bloque de código una vez y arrastramos a la instrucción else; arrastre el Ks0464-396.png bloque para Ks0464-397.png reemplazar el bloque y ajuste a PWM 255.
Ks0464-398.png

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 Ks0464-399.png ; arrastre el P10-2.png bloque de «Matemáticas» en el bloque Ks0464-399.png y cambie «elemento» en»al azar«. Así que puede Ks0464-401.png obtener la variable .

Primero arrastre Ks0464-402.png el bloque al bloque de configuración.
Ks0464-403.png

Haga clic en «Variables» Ks0464-404.png , arrastre hacia fuera el bloque de variables ; arrastre el Ks0464-405.png 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 Ks0464-406.png bloque Ks0464-407.png 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», P3-20.png arrastre el bloque ; y arrastre el Ks0464-409.png bloque desde «Math» hasta el primer cuadro de entrada en el lado izquierdo de «A»; a continuación, vaya a «Variables», arrastre el bloque Ks0464-401.png 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 Ks0464-411.png el bloque de «Matemáticas» al cuadro de entrada en el lado derecho de «.» .
Consigue un bloque completo como este:

Ks0464-412.png

Duplicamos este fragmento Ks0464-413.png de bloque de código hecho antes de una vez.
Sólo Ks0464-414.png tiene que Ks0464-412.png reemplazar con el bloque . Y arrástralos a la declaración else.
Ks0464-416.png

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 Ks0464-393.png 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!

Ks0464-418.png

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.
0428图片126.png

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:
0428图52.png

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.

Guía de conexión:
0428图片128.png

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:

0428图片129.png

0428图片130.png

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» ,P5-1.pngarrastre el bloque ; y arrastre el 0428-图21.png bloque desde «Serial Port» al bloque de configuración. A continuación, vaya a «Mini_Tank_Robot», arrastre 428-pro4-4.png 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» 0428-图68.png , arrastre el bloque hacia fuera en el bloque de configuración; ajuste el ángulo del servo a 90o.

0428-图69.png

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 bloque428-pro5-1.png; arrastre el P9-4.png bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer. A continuación, vaya a «Variables»,P9-4.pngarrastre el bloque P9-5.png hacia el bloque .

0428-图70.png

Aquí necesitamos usar laP9-11.pnginstrucción de condición . Vaya a «Control» ,P9-11.pngarrastre el bloque .
Hemos enumerado el valor de cadena de cada tecla en el control remoto infrarrojo.
La teclaP9-9.pngfrontal es FF629D; la P13-11.png clave de retroceso es FFA857; la P13-12.png tecla izquierda es FF22DD; la P13-13.png clave correcta es FFC23D; P13-14.png es FF02FD; P13-15.png es FF30CF; P13-16.png 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 P9-9.png 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», P3-20.png arrastre el bloque hacia fuera P9-16.png hasta la instrucción if y arrastre el bloque desde las «Variables» en el primer cuadro de entrada en el lado izquierdo de «-«; arrastre Pro8-图片20.png el de la «Matemática» en el segundo cuadro de entrada en el lado derecho de la0428-图80.pngpalabra «» y escriba «0xFF629D» , como este: .

Haga clic en la biblioteca importada «Mini_Tank_Robot», arrastre el bloque 0428-图81.png 0428-图82.png en la instrucción do; cambiar a PWM200 y haga clic en el triángulo desplegable para elegir front.
0428-图83.png

Si ir_rec 0xFFA857, pulse laP13-11.pngtecla 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 0428-图84.png «Mini_Tank_Robot», arrastre0428-图85.pngel bloque a la instrucción do, reemplazando el bloque ; cambiar a PWM200 y haga clic en el triángulo desplegable para elegir de nuevo.
0428-图86.png

Del mismo modo, si ir_rec-0xFF22DD, presione P13-12.png 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 P13-13.png 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 P13-14.png 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 P13-15.png 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 P13-16.png 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», 0428-图87.png arrastre respectivamente el bloque ,0428-图88.png,0428-图89.png,0428-图91.png0428-图92.png 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.
0428-图93.png

Ahora complete el código para el robot de control remoto por infrarrojos. ¡Sube el código completo para navegar por tu robot tanque!

0428-图94.png

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.
0428图片132.png

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.

KS0193-图片88.png

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:

thumb

  • 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:
0428图片138.png

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:
thumb

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:
thumb

2.Pulse el icono de Tank_Car para entrar en la aplicación Bluetooth. Como se muestra a continuación.
thumb

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.
thumb

4.Haga clic para conectar el Bluetooth. HMSoft conectado, LED Bluetooth se encenderá normalmente.
thumb

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 el0428图片144.pngbotó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
thumb

2.Haga clic para buscar keyestudio, y verá las teclas BT coche.
thumb

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.
thumb

5.Toque el icono de Tank_Car para entrar en la interfaz de control.
thumb

thumb

Guía de conexión:
thumb

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 bloque428-pro5-1.png; arrastre el P9-4.png bloque desde «SerialPort» al bloque del receptor infrarrojo que acaba de hacer.
A continuación, vaya a «Variables»,P9-4.pngarrastre el bloque P9-5.png hacia el bloque .

0428图53.png

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.

P9-8.png

A continuación se muestra Tank Robot Bluetooth APP interfaz y hemos enumerado qué función de cada tecla hace:
thumb

thumb

Pulse el 0428图片144.png 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 el0428-图50.pngbotó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 0428-图51.png 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 0428-图52.png 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 0428-图53.png 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 0428-图54.png 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 el0428-图55.pngbotó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 0428-图56.png 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 0428-图57.png 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 pulsar0428图片144.pngla 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… P3-20.png
instrucciónP14-17.png 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 «-«; P9-11.png arrastre Pro9-图片12.png desde el «Texto» en el segundo cuadro de entrada en el lado0428-图62.pngderecho de la palabra «A» y escriba «F», como este: .

Haga clic en «Mini_Tank_Robot» , 428-pro5-3.png 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.

thumb

Ahora ya completamos el programa. Sube el éxito del código,0428图片144.pngpresiona 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.

thumb

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, toque0428图片144.pngel 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 0428图片144.png 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:

thumb

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.

thumb

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.
Etiquetar0428图片144.pngel botón, ir al frente; toque,0428图片155.pngvuelva; pulse0428图片156.png, gire a la izquierda; pulse0428图片157.png, gire a la derecha; prensa0428图片158.png, parada; pulse0428图片159.png, 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.
thumb

 

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.

Guía de conexión:
0428图片133.png

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 0428图500.png botón0428图500.pngde 0428图500.png la0428图500.png 0428图500.png 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.

428-bluetooth code.png

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.
0428图片1.png