100% encontró este documento útil (1 voto)
336 vistas197 páginas

Tanque Robot PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
336 vistas197 páginas

Tanque Robot PDF

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 197

Machine Translated by Google

Kit Tanque Robot


Inteligente
Machine Translated by Google
Machine Translated by Google

Contenido
Lista de Embalaje......................................................................................................................................................................................................... 1
Introducción al Kit de Tanque Robot Inteligente ........................................................................................................................................................ 2
Lección 1: Comenzando con el IDE de Arduino......................................................................................................................................................... 7
Como instalar el IDE de Arduino ......................................................................................................................................................................... 7
Como instalar el Driver de Arduino .................................................................................................................................................................. 15

Como agregar Librerias....................................................................................................................................................................................... 22


Prueba de parpadeo............................................................................................................................................................................................. 26
Lección 2: Comenzando con Mixly .......................................................................................................................................................................... 39
Introducción al software Mixly........................................................................................................................................................................... 39
Como instalar el Software Mixly........................................................................................................................................................................ 44
Como agregar las Librerias a Mixly ................................................................................................................................................................... 47
Como abrir el programa de referencia ................................................................................................................................................................ 53
Lección 3: Velocidad del Motor y Control de Dirección .......................................................................................................................................... 99
Lección 4: Tanque Robot Infrarrojo para evitar obstáculos................................................................................................................................... 108
Lección 5: Tanque Robot Ultrasónico para evitar obstáculos................................................................................................................................. 128
Lección 6: Control Remoto Infrarojo del Tanque Robot ........................................................................................................................................ 154
Lección 7: APP Control del Tanque Robot ............................................................................................................................................................. 163
Machine Translated by Google

Tutorial

Este tutorial incluye códigos, bibliotecas y lecciones. Está diseñado para principiantes. Enseñará a todos los

usuarios cómo montar el kit robótico y utilizar la placa controladora Arduino UNO, sensores, servo y bluetooth.

Simultáneamente es compatible con la programación gráfica mezclada y la programación de código IDE

arduino, que es conveniente para los principiantes para aprender. El chasis del tanque DIY fácil de instalar se

adopta para una fácil instalación. La fuente de alimentación utiliza dos baterías de litio 18650 con una larga

duración de la batería.

El software de control APP recién creado, las cinco funciones principales del kit de tanques son controladas

exhaustivamente por la APP, y el modo de función se puede cambiar libremente.


Machine Translated by Google

Lista de Embalaje

1/193
Machine Translated by Google

Introducción al Kit de Tanque Robot Inteligente


El kit de tanque robot Inteligente funciona utilizando el control principal arduino UNO R3 y la placa de expansión de
accionamiento del motor TB6612, dos motores de reducción, el chasis DIY del tanque y algunos sensores.

Los tanques inteligentes tienen las siguientes ventajas:

1) La placa de expansión de accionamiento del motor TB6612 integra el chip Driver, eliminando el cableado complejo
tradicional L298N y el espacio de instalación, la placa de expansión utiliza cableado de interfaz estándar, cableado de
instalación simple, fácil de entender y rápido.

2/193
Machine Translated by Google

2) El software de control APP recién creado, las cinco funciones principales del kit de tanque son controladas
exhaustivamente por la APP, y el modo de función se puede cambiar libremente.

3/193
Machine Translated by Google

3) El Nuevo diseño módulo Bluetooth está conectado al circuito, y el programa de carga no requiere la desconexión
manual del módulo Bluetooth. Esto ayuda a los estudiantes principiantes a evitar con éxito el problema de una falla
al momento de cargar el programa.

4/193
Machine Translated by Google

4) Simultáneamente es compatible con la programación gráfica Mixly, y la programación de código IDE arduino, que es
conveniente para los principiantes

5/193
Machine Translated by Google

5) El chasis del tanque DIY está diseñado para una fácil instalación. La fuente de alimentación utiliza dos baterías de litio
18650 con una duración de la batería de larga vida.

6/193
Machine Translated by Google

Lección 1: Comenzando con el IDE de Arduino


Cómo instalar Arduino IDE
Introducción
El Entorno de Desarrollo Integrado (IDE) de Arduino es el lado del software de la plataforma Arduino. En este proyecto, aprenderá
cómo configurar su computadora para usar Arduino y cómo establecer los proyectos que siguen. El software de Arduino que utilizará
para programar su Arduino está disponible para Windows, Mac y Linux. El proceso de instalación es diferente para las tres plataformas
y, por desgracia, hay una cierta cantidad de trabajo manual para instalar el software.

PASO 1: Vaya a https://www.arduino.cc/en/Main/Software y busque la siguiente página.

La versión disponible en este sitio web suele ser la última versión, y la versión real puede ser más reciente que la versión de la
imagen.

7/193
Machine Translated by Google

PASO 2: Descargue el software de desarrollo que sea compatible con el sistema operativo de su computadora.

Tome Windows como ejemplo aquí.

8/193
Machine Translated by Google

Haga clic en Instalador de Windows.

Haga clic en "SOLO DESCARGAR"

También la versión 1.8.0 está disponible en el material que proporcionamos, y las versiones de nuestros materiales son
las últimas versiones cuando se hizo este curso.

9/193
Machine Translated by Google

Instalación de Arduino (Windows)

Instalando Arduino con el exe. Installation package.

Haga clic en Acepto para ver la siguiente interfaz

10/193
Machine Translated by Google

Click Siguiente

11/193
Machine Translated by Google

Puede pulsar Browse... para elegir una ruta de instalación o escribir directamente en el directorio que desee. Haga clic en
Instalar para iniciar la instalación

12/193
Machine Translated by Google

Espere el proceso de instalación, si aparece la interfaz de Seguridad de Windows, simplemente continúe haciendo clic en
Instalar para finalizar la instalación.

A continuación, aparece el siguiente icono en el escritorio:

13/193
Machine Translated by Google

Haga doble clic para entrar en el entorno de desarrollo deseado.

14/193
Machine Translated by Google

Cómo instalar el Driver Arduino

A continuación, presentaremos la instalación del controlador de la placa de desarrollo UNO R3. La instalación del
controlador puede tener ligeras diferencias en diferentes sistemas informáticos. Así que en el siguiente vamos a pasar a la
instalación del controlador en el sistema de ventanas.

La carpeta Arduino contiene tanto el propio programa Arduino como los controladores que permiten que el Arduino se conecte a su
computadora mediante un cable USB. Antes de lanzar el software Arduino, va a instalar los controladores
USB.

Cuando conecte la placa UNO a su computadora por primera vez, haga clic con el botón derecho en el icono de su

"Computadora" —>para "Propiedades"— > haga clic en el botón "Administrador de dispositivos", en "Otros dispositivos" o

"USB­Serial", debería ver un icono para "Dispositivo desconocido" con un pequeño triángulo de advertencia amarillo junto

a él. Este es su Arduino.O puede buscar "devi" en su computadora, o puede abrir el administrador de dispositivos de su

computadora.

15/193
Machine Translated by Google

16/193
Machine Translated by Google

A continuación, haga clic con el botón derecho en el dispositivo y seleccione la opción de menú superior (Actualizar software
del controlador...) que se muestra como la figura siguiente.

A continuación, se le pedirá: "Buscar automáticamente software de controlador actualizado" o "Examinar mi


ordenador en busca del software controlador”.

17/193
Machine Translated by Google

Como se muestra a continuación. En esta página, seleccione "Examinar mi computadora en busca de software
controlador".

Haga click con el botón derecho en el dispositivo y seleccione la opción de menú superior (Actualizar software
del controlador...). A continuación, se le pedirá: 'Buscar automáticamente el software de controlador actualizado'
o 'Examinar mi ordenador en busca del controlador del software'.

18/193
Machine Translated by Google

Seleccione la opción para examinar y navegar a: C\Program Files(x86)\Arduino\drivers. (Nota: Aquí está la ruta que
usted elige instalar el IDE de Arduino. La ruta elegida en el tutorial de instalación en la sección anterior es correcta,
por esa razón la ruta elegida es: C\Program Files(x86)\Arduino\drivers).

19/193
Machine Translated by Google

Haga clic en "Siguiente" y puede recibir una advertencia de seguridad, si es así, permitir que el software se instale. Una
vez instalado el software, recibirá un mensaje de confirmación. Instalación completada, haga clic en "Close".

20/193
Machine Translated by Google

Hasta ahora, el controlador está bien instalado. A continuación, puede hacer clic con el botón derecho
“Computer”—>“Properties”—>“Device manager”, usted debe ver el dispositivo como la figura que se muestra a
continuación.

21/193
Machine Translated by Google

Como agregar las Librerias

Instalación Librerias adicionales Arduino

Una vez que se sienta cómodo con el software Arduino y el uso de las funciones integradas, es posible que desee ampliar la
capacidad de su Arduino con bibliotecas adicionales.

Que son las Librerias (Bibliotecas)?


Las Librerias son una colección de códigos que facilita la conexión a un sensor, pantalla, módulo, etc. Por ejemplo, la
Libreria “LiquidCrystal” incorporada facilita la conversación con las pantallas LCD de caracteres. Hay cientos de bibliotecas
adicionales disponibles en Internet para su descarga. Las bibliotecas integradas y algunas de estas bibliotecas adicionales se
enumeran en la referencia. Para utilizar las bibliotecas adicionales, deberá instalarlas.

Como instalar una Biblioteca

22/193
Machine Translated by Google

Importando una Biblioteca .zip


Las bibliotecas a menudo se distribuyen como un archivo o carpeta ZIP. El nombre de la carpeta es el nombre de la
biblioteca. Dentro de la carpeta habrá un archivo .cpp, un archivo .h y, a menudo, un archivo de palabras clave.txt, una
carpeta de ejemplos y otros archivos requeridos por la biblioteca. Puede instalar bibliotecas de 3rd party en el IDE. No
descomprima la biblioteca descargada, déjela como está.

En el IDE de Arduino, vaya a “Sketch > Include Library”. En la parte superior de la lista desplegable, seleccione la
opción "Agregar biblioteca .ZIP".

23/193
Machine Translated by Google

Se le pedirá que seleccione la Libreria que desea agregar. Vaya a la ubicación del archivo .zip y ábralo.

(Nota: Esto es sólo para demostrar cómo agregar un archivo de Libreria zip, si necesita agregar un archivo de Libreria depende
de sus necesidades reales del programa)

24/193
Machine Translated by Google

Regresar al menú “Sketch > Import Library”. Ahora deberías ver la Libreria en la parte inferior del menú desplegable.
Está listo para ser utilizado en su boceto. El archivo zip se habrá expandido en la carpeta de bibliotecas del directorio de
croquis Arduino.
NB: La Libreria estará disponible para su uso en sketches, pero los ejemplos de la libreria no se expondrán en los Archivos
> Ejemplos hasta después de reiniciar el IDE.

Esos dos son los enfoques más comunes. Los sistemas MAC y Linux se pueden manejar de la misma manera. La instalación
manual a introducir a continuación como alternativa puede ser utilizar y los usuarios sin necesidades pueden omitirla.

25/193
Machine Translated by Google

Prueba de Parpadeo

Aprenderá cómo programar su placa controladora UNO para parpadear el LED incorporado del Arduino, y cómo descargar
programas por pasos básicos.

La placa UNO tiene filas de conectores a lo largo de ambos lados que se utilizan para conectarse a varios dispositivos
electrónicos y 'escudos' plug­in que amplía su capacidad.

También tiene un solo LED que puede controlar desde sus bocetos. Este LED está construido en la placa UNO y a menudo se
conoce como el LED 'L', ya que así es como se etiqueta en la placa.

26/193
Machine Translated by Google

Es posible que el LED 'L' de su placa UNO ya parpadee cuando lo conecta a un enchufe USB. Esto se debe a que las placas
generalmente se envían con el boceto 'Blink' preinstalado.

En este proyecto, reprogramaremos la placa UNO con nuestro propio boceto de parpadeo y luego cambiaremos la velocidad
a la que parpadea. En el capítulo anterior­Cómo instalar Arduino IDE, configuró su Arduino IDE y se aseguró de que pudiera
encontrar el puerto serie correcto para que se conectara a su placa UNO. Ha llegado el momento de poner esa conexión a
prueba y programar su placa UNO.

El IDE de Arduino incluye una gran colección de bocetos de ejemplo que puede cargar y usar. Esto incluye un boceto de
ejemplo para hacer que el LED 'L' parpadee.

Cargue el boceto 'Blink' que encontrará en el sistema de menús del IDE en File > Examples > 01.Basics

27/193
Machine Translated by Google

Cuando se abra la ventana de boceto, agrándela para que pueda ver todo el boceto en la ventana.

28/193
Machine Translated by Google

Los bocetos de ejemplo incluidos con el IDE de Arduino son de 'solo lectura'. Es decir, puede cargarlos en una placa
UNO R3, pero si los cambia, no puede guardarlos como el mismo archivo. Ya que vamos a cambiar este boceto, lo
primero que debe hacer es guardar su propia copia. En el menú Archivo en el IDE de Arduino, seleccione 'Guardar
como..' y luego guarde el boceto con el nombre 'MyBlink'.

29/193
Machine Translated by Google

Has guardado tu copia de 'Blink' en tu cuaderno de bocetos. Esto significa que si alguna vez desea encontrarlo de nuevo,
puede abrirlo usando la opción de menú Archivo > Cuaderno de bocetos.

30/193
Machine Translated by Google

Conecte su placa Arduino a su ordenador con el cable USB y compruebe que el 'Tipo de
placa' y el 'Puerto Serie' estén configurados correctamente.

31/193
Machine Translated by Google

32/193
Machine Translated by Google

Nota: El tipo de tarjeta y el puerto serie aquí, puede que no sean necesariamente los mismo que se muestran en la imagen. Si
está utilizando 2560, entonces tendrá que elegir Mega 2560 como el Tipo de tarjeta, otras opciones se pueden tomar de la
misma manera. Y el puerto serie que se muestra para todos es diferente, a pesar que COM 6 elegido aquí, podría ser COM3 o
COM4 en su ordenador. Se supone que un puerto COM correcto es COMX (Arduino XXX), que es según los criterios de
Certificación.

33/193
Machine Translated by Google

El IDE arduino le mostrará la configuración actual para el tablero en la parte inferior de la ventana.

Haga clic en el botón "Upload". El segundo botón de la izquierda en la barra de herramientas.

Si observa el área de estado del IDE, verá una barra de progreso y una serie de mensajes. Al principio, dirá 'Compilando
sketch...'. Esto convierte el croquis en un formato adecuado para cargarlo en el tablero.

34/193
Machine Translated by Google

A continuación, el estado cambiará a "Uploading". En este punto, los LED en el Arduino deben comenzar a parpadear a
medida que se transfiere el boceto.

Finalmente, el estatus cambiará a 'Done uploading'.

El otro mensaje nos indica que el croquis utiliza 928 bytes de los 32.256 bytes disponibles. Después de la fase 'Compilación de
croquis..' podría obtener el siguiente mensaje de error:

35/193
Machine Translated by Google

Puede significar que la placa no está conectada en absoluto, o los controladores no se han instalado (si es necesario) o que se
selecciona el puerto serial incorrecto.

Si encuentra esto, vuelva al Proyecto 0 y compruebe la instalación. Una vez completada la carga, la placa debe reiniciarse y
comenzar a parpadear. Abra el código.

Tenga en cuenta que una gran parte de este sketch se compone de comentarios. Estas no son instrucciones reales
del programa; más bien, sólo explican cómo funciona el programa. Están allí para su beneficio.
Todo lo escrito entre /* and */ en la parte superior del sketch existe un bloque de comentarios; explica para qué sirve el sketch.

Los comentarios de una sola línea comienzan con // y todo hasta el final de esa línea se considera un comentario. La primera
línea de código es: int led = 13;
Como explica el comentario anterior, esto entrega un nombre al pin al que está conectado el LED. Esto es 13 en la mayoría de
los Arduinos, incluyendo el UNO y LEONARDO.

36/193
Machine Translated by Google

A continuación, tenemos la función 'setup'. Una vez más, como dice el comentario, esto se ejecuta cuando se pulsa el botón de reinicio. También
se ejecuta cada vez que la placa se restablece por cualquier motivo, como la potencia que se le aplica primero, o después de cargar un sketch.

configuración nula() {

// inicializar el pin digital como una salida. pinMode(led, OUTPUT);

Cada croquis Arduino debe tener una función de 'configuración', y el lugar donde es posible que desee agregar instrucciones propias es entre
el { y el }.

En este caso, hay un solo comando allí, que, como dice el comentario le dice a la placa Arduino que vamos a utilizar el pin LED como salida.

También es obligatorio que un croquis tenga una función de 'bucle' (“Loop”). A diferencia de la función 'setup' que solo se ejecuta una vez,
después de un restablecimiento, la función 'Loop', una vez que haya terminado de ejecutar sus comandos, comenzará inmediatamente de
nuevo.

bucle vacío()
{ escritura digital (led, ALTA); retraso(1000);
escritura digital (led, BAJO); retraso(1000);

37/193
Machine Translated by Google

Dentro de la función de bucle (Loop), los comandos primero que todo encienden el pin LED (HIGH), luego 'delay' para 1000
milisegundos (1 segundo), luego apagan el pin LED y hacen una pausa para otro segundo. Ahora vas a hacer que tu LED
parpadee más rápido. Como usted podría haber adivinado, la clave de esto radica en cambiar el parámetro en () para el
comando 'delay'.

// apaga el LED (BAJO es el nivel de voltaje) // Espera por un segundo


// enciende el LED (ALTO es el nivel de voltaje) // Espera por un segundo

Este período de retardo es de milisegundos, así que si desea que el LED parpadee el doble de rápido, cambie el valor de 1000 a
500. Esto se detendría durante medio segundo cada retraso en lugar de un segundo entero.

Vuelva a cargar el boceto y debería ver que el LED comienza a parpadear más rápidamente.

38/193
Machine Translated by Google

Lección 2: Comenzando con el Software Mixly


Introducción al Software Mixly

Mixly es un software de programación gráfica Arduino de código abierto gratuito, 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 ecosistema de apoyo completo
para la educación electrónica creativa; un escenario para que los educadores fabricantes hagan realidad sus
sueños. Aunque hay un software de programación gráfica Ardublock lanzado por arduino oficial, Ardublock no
es lo suficientemente perfecto, y muchas funciones comunes no se pueden realizar.

Diseño Conceptual:

(1) Usabilidad

Mixly está diseñado para ser completamente verde. actualmente. Se puede ejecutar en Windows XP y superior.

(2) Simplicidad

Mixly utiliza el motor de programación gráfica Blockly para reemplazar la manipulación de texto compleja con bloques de

construcción gráficos, proporcionando una buena base para que los principiantes empiecen rápidamente.

39/193
Machine Translated by Google

1.­ Utilice los diferentes iconos de color para representar diferentes tipos de bloques funcionales, muy conveniente para
que los usuarios clasifiquen.
2.­ Proporcione las opciones predeterminadas en el bloque de funciones compuestas para reducir eficazmente el número
de arrastres de usuario.
3.­ Integre todas las características del software en la misma interfaz.
4.­ Proporcione el tutorial de referencia y los ejemplos de código.

(3) Funcionalidad

Tiene funciones versátiles. Mixly casi puede implementar todas las funciones que Arduino IDE tiene. Soporta todas las
tarjetas oficiales de desarrollo Arduino.

(4) Continuidad

El objetivo del sistema de programación gráfica no es sustituir definitivamente el método de programación de texto
original, sino comprender mejor los principios de programación y el pensamiento de programas a través de la
programación gráfica, y sentar las bases para la programación futura de textos. También es la filosofía de diseño para
Mixly. Se ha añadido contenido más continuo al diseño del software para proteger los resultados de aprendizaje del
usuario. Para ser específico, incluye la introducción de tipos variables, la consistencia de la programación de texto tanto
como sea posible en el diseño del módulo, y el apoyo de programación gráfica y de texto.

40/193
Machine Translated by Google

(5) Ecológico

El concepto de diseño más importante de Mixly es su característica ecológica, que puede distinguirlo de otra programación
gráfica arduino. Con el fin de lograr un desarrollo sostenible, Mixly está diseñado para permitir a los fabricantes desarrollar sus
propios módulos únicos. Pero los usuarios requieren la base de programación de JavaScript para hacer esta parte del módulo).
También permite a los usuarios utilizar directamente la función de programación gráfica de Mixly para generar módulos comunes
(como pantalla digital LED, emisión de zumbador, etc. Los usuarios pueden hacer esta parte del módulo sólo usando Mixly).
Ambos tipos de módulos mencionados anteriormente se pueden importar al sistema Mixly a través de la función "Importar",
realizando así el propio valor del usuario en la popularidad del software Mixly.

Grupo de Usuarios:

Desde el concepto de diseño anterior, se puede ver que Mixly es adecuado para que los estudiantes de primaria y secundaria

cultiven el pensamiento de programación. También está disponible para una programación rápida al crear un proyecto.

También es bueno para aquellos amigos que no quieren aprender programación de texto, pero quieren hacer algunas pequeñas

obras con control inteligente.

41/193
Machine Translated by Google

Funciones de Mixly Blocks:


Funciones del sistema

Mira la interfaz principal de Mixly, incluye cinco partes, es decir, selección de bloques, edición de código, código

de texto (oculto), función del sistema y área de solicitud de mensaje. Se muestra a continuación.

42/193
Machine Translated by Google

Algunas funciones comunes:


A través de esta interfaz, puede completar el código compilar, cargar, guardar y administrar. Admite cuatro métodos de eliminación:

arrastrarlo hacia afuera de la ventana de código o arrastrar a papelera de reciclaje, eliminar clave o hacer clic con el botón derecho para

eliminar el bloque Soporta cuatro idiomas: English, Español (Español), Chino Simplificado (Chino Simplificado), Chino Tradicional (Chino)

Tradicional).

43/193
Machine Translated by Google

Como instalar el Software Mixly

Primero descomprima el archivo de software de programación mixly.

Después de descomprimir obtendrá los siguientes archivos:

(Nota: El nombre de la ruta sin comprimir no puede tener una barra espaciadora. Si el nombre con llamado necesita un

separador, puede usar un carácter de subrayado para reemplazar la barra espaciadora, por ejemplo, debe nombrar la carpeta

Mixly_Sofewave en lugar de Mixly Sofewave).

44/193
Machine Translated by Google

45/193
Machine Translated by Google

Haga doble clic en el archivo de aplicación mixly para abrir el software. Y seleccione la placa de control principal como
Arduino/Genuino Uno.

46/193
Machine Translated by Google

Como agregar Librerias a Mixly

El archivo de biblioteca mixly es un código gráfico integrado personalizado para una determinada placa de control. Por
ejemplo, hemos escrito un archivo de biblioteca mezclada para tanques robot inteligentes. Puede cargarlo directamente
en el software Mixly y usarlo directamente, lo que aporta comodidad a su proceso de programación. El archivo de
biblioteca general contiene los siguientes archivos, el último archivo .xml es el archivo de biblioteca legible del software Mixly

47/193
Machine Translated by Google

Después de abrir el software Mixly, seleccione "importar" y luego seleccione la ruta donde se encuentra la carpeta

"Smart_Robot_Tank.xml", seleccione el archivo ­­"Smart_Robot_Tank.xml" y haga clic en "Open".

48/193
Machine Translated by Google

La siguiente figura muestra que el archivo de Libreria "Smart_Robot_Tank" se ha importado correctamente en el


software Mixly.

49/193
Machine Translated by Google

A continuación, escribimos un programa en el software y lo subimos al tanque robot inteligente.

Arrastre el bloque para controlar el avance del tanque al área de programación y modifique la variable PWM a 200.

50/193
Machine Translated by Google

Conecte la placa de desarrollo Arduino UNO al ordenador con un cable de datos USB y encienda el interruptor de

alimentación. Seleccione el tipo de placa de desarrollo como "Arduino UNO" en el software y verá que aparece un nuevo

puerto de conexión serial "COM5".

51/193
Machine Translated by Google

Haga clic en “Upload” y espere a que se complete la carga. Una vez completada la carga del programa, su tanque avanzará a

un PWM de 200. El rango variable de PWM es 0­255, 0 significa parada, 255 representa la velocidad máxima.

52/193
Machine Translated by Google

Cómo abrir el programa de referencia


Haga clic en "Open" en el software Mixly y seleccione el programa de referencia.

53/193
Machine Translated by Google

54/193
Machine Translated by Google

Tal vez el software del programa que abrió se muestra en chino, se puede establecer el idioma en la esquina superior
derecha del software, se puede elegir English. Actualmente, la Libreria Smart_Robot_Tank no es compatible con el
español. Si eliges español, el sistema sigue mostrando English.

55/193
Machine Translated by Google

56/193
Machine Translated by Google

57/193
Machine Translated by Google

El uso de cada bloque de instrucciones se describe a continuación en los Blocks In/Out:

58/193
Machine Translated by Google

NO. ICONO DE BLOQUE DEFINICIÓN

1 Devuelve el voltaje HIGH o LOW

Escribe el valor digital para un Puerto específico Digital

Output: Ajustar el Output HIGH o LOW para el pino IO


2

Devuelve el valor digital de un Puerto específico Digital

3 Leer Pin IO, generalmente usado para leer el nivel HIGH o

LOW detectado por el sensor Digital.

59/193
Machine Translated by Google

Escribir el valor análogo entre 2 y 255 para un

4 Puerto específico. Analog Output: Ajuste el valor

Salida analógica a través de pines IO analógicos (0~255).

Devuelve el valor entre 0 y 1023 de un puerto

específico. Pin de lectura Análogo IO, generalmente usado para leer

el valor análogo detectado por el sensor análogo


5

Función de interruptores externos , con tres modos de


6
Interruptores para activar: SUBIDA, BAJADA, CAMBIO.

Desactivar los interruptores para un Puerto especifico.


Apagar la función de interruptor dado.
7

60/193
Machine Translated by Google

8 Ajustar los Pins IO a un estado Output o Input.

Leer el tiempo continuo del pulso HIGH o LOW

9 Desde los pins IO (generalmente usado para

el rango ultrasónico).

61/193
Machine Translated by Google

Control de los Bloques:

62/193
Machine Translated by Google

NO
ICONOS BLOCK DEFINICIÓN

1 Inicialización (Ejecutar solo una vez)

end program, significa que el programa puede


2
Parar de ejecutarse cuando se usa este block.

Función Delay, click para seleccionar ms o us (pausar el


3
programa por un tiempo determinado (en millisegundos)

especificados como parametros. Existen 1000


millisegundos en un segundo.)

63/193
Machine Translated by Google

Función If_do (Primero evalua si un valor es verdadero o

Falso, si el valor es verdadero , entonces ejecuta alguna

instrucción o declaración.
4
Tú puedes hacer click en el ícono de engranaje azul para

seleccionar el block else if o el block else.

64/193
Machine Translated by Google

Función switch. Tú puedes hacer click en el ícono de


engranaje azul para seleccionar el block case o el
block default. (Usado para evaluar diversos programas
5
Para ejecutar la función correspondiente que
corresponda con el programa.)

6 Igual a la declaración for.

65/193
Machine Translated by Google

7 while, Una declaración de Loop.

8 Function break, usado para salir desde alguna


declaración que contenga algún Loop.

66/193
Machine Translated by Google

Función millis(), Devuelve el tiempo de ejecución del


sistema desde el inicio del programa

9 (La unidad puede ser ms (milisegundos) o μs (microsegundo)).

Función de interrupción de temporizador, es decir, establecer


una interrupción de desencadenador para la cantidad de
tiempo (en milisegundos) especificada como parámetro.

10

67/193
Machine Translated by Google

11 Bloque de inicio de interrupción del

temporizador

12 Bloque para detener la interrupción del


temporizador

68/193
Machine Translated by Google

Bloques Matemáticos:

69/193
Machine Translated by Google

NO. ICONOS DE BLOQUE DEFINICIÓN

1 Un número

Click para seleccionar la Operación aritmética:

(Suma) ;(Resta) ; x (Multiplicación); ÷

2 (división); % (División); ^ (Elevado a)

Haga clic para seleccionar el & (extremo bit a bit); l (bit a bit o);
<< 3 (desplazamiento de bits a la izquierda); >>
(desplazamiento de bits a la derecha)

70/193
Machine Translated by Google

Click para seleccionar sin; cos; tan; asin; acos; atan; ln;

registro10; mi^; 10^; ++ (incremento); ­­(decremento)

Click para seleccionar Round; Ceil; Floor; abs; sq; sqrt

Round: Devuelve la parte entera que un número utiliza


alrededor de

. Ceil: Devuelve la parte entera un número mediante


5
Ceil. Floor: Devuelve la parte entera un número usando floor.

. abs: Devolver el valor absoluto de un número. sq:

Devolver el cuadrado de un número. sqrt: Devuelve la raíz


cuadrada de un número.

71/193
Machine Translated by Google

Si selecciona el máximo, devuelve el número mayor;


6
si selecciona el min, devuelve el número menor.

72/193
Machine Translated by Google

Bloques de Texto:

73/193
Machine Translated by Google

NO. ICONOS BLOCK DEFINICION

1 cadena de caracteres: una letra, palabra o línea de texto.

2 Un personaje

Crea un fragmento de texto uniendo dos fragmentos de


3 Mensaje de texto. (Aquí Hola únete a Mixly es igual a
HolaMixly)

4 Convierte una cadena en un entero o un valor flotante.

74/193
Machine Translated by Google

Devuelve el carácter correspondiente a un código ASCII.


5
(Número decimal 97 correspondiente a a)

6 Devuelve el código ASCII correspondiente a un carácter.

7 Convierte un número en una cadena.

8 Calcula la longitud de una cadena

9 Salida del carácter de una cadena (el carácter en 0 de hello es h)

75/193
Machine Translated by Google

La primera cadena es igual a o startsWith o endsWith el

10 segunda cadena, devuelve 1, de lo contrario devuelve 0.

(si es igual a, ambas cadenas son abc, devuelve 1.)

Devuelve un valor decimal de la primera cadena resta el


11
Segunda cuerda.

76/193
Machine Translated by Google

Listado de Bloques:

77/193
Machine Translated by Google

NO. ICONO DE BLOQUES DEFINICIÓN

1
Crear una lista con cualquier número de
elementos

2
Crea una lista a partir de un texto. (int
mylist [ ]={0,0,0};)

3
Devuelve la longitud de una lista.

4 Devuelve el valor de en la posición


especificada en una lista.

5 Establece el valor de en la posición


especificada en una lista. Establezca el
primer elemento de mylist en otro
elemento.

78/193
Machine Translated by Google

Bloques Lógicos:

79/193
Machine Translated by Google

NO
ICONOS DE BLOQUE DEFINICIÓN
.
logic comparision =: Devuelve true si ambas entradas son

iguales entre sí. ≠: devuelve true si ambas entradas no son

iguales entre sí. <: devuelve true si la primera entrada es

menor que la segunda entrada. ≤: Devuelve true si la

primera entrada es más pequeña que o igual que la


1
segunda entrada. >: devuelve true si la primera entrada es

mayor que la segunda entrada. ≥: devuelve true si la

primera entrada es mayor o igual que la segunda entrada.

80/193
Machine Translated by Google

and: Devuelve true si ambas entradas son true; or: Devolver true si
2
Al menos una de las entradas es verdadera

Devuelve true si la entrada es false. Devuelve false si la entrada


3
es true.

4 Devuelve true o false..

5 Devuelve Nulo

Si el primer número es true, se devuelve el segundo número,


6
de lo contrario, el tercer número.

81/193
Machine Translated by Google

Bloques del Puerto Serial:

82/193
Machine Translated by Google

NO. ICONO DE BLOQUE DEFINICION

1 Establezca la tasa de buad en serie en 9600.

2 Escriba el número, texto u otro valor especificado.

Imprimir el número, texto u otro valor especificado


3
en el monitor.

Imprimir el número, texto u otro valor especificado


4
Sobre una nueva linea del monitor.

83/193
Machine Translated by Google

Imprimir el número especificado en hexademical


5
Formato en la nueva línea del monitor.

Si el puerto serie está disponible, devuelve true,

de lo contrario, devuelve false. (generalmente utilizado


en la comunicación Bluetooth)

6 Devuelve una cadena en el puerto serie.

Una cadena leída desde el puerto serie a una variable de cadena,


pausar hasta leer el carácter especificado.
8

84/193
Machine Translated by Google

Leer los datos en serie por byte (generalmente se utiliza para


9 Leer el valor enviado desde el Bluetooth) (delete the

Borra los datos que han sido leidos)

10 Espere a que se completen los datos de salida

Establecer el puerto serie de software (llame a esta


función si necesita usar diversos puertos seriales)
11

Activación de la función de evento por datos de puerto serie, es decir,

12 el puerto serie está listo para llamar a esta función.

(igual a una función interruptor)

85/193
Machine Translated by Google

Monitor de Bloques:

86/193
Machine Translated by Google

NO. ICONOS BLOCK DEFINICION

1 Configuración de la dirección LCD1602 de la CII

Introduzca el valor en la línea LCD 1 y la línea 2 desde la


izquierda a la derecha.
2

3 Establecer la fila y la columna de la pantalla LCD para

imprimir el carácter.

4 Limpiar la pantalla LCD.

87/193
Machine Translated by Google

Variables de Bloque

88/193
Machine Translated by Google

NO. ICONOS DE DEFINICION


BLOQUEAR

1 Definir una variable entera

cuyo nombre sea item

2 Conversión de tipos

obligatoria de constantes o

variables

89/193
Machine Translated by Google

Funciones de Bloque:

90/193
Machine Translated by Google

NO. ICONOS DE BLOQUE DEFINICION

Crea una función sin salida. Haga clic en el icono azul para establecer el
1
parámetro de procedimiento. (sin valor devuelto)

Crea una función con una salida. Haga clic en el icono azul para establecer el

2 parámetro de procedimiento. (con valor devuelto y puede


establecer los tipos de datos)

3 Si un valor es true, devuelva un segundo valor.

91/193
Machine Translated by Google

Bloques del Tanque Robot Inteligente:

92/193
Machine Translated by Google

93/193
Machine Translated by Google

NO. ICONOS BLOCK DEFINICIÓN

1 Controle el tanque para avanzar, y el PWM digital

se puede llenar para controlar la velocidad. El rango

del valor PWM es 0~255.

Cuando el PWM es igual a 255, el tanque se

mueve a la velocidad máxima, y el PWM es

igual a 0 significa parada.

2 Controle el tanque para que se mueva hacia

atrás, y el PWM digital se puede llenar para

controlar la velocidad. El rango del valor

PWM es 0~255. Cuando el PWM es igual a

255, el tanque se mueve a la velocidad

máxima, y el PWM es igual a 0 significa

detener.

94/193
Machine Translated by Google

3 Controle el tanque para girar en sentido

contrario a las agujas del reloj (gire a la izquierda), el

PWM digital se puede llenar para controlar la velocidad,

el rango del valor de

PWM es 0 ~ 255, cuando el PWM es igual a

255, el tanque se mueve a la velocidad

máxima, y el PWM es igual a 0 significa


detener

Controle el tanque para girar a la izquierda

5 Controle el tanque para girar en el sentido de las

agujas del reloj (gire hacia la derecha), el

PWM digital se puede llenar para controlar la

velocidad, el rango del valor de PWM es

95/193
Machine Translated by Google

0 ~ 255, cuando el PWM es igual a 255, el

tanque se mueve a la velocidad máxima, y el

PWM es igual a 0 significa detener.


6

Controlar el tanque para girar a la derecha

Control de parade del tanque

8 Controle el ángulo de rotación del motor

cinemático, el rango de ángulo de rotación es

de 0 ~ 180 grados.

96/193
Machine Translated by Google

9 Receptor de control remoto infrarrojo, reciba

la señal del control remoto infrarrojo y


almacene el valor de clave recibido en la

variableir_rec.

10 Utilice el módulo ultrasónico para medir la

distancia, el bloque del programa devuelve el

valor de distancia medido, la unidad es cm.

La función de este bloque de programa es


recibir el resultado de la detección del sensor

infrarrojo de la evitación de obstáculos y


guardar el resultado recibido a la variable
left_infrared_avoidance_sensor o

97/193
Machine Translated by Google

sensor_de_evitación_infrarrojo_derecho

Este bloque de programa se utiliza para recibir


la información enviada por el módulo
Bluetooth, y almacenar la información recibida
en la variable bluetooth_val.

98/193
Machine Translated by Google

Lección 3: Velocidad del Motor y Control de Dirección

Descripción General

En esta lección aprenderemos a controlar la rotación del motor y realizaremos la dirección y el control de velocidad del tanque
controlando la rotación de los dos motores.

Driver del Motor

El tanque robot utiliza el TB6612FNG como chip de conducción del motor. La placa de expansión ha integrado el chip

TB6612FNG. TB6612FNG es un producto robusto producido por Toshiba Semiconductor Corporation. El dispositivo de

accionamiento del motor actual, que tiene una gran estructura de unión de puente MOSFET­H de corriente, salida de circuito de

doble canal, puede conducir 2 motores al mismo tiempo. TB6612FNG emite potencia de accionamiento continuo de hasta 1 A por

canal Corriente, corriente máxima de arranque de hasta 2A/3A (pulso continuo/pulso único (Energía); 4 modos de control del

motor: adelante/ inverso/ freno / parade Fin; PWM soporta frecuencias de hasta 100 kHz; estado de espera; Circuito interno de

detección de baja tensión y circuito de protección de apagado térmico; temperatura de trabajo: ­20~85°C; Paquete de parches

pequeño SSOP24.

99/193
Machine Translated by Google

Specificaciones:

Voltaje de motor recomendado (VMOT): 4.5 – 13.5 V

• Voltaje Lógico (VCC): 2.7 – 5.5 V

• Corriente máxima de salida: 3A por canal

• Corriente continua de salida: 1A por canal (puede ser paralelismo para entregar 2A continuo)

• Frecuencia PWM Maxima: 100 kHz

• Circuito de apagado térmico incorporado

• Capacitores de filtrado en ambas líneas de suministro

• Protección contra marcha atrás en la fuente del motor

100/193
Machine Translated by Google

101/193
Machine Translated by Google

A1, A2, B1 y B2 de la placa de motor Arduino es la interfaz del motor. A1 y A2 son iguales. B1 y B2 también son los mismos. El
motor de la interfaz A es controlado por el PIN D2, y el PIN D5 emite la señal PWG para controlar la velocidad. El motor de la
interfaz B está controlado por el PIN D4, y la velocidad de salida de PIN D6 PWG señal controla la velocidad. El valor PWM está en
el rango de 0­255. Cuanto mayor sea el valor, más rápido giran los motores.

Tanque D2 D5(PWM) Motor Izquierdo A1 D4 D6(PWM) Motor Derecho B1

Adelante LOW 255 Rotación en el sentido ALTO 255 Rotación en el sentido


contrario de las agujas de las agujas del reloj
del reloj
Retroceso ALTO 255 Rotación en el sentido BAJO 255 Rotación en el sentido
de las agujas del reloj contrario de las agujas
del reloj
Rotar a la ALTO 255 Rotación en el sentido ALTO 255 Rotación en el sentido
izquierda
de las agujas del reloj de las agujas del reloj

Rotar a la BAJO 255 Rotación en el sentido BAJO 255 Rotación en el sentido


derecha
contrario de las agujas contrario de las agujas
del reloj del reloj
Para detener / 0 Para detener / 0 Para detener

102/193
Machine Translated by Google

Como conectar el circuito

103/193
Machine Translated by Google

Vamos al programa

Prueba 1—Velocidad del Motor y Control de Dirección

En la prueba experimental N° 1, escribiremos el código para controlar el tanque para avanzar, retroceder,
girar a la izquierda, girar a la derecho y detenerse.

Código Mixly

Realice una Buena conexión como el diagrama anterior. Entonces, pasemos a escribir el código de prueba.
Abra el software Mixly. Haga click en "New" para agregar un nuevo proyecto y, a continuación, inicie la
programación.

Si desea consultar el programa que proporcionamos, abra el código de referencia para esta lección
"Test_1_Motor_Speed_and_Direction_Control.mix" en los materiales de referencia que proporcionamos.

Pensando en la programación

Este bloque controla la dirección del tanque hacia adelante, 255 representa la velocidad máxima, y el rango que se puede
modificar es 0­255. Cuando la velocidad se establece en 0, significa detenerse.

104/193
Machine Translated by Google

El carácter es "left", el valor de la velocidad es 200, lo que significa que el control del tanque se gira hacia la
izquierda, y la velocidad de rotación es de 200.

El caracter es "turn_left", lo que significa que el control del tanque gira hacia la izquierda y hacia adelante

105/193
Machine Translated by Google

Código Arduino

Si desea consultar el programa que proporcionamos. Abra el código de referencia para esta lección
"Test_1_Motor_Speed_and_Direction_Control.ino" en los materiales de referencia que proporcionamos.

Pensando en la programación

En el IDE arduino, significa definir una subfunción. Aquí definimos una subfunción para controlar el

progreso del tanque. Se puede llamar directa y convenientemente en el Loop.

//Escritura de lógica de código

anular adelante()

{digitalWrite(2,BAJO);

escritura analógica(5,255);

escritura digital (4, ALTO);

escritura analógica(6,255);

106/193
Machine Translated by Google

¿Qué verá….?

Subir el código de prueba a la placa de control UNO R3, encender el interruptor POWER. Verás que el tanque tarda 1

segundo en avanzar, luego 1 segundo para retroceder, 1 segundo a la izquierda, 1 segundo a la derecha y 1 segundo para

parar. Y luego un Loop a través de estos procesos.

107/193
Machine Translated by Google

Lección 4: Tanque robot de evitación de obstáculos infrarrojos


Información General
En esta lección, completaremos la prueba de dos códigos experimentales. En la prueba experimental N° 1, aprendemos por

separado cómo utilizar sensores de prevención de obstáculos infrarrojos para detectar obstáculos y observar los resultados

devueltos por los sensores para determinar si se detectan obstáculos. En la prueba experimental N° 2, aprendimos a

combinar el sensor de evitación de obstáculos infrarrojos con el motor para controlar el tanque para completar la función de

evitación de obstáculos.

108/193
Machine Translated by Google

Qué es el sensor de evitación de obstáculos infrarrojos

El sensor de detector de obstáculos infrarrojos tiene un par de tubos de transmisión y recepción infrarrojos. El transmisor
emite un rayo infrarrojo de cierta frecuencia. Cuando la dirección de detección encuentra un obstáculo (superficie reflectante),
los rayos infrarrojos se reflejan hacia atrás y el tubo receptor lo recibirá. En este momento, el indicador (LED verde) se
ilumina. Después de ser procesado por el circuito, el terminal de salida de señal emitirá señal digital. Puede girar el
potenciómetro del escudo para ajustar la distancia de detección. Es mejor ajustar el potenciómetro para hacer el LED verde
en un estado entre encendido y apagado. La distancia de detección es la mejor, casi 10 cm.

Cómo utilizar el sensor de evitación de obstáculos infrarrojos

Leemos el nivel de señal del sensor detector de obstáculos para juzgar si detectamos obstáculos o no. Cuando detecta un

obstáculo, el pin de señal del sensor emite LOW (pantalla 0); de lo contrario, salida HIGH (pantalla 1). Muestre el

resultado en el monitor serie y controla el módulo LED externo ON/OFF.

109/193
Machine Translated by Google

110/193
Machine Translated by Google

Como conectar el circuito

111/193
Machine Translated by Google

Vamos al programa

Prueba 1­­ Sensor de evitación de obstáculos infrarrojos

El propósito principal del experimento de prueba es leer la señal de retorno del sensor de evitación de

obstáculos infrarrojos e imprimirla en el monitor de puerto serial. Cuando detecta un obstáculo, el pin de

señal del sensor emite LOW (pantalla 0); de lo contrario, salida HIGH (pantalla 1).

Código Mixly

Realice una correcta conexión como el diagrama anterior. Luego, pasemos a escribir el código de prueba.

Abra el software Mixly. Haga clic en "New" para agregar un nuevo proyecto y, a continuación, inicie la

programación. Si desea consultar el programa que proporcionamos, abra el código de referencia para esta

lección "Test_1_Infrared_Obstacle_Avoidance_Sensor.mix" en los materiales de referencia que

proporcionamos.

112/193
Machine Translated by Google

Tal vez el idioma que se muestra al abrir el software Mixly no es Español, puede cambiar el idioma del software aquí.

113/193
Machine Translated by Google

Después de cargar el programa, abra el monitor serial para ver la señal devuelta por el sensor de evitación de obstáculos
infrarrojos.

114/193
Machine Translated by Google

A continuación, puede ver los datos como información:


Cuando hay un obstáculo en la parte delantera, ­light_value=0, y la luz indicadora en el sensor se ilumina.

Nota importante: Antes de cargar el programa, es necesario cerrar el monitor serial, de lo contrario el monitor serial
ocupará la interfaz de comunicación del programa cargado.

115/193
Machine Translated by Google

Código Arduino

Si desea consultar el programa que proporcionamos, abra el código de referencia para esta lección
"Test_1_Infrared_Obstacle_Avoidance_Sensor.ino" en los materiales de referencia que proporcionamos. Después de
cargar el código, haga clic en el botón de la esquina superior derecha para abrir el monitor serie para ver la distancia
medida.

116/193
Machine Translated by Google

A continuación, puede ver los datos como información:


Cuando hay un obstáculo en la parte delantera, light_value=0, y la luz indicadora en el sensor se ilumina.

Nota importante: Antes de cargar el programa, es necesario cerrar el monitor serial, de lo contrario el monitor serial
ocupará la interfaz de comunicación del programa cargado.

117/193
Machine Translated by Google

Prueba 2­­ Tanque robot de evitación de obstáculos infrarrojos

Código Mixly

Piensa en la lógica del código. Abra el software Mixly. Haga clic en "New" para agregar un nuevo proyecto y, a continuación, inicie la
programación. Si desea consultar el programa que proporcionamos, abra código referencia lección
el de
"Test_2_Infrared_Obstacle_Avoidance_Robot_Tank.mix" para
en los materiales de referencia que esta
proporcionamos.

Pensando en la programación

(1) Si el sensor de evitación de obstáculos infrarrojos de la izquierda detecta un obstáculo, el sensor de

evitación de obstáculos infrarrojos a la derecha no detecta un obstáculo, el tanque gira a la derecha.

118/193
Machine Translated by Google

(2) Si el sensor de evitación de obstáculos infrarrojos a la derecha detecta un obstáculo, el sensor de evitación de

obstáculos infrarrojos de la izquierda no detecta un obstáculo, el tanque gira a la izquierda.

119/193
Machine Translated by Google

(3) Si los sensores izquierdo y derecho detectan obstáculos al mismo tiempo, el tanque va hacia atrás, entonces el tanque

elige aleatoriamente girar a la izquierda o a la derecha.

120/193
Machine Translated by Google

121/193
Machine Translated by Google

(4) Si ni los sensores izquierdo ni el derecho detectan obstáculos, el tanque va recto.

122/193
Machine Translated by Google

Código Arduino Si desea


consultar el programa que proporcionamos.abra el código de referencia para esta lección
"Test_2_Infrared_Obstacle_Avoidance_Robot_Tank.ino" en los materiales de referencia que proporcionamos.

Pensando en la programación

(1) Si el sensor de evitación de obstáculos infrarrojos de la izquierda detecta un obstáculo, el sensor de evitación de

obstáculos infrarrojos a la derecha no detecta un obstáculo, el tanque gira a la derecha.

//Escritura de lógica de código

de lo contrario si (luz_izquierda==0&& luz_derecha==1)

hacia atrás();

retraso(500);

Gira a la derecha();

retraso(500);

123/193
Machine Translated by Google

(2) Si el sensor de evitación de obstáculos infrarrojos a la derecha detecta un obstáculo, el sensor de evitación de obstáculos

infrarrojos de la izquierda no detecta un obstáculo, el tanque gira a la izquierda.

//Escritura de lógica de código

de lo contrario si (luz_izquierda==1&& luz_derecha==0)

hacia atrás();

retraso(500);

girar a la izquierda();

retraso(500);

124/193
Machine Translated by Google

(3) Si los sensores izquierdo y derecho detectan obstáculos al mismo tiempo, el tanque va hacia atrás, entonces el tanque

elige aleatoriamente girar a la izquierda o a la derecha.

//Escritura de lógica de código

si (luz_izquierda==0&& luz_derecha==0)

Detener();

retraso(500);

hacia atrás();

retraso(500);

si (aleatorio(1, 10) > 5)

girar a la izquierda();

125/193
Machine Translated by Google

demás

Gira a la derecha();

retraso(500);

(4) Si ni los sensores izquierdo ni el derecho detectan obstáculos, el tanque va recto.

//Escritura de lógica de código

demás

adelante();

126/193
Machine Translated by Google

Que puede observar

Cargue el código de prueba en la placa de control UNO R3, encienda el


interruptor POWER.

Si hay un obstáculo frente a la izquierda del tanque, el tanque se retirará


y girará a la derecha,

Si hay un obstáculo en la parte delantera derecha del tanque, el tanque


se retirará y girará a la izquierda,

Si hay obstáculos en la parte delantera izquierda y delantera derecha, el


tanque se mueve hacia atrás y luego al azar elige girar a la derecha o a la
izquierda.

Si no hay obstáculos por delante, el tanque va recto.

Nota: De acuerdo con las leyes físicas: Los objetos negros tienen una fuerte capacidad para absorber la luz. La función de

evitación de obstáculos infrarrojos se basa en transmitir y recibir rayos infrarrojos para detectar obstáculos en frente.

Cuando todos los obstáculos delante del tanque son objetos negros, la sensibilidad de la detección del sensor disminuirá.

127/193
Machine Translated by Google

Lección 5: Tanque robot ultrasónico para evitar obstáculos


Información General

En esta lección aprenderemos sobre sensores y servos ultrasónicos y los combinaremos. El servomotor impulsa la onda
ultrasónica para ayudar al tanque a detectar los obstáculos frontales izquierdo y frontal derecho, así como los obstáculos
delanteros, evitando así obstáculos. Utilice ultrasonido para medir la distancia de los objetos delante del tanque para
ayudar al tanque a seguir el objeto delante de él.

128/193
Machine Translated by Google

Qué es un sensor ultrasónico..?

Revise el sensor ultrasónico de la lección anterior. Funciona como el ojo de un murciélago. Determina la distancia de los

obstáculos en frente después de recibir y recibir ondas sonoras de alta frecuencia.

Como se muestra en la siguiente imagen, es nuestro módulo ultrasónico. Tiene dos cosas como los ojos.

Uno está transmitiendo fin, el otro está recibiendo fin.

129/193
Machine Translated by Google

Que es un servo motor

Los servomotores son grandes dispositivos que pueden girar a una posición especificada. Por lo general, tienen un servo

brazo que puede girar 180 grados. Usando el Arduino, podemos decirle a un servo que vaya a una posición específica e irá

allí. ¡Tan simple como eso! Los motores Servo se utilizaron por primera vez en el mundo del control remoto (RC), por lo

general para controlar la dirección de los coches RC o las aletas en un avión RC. Con el tiempo, encontraron sus usos en

robótica, automatización y, por supuesto, en el mundo arduino.

Hay dos maneras de controlar un servomotor con Arduino. Uno es utilizar un puerto de sensor digital común de Arduino

para producir onda cuadrada con diferente ciclo de trabajo para simular la señal PWM y utilizar esa señal para controlar el

posicionamiento del motor. Otra forma es utilizar directamente la función Servo del Arduino para controlar el motor. De esta

manera, el programa será más fácil. A continuación, aprendemos a controlar el servo. El servomotor tiene tres cables. El

color de los cables varía entre los servomotores, pero el plomo rojo es siempre 5V y el GND será marrón.

El rojo es el cable de alimentación y debe estar conectado al puerto de 5v y este es generalmente naranja.

130/193
Machine Translated by Google

131/193
Machine Translated by Google

Cómo conectar el circuito

132/193
Machine Translated by Google

Vamos al programa

Prueba 1—Servo

En la prueba experimental N° 1, aprendimos a controlar el servomotor y controlar el servomotor para girar

al ángulo especificado.

Código Mixly

Realizar la conexión correctamente como el diagrama anterior. Entonces, pasemos a escribir el código de

prueba. Abra el software Mixly. Haga clic en "New" para agregar un nuevo proyecto y, a continuación,

inicie la programación. Si desea consultar el programa que proporcionamos, abra el código de referencia

para esta lección "Test_1_Servo.mix" en los materiales de referencia que proporcionamos.

133/193
Machine Translated by Google

Pensando en la programación

Este bloque de código se utiliza para el conteo de bucles (Loops), contando desde 0 a 180, aumentando en 1 cada vez.

Este bloque de código se utiliza para controlar el ángulo de rotación del motor, el ángulo de entrada del código POS, el
rango es 0­180.

134/193
Machine Translated by Google

Código Arduino
si desea consultar el programa que proporcionamos.abrir el software Arduino IDE y abrir el código de referencia para esta

lección "Test_1_Servo.ino" en los materiales de referencia que proporcionamos.

Antes de poder ejecutar esto, asegúrese de que ha instalado la Libreria > Servo < o vuelva a instalarla, si es
necesario. De lo contrario, el código no funcionará. Para obtener más información sobre cómo cargar el archivo
de Libreria consulte Lección sobre cómo agregar librerias.

Pensando en la programación

// Este bloque de código se utiliza para el recuento de bucles (Loops), contando de 0 a 180, aumentando en 1 cada vez

para (int POS = 0; POS <= 180; POS = POS + (1))


{
}

// Este bloque de código se utiliza para controlar el ángulo de rotación del motor, el ángulo de entrada de código POS, el rango
es 0­180
myservo.write(POS);

Después de cargar el código, el servomotor gira de 0 grados a 180 grados, 1 grado a la vez. A continuación, gire de 180 grados a 0

grados, un grado a la vez.

135/193
Machine Translated by Google

Prueba 2—Módulo Sensor Ultrasónico

En la prueba experimental 2, aprenderemos cómo controlar el sensor ultrasónico y mostrar la distancia medida

por el sensor ultrasónico en el monitor serie.

Código Mixly

Con alambre para arriba bien como el diagrama antedicho. Bien, pasemos a escribir el código de prueba.

Software abierto y mezclado. Haga clic en "Nuevo" para agregar un nuevo proyecto, luego inicie su

programación. si desea hacer referencia al programa que proporcionamos.abra el código de referencia para esta

lección "Test_2_Ultrasonic Sensor Module.mix" en los materiales de referencia que proporcionamos.

136/193
Machine Translated by Google

Después de cargar el programa, abra el monitor serie para ver la distancia medida por el sensor ultrasónico.

Entonces usted puede ver los datos como golpe:

137/193
Machine Translated by Google

Código Arduino
Si desea consultar el programa que proporcionamos, abra el software Arduino IDE y abra el código de
referencia para esta lección "Test_2_Ultrasonic Sensor Module.ino" en los materiales de referencia que
proporcionamos. Después de cargar el código, haga clic en el botón en la esquina superior derecha para
abrir el monitor serie para ver la distancia medida

138/193
Machine Translated by Google

Entonces usted puede ver los datos como golpe:

139/193
Machine Translated by Google

Prueba 3— Tanque robot ultrasónico de evitación de obstáculos

En la prueba experimental 3, el servomotor, el sensor ultrasónico y el motor se controlan simultáneamente para ayudar al

tanque usando ondas ultrasónicas para evitar obstáculos.

Código Mixly

Piense en la lógica del código. Software abierto y mezclado. Haga clic en "Nuevo" para agregar un nuevo proyecto, luego

inicie su programación. Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia de esta

lección "Test_3_Ultrasonic_Obstacle_Avoidance_Robot_Tank.mix" en los materiales de referencia que proporcionamos.

Pensando en la Programación

Primero, definimos la distancia entre el tanque y el obstáculo en el frente izquierdo como DL, la distancia entre el tanque y el
obstáculo en frente es DM, y la distancia entre el tanque y el obstáculo en frente es DR.

140/193
Machine Translated by Google

Si la distancia delante del tanque es inferior a 20 cm, el tanque se detiene

Al mismo tiempo, cuando la distancia de los obstáculos en el frente izquierdo o frente a la derecha es inferior a 50

cm, y el obstáculo en el frente a la derecha está más cerca del tanque que el obstáculo en el frente a la izquierda,

gire a la izquierda.

141/193
Machine Translated by Google

El obstáculo en la parte delantera izquierda está más cerca del tanque que el obstáculo de la derecha, gire a la derecha.

142/193
Machine Translated by Google

143/193
Machine Translated by Google

Código Arduino

Si desea consultar el programa que proporcionamos.abra el código de referencia para esta lección

"Test_3_Ultrasonic_Obstacle_Avoidance_Robot_Tank.ino" en los materiales de referencia que

proporcionamos.

Pensando en la programación.

En primer lugar, definimos la distancia entre el tanque y el obstáculo en el frente izquierdo como DL, la distancia
entre el tanque y el obstáculo en el frente es DM, y la distancia entre el tanque y el obstáculo en frente es DR.
Si la distancia delante del tanque es inferior a 20 cm, el tanque se detiene.

//Escritura de lógica de código

si (DM < 20)

Detener();

retraso(1000);

144/193
Machine Translated by Google

Al mismo tiempo, cuando la distancia de los obstáculos en el frente izquierdo o frente a la derecha es inferior a 50

cm, y el obstáculo en el frente a la derecha está más cerca del tanque que el obstáculo en el frente a la izquierda,

gire a la izquierda.

//Escritura de lógica de código

si (DL < 50 || DR < 50) {

si (DL > DR) {

procedimiento(90);

girar a la izquierda();

retraso(500);

adelante();

145/193
Machine Translated by Google

2El obstáculo en la parte delantera izquierda está más cerca del tanque que el obstáculo de la derecha, gire a
la derecha.

//Escritura de lógica de código

si (DL < 50 || DR < 50) {

si (DL > DR) {

procedimiento(90);

girar a la izquierda();

retraso(500);

adelante();

} demás {

procedimiento(90);

Gira a la derecha();

retraso(500);

adelante();}

146/193
Machine Translated by Google

Que es lo que verás


Cargue el código en la placa de control UNO R3 y encienda el interruptor de encendido.

Cuando no hay ningún obstáculo delante del tanque, el tanque sigue caminando recto. Cuando la distancia del obstáculo

delante del tanque es inferior a 20 cm, el tanque se detiene, luego detecta si hay un obstáculo en el frente izquierdo y el

frente derecho, y luego gira en la dirección opuesta.

147/193
Machine Translated by Google

Prueba 4 ­ Ultrasónico Siga Robot Tanque.


En esta prueba experimental, utilice ultrasonido para medir la distancia de los objetos delante del tanque para ayudar al tanque

a seguir el objeto frente a él.

Código Mixly

Piense en la lógica del código. Software abierto y mezclado. Haga clic en "Nuevo" para agregar un nuevo proyecto, luego

inicie su programación. si desea hacer referencia al programa que proporcionamos.abra el código de referencia para esta

lección "Test_4_Ultrasonic_Follow_Robot_Tank.mix" en los materiales de referencia que proporcionamos.

148/193
Machine Translated by Google

Pensamiento de programación

Al detectar que la distancia del objeto delante es inferior a 10cm, el tanque se mueve hacia atrás.

Cuando la distancia del objeto en frente se detecta entre 10 ~ 20 cm, el tanque se detiene.

149/193
Machine Translated by Google

Cuando se detecta la distancia del objeto en frente entre 20 ~ 60 cm, el tanque se mueve hacia adelante.

Al detectar que la distancia del objeto delante es superior a 60 cm, el tanque se detiene.

150/193
Machine Translated by Google

Código Arduino

Si desea hacer referencia al programa que proporcionamos.abra el código de referencia para esta lección

"Test_4_Ultrasonic_Follow_Robot_Tank.ino" en los materiales de referencia que proporcionamos.

Pensando en la programación

// Al detectar que la distancia del objeto en frente es inferior a 10 cm, el tanque se mueve hacia atrás.
si (distancia <= 10)

{ hacia atrás(); }

// Cuando la distancia del objeto en frente se detecta entre 10 ~ 20 cm, el tanque se detiene.
else if (distancia > 10 && distancia < 20) {

Detener();
}

151/193
Machine Translated by Google

// Cuando se detecta la distancia del objeto en frente entre 20 ~ 60 cm, el tanque se mueve hacia adelante.
de lo contrario si (distancia >= 20 && distancia <= 60)

{ adelante(); }

// Al detectar que la distancia del objeto delante es superior a 60 cm, el tanque se detiene.
demás

{
Detener();
}

152/193
Machine Translated by Google

Que es lo que verás


Cargue el código en la placa de control UNO R3 y encienda el interruptor de encendido.

El tanque detecta la distancia del objeto delante a través del sensor ultrasónico. Cuando el objeto frontal se mueve, el

tanque seguirá el movimiento, manteniendo la distancia entre el tanque y el objeto en frente entre 10cm ~ 20cm.

153/193
Machine Translated by Google

Lección 6: Tanque robot de control remoto infrarrojo.


Descripción General
En esta lección, aprenderemos el control remoto infrarrojo y usaremos el control remoto infrarrojo para controlar el

tanque, ir hacia adelante, hacia atrás, girar a la izquierda, girar a la derecha, girar a la izquierda girar a la derecha.

154/193
Machine Translated by Google

¿Qué es un mando a distancia por infrarrojos?


No hay duda de que el control remoto infrarrojo 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 de satélite. Bueno, en la siguiente vamos a obtener una mejor

comprensión del control remoto por infrarrojos. El control remoto por infrarrojos se compone de sistemas de transmisión por

infrarrojos y de recepción de infrarrojos. Es decir, consta de un mando a distancia por infrarrojos, un módulo receptor de

infrarrojos y un microcontrolador que puede decodificar. Puede consultar la siguiente figura.

Valores de las teclas del control Remoto

155/193
Machine Translated by Google

La señal portadora infrarroja de 38K transmitida por un mando a distancia infrarroja 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 se trata de 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 la señal 0 y 1.El código de usuario del mismo botón en el mando a distancia no ha cambiado.

El uso de datos de diferencia distingue la tecla presionada en el mando a distancia. Al presionar un botón en el control

remoto, enviará una señal portadora infrarroja. 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 control remoto.

156/193
Machine Translated by Google

¿Qué es un receptor infrarrojo?


El escudo del robot viene con módulo receptor infrarrojo. Se compone principalmente de un cabezal receptor

infrarrojo. Este dispositivo se integra con recepción, amplificación y demodulación. Su inter IC ha sido demodulado,

generando señal digital. Adecuado para el control remoto IR y la transmisión de datos por infrarrojos.

157/193
Machine Translated by Google

Vamos al programa.

Prueba 1­­Tanque robot de control remoto infrarrojo.

En la prueba experimental 1, aprender a recibir señales de control remoto por infrarrojos, y distinguir el

valor de clave de control remoto correspondiente, y finalmente realizar el tanque de control remoto

infrarrojo.

Código Mixly

Piense en la lógica del código. Bueno, averiguar la lógica, usted puede tener un intento de escribir la

lógica de código de la evitación de obstáculos infrarrojos. Software abierto y mezclado. Haga clic en

"Nuevo" para agregar un nuevo proyecto, luego inicie su programación. Si desea hacer referencia al

programa que proporcionamos. Abra el código de referencia de esta lección

"Test_1_Infrared_Remote_Control_Robot_Tank.mix" en los materiales de referencia que

proporcionamos.

158/193
Machine Translated by Google

Pensando en la programación

Este bloque de programa almacena los valores de clave recibidos del control remoto infrarrojo en variables ir_rec.

Si el valor de la tecla presionada es igual a 0FXX629D, significa que la tecla arriba. se presiona. Controlar el
tanque para avanzar a una velocidad de 240.

159/193
Machine Translated by Google

Después de completar la carga de código, utilice el control remoto por infrarrojos para controlar la dirección
de avance del tanque.

Teclas en IR

del control

remoto

Estado del Ir hacia Ir hacia atrás Girar a la Girar a la Rotar a la Rotar a la Para detener

Robot adelante izquierda Derecha izquierda derecha

160/193
Machine Translated by Google

Código Arduino

Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia para esta lección

"Test_1_Infrared_Remote_Control_Robot_Tank.ino" en los materiales de referencia que proporcionamos.

Antes de poder ejecutar esto, asegúrese de que ha instalado el < IRremote > biblioteca o vuelva a instalarlo, si es necesario.
De lo contrario, el código no funcionará. Para obtener información detallada sobre cómo cargar el archivo de biblioteca, consulte Lección sobre
cómo agregar bibliotecas.

Pensando en la programación

// Este bloque de programa almacena los valores de clave recibidos del control remoto infrarrojo en variables ir_rec.

si (irrecv.decode(&resultados))

ir_rec=resultados.valor;

irrecv.resume();

161/193
Machine Translated by Google

Después de completar la carga de código, utilice el control remoto por infrarrojos para controlar la
dirección de avance del tanque.

Teclas en IR

del control

remoto

Estado del Ir hacia Ir hacia atrás Girar a la Girar a la Rotar a la Rotar a la Para detener

Robot adelante izquierda derecha izquierda derecha

162/193
Machine Translated by Google

Lección 7: APP Control del Tanque Robot.


Descripción General

En esta lección, estudiamos principalmente dos pruebas experimentales. En la prueba 1, aprendemos la comunicación entre

el módulo Bluetooth y el teléfono móvil. En la prueba 2, podemos cambiar libremente los diversos modos funcionales a

través de la aplicación del teléfono móvil, como la evitación de obstáculos ultrasónicos, la evitación de obstáculos

infrarrojos, el control remoto por infrarrojos, el control remoto del sensor de gravedad.

163/193
Machine Translated by Google

Que es un módulo Bluetooth

Principio y aplicación de Bluetooth Control remoto Bluetooth, como su nombre lo indica, dientes azules, y no se utiliza para

morder a las personas, pero un método de transmisión de datos inalámbrico. La tecnología Bluetooth es una tecnología

estándar que permite el intercambio de datos de corto alcance entre dispositivos fijos, dispositivos móviles y redes de área

personal de edificios (ondas de radio UHF en la banda ISM de 2,4 a 2,485 GHz). Hay dos tipos de módulos Bluetooth de

uso común en el mercado, los modelos HC­05 y HC­06. La diferencia entre ellos es que el HC­05 es amo­esclavo. No sólo

puede hacer pequeños informes a su propio "maestro", sino que también puede recibir el comando que se le da. El HC­06

sólo puede trabajar en modo esclavo, que sólo puede aceptar el comando superior. Por ejemplo, en muchos casos es posible

que desee ser un hombre prepotente, dejando que los subordinados obedezcan la orden sin ninguna tontería. Así que en tal

situación, es suficiente utilizar el módulo HC­06 que se muestra a continuación.

164/193
Machine Translated by Google

Como conectar el circuito

165/193
Machine Translated by Google

Instrucciones para el uso de la aplicación.

En primer lugar, descargue el archivo "APP for LAFVIN iBot.apk" de la carpeta de su teléfono móvil e instálelo en un

software de aplicación.

A continuación, asegúrese de que el módulo Bluetooth está conectado. Empareja tu teléfono con HC­06. para hacer esto,

vaya a Configuración­>Bluetooth­>Scan > de dispositivos, seleccione HC­06 y parearlo. El código de acceso al par es

'1234'. Abra el software de terminal Bluetooth, vaya a opciones y seleccione la opción 'conectar un dispositivo ­ seguro'. Se

pide el código de acceso introduzca 1234. Y son teléfono es conectado Alabama

166/193
Machine Translated by Google

Módulo Bluetooth, verá un dispositivo utilizable llamado HC­06 en los DISPOSITIVOS EMPAREJADOS (como se muestra

a continuación). Si el HC­06 no aparece en los DISPOSITIVOS EMPAREJADOS, vuelva a operar los pasos anteriores.

167/193
Machine Translated by Google

Una vez completados los pasos anteriores, abrimos la aplicación LAFVIN_iBot.

168/193
Machine Translated by Google

Haga clic en el botón de icono Conectar Bluetooth en la esquina superior derecha para entrar en la interfaz de conexión
Bluetooth.

169/193
Machine Translated by Google

A continuación, haga clic en la , y el HC­06 aparecerá en los resultados de nuestro análisis. Seleccione HC­06.

170/193
Machine Translated by Google

Después de seleccionar el dispositivo hc­06, Haga clic para conectarse aparecerá en el cuadro Gris de la aplicación.

171/193
Machine Translated by Google

Haga clic en el botón Haga clic para conectar . La caja gris se convierte en caja naranja. espere 5 segundos.

172/193
Machine Translated by Google

El botón muestra el conectado , lo que significa que la aplicación está conectada al módulo Bluetooth correctamente. El icono

en la esquina superior derecha de la conexión se cambia de rojo a Blanco

(Nota: Cuando el módulo Bluetooth no está conectado correctamente, la luz LED roja seguirá parpadeando. Cuando la conexión se
realiza correctamente, la luz LED roja permanecerá encendida.)

173/193
Machine Translated by Google

Si hay una advertencia en la interfaz, significa que Bluetooth no está encendido normalmente o que el

dispositivo seleccionado está mal. Siga los pasos anteriores para volver a conectarse.

174/193
Machine Translated by Google

Vamos al programa

Prueba 1 ­­ El módulo Bluetooth recibe información.

En la Prueba Experimental 1, aprendimos a recibir la información enviada por la aplicación del teléfono móvil al

Módulo Bluetooth HC­06.

Código Mixly

Piense en la lógica del código. Haga clic en "Nuevo" para agregar un nuevo proyecto, luego inicie su

programación. Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia de

esta lección "Test_1_Bluetooth_Module_Receives_Information.mix" en los materiales de referencia que

proporcionamos.

175/193
Machine Translated by Google

Pensando en la programación

Establezca la velocidad en baudios para la comunicación en serie en 9600. La velocidad de comunicación

entre el puerto serie de la placa de control principal arduino uno y el puerto serie de Bluetooth debe ser la

misma. La velocidad en baudios de comunicación del módulo Bluetooth HC­06 es 9600 de forma

predeterminada.

Almacenar la información recibida por Bluetooth en la variable bluetooth_val y mostrarla en el monitor

serie.

176/193
Machine Translated by Google

Tal vez el idioma que se muestra cuando se abre el software mixly no es inglés, puede cambiar el idioma del software aquí.

Después de completar la carga del programa, abra el monitor serie para ver la información recibida por el módulo Bluetooth.

177/193
Machine Translated by Google

Entonces usted puede ver los datos como golpe:

Al pulsar el botón arriba , el carácter recibido por Bluetooth es 'F',

Al presionar el botón abajo , el carácter recibido por Bluetooth es 'G

178/193
Machine Translated by Google

Nota importante: Antes de cargar el programa, debe cerrar el monitor serie, de lo contrario, el monitor serie
ocupará la interfaz de comunicación del programa cargado.

179/193
Machine Translated by Google

Código Arduino

Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia para esta lección

"Test_1_Bluetooth_Module_Receives_Information.ino" en los materiales de referencia que proporcionamos.

180/193
Machine Translated by Google

Pensando en la programación

// Establezca la velocidad en baudios para la comunicación en serie en 9600. La velocidad de comunicación entre el puerto

serie de la placa de control principal arduino uno y el puerto serie de Bluetooth debe ser la misma. La velocidad en baudios

de comunicación del módulo Bluetooth HC­06 es 9600 de forma predeterminada.

configuración nula(){

Serie.begin(9600);}

// Almacenar la información recibida por Bluetooth en la variable bluetooth_val y mostrarla en el monitor serie.

si (Serie.disponible())

bluetooth_val = Serial.read();

Serial.println(bluetooth_val);

Después de completar la carga del programa, abra el monitor serie para ver la información recibida por el módulo Bluetooth.

181/193
Machine Translated by Google

Entonces usted puede ver los datos como golpe:

Al pulsar el botón arriba , el carácter recibido por Bluetooth es 'F',

Cuando se pulsa el botón abajo , el carácter recibido por Bluetooth es 'G

182/193
Machine Translated by Google

Nota importante: Antes de cargar el programa, debe cerrar el monitor serie, de lo contrario, el monitor serie
ocupará la interfaz de comunicación del programa cargado.

183/193
Machine Translated by Google

Prueba 2­­App Control Robot Tank.

En esta prueba experimental, todas nuestras funciones se recopilan en el mismo programa, incluida la

función de evitación de obstáculos ultrasónicos, la función de control remoto infrarrojo, la función de

evitación de obstáculos infrarrojos, la función de control del sensor de gravedad y cualquier función se puede

cambiar libremente a través de la aplicación.

Código Mixly

Piense en la lógica del código. Haga clic en "Nuevo" para agregar un nuevo proyecto, luego inicie su
programación. Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia de
esta lección "Test_2_APP_Control_Robot_Tank .mix" en los materiales de referencia que proporcionamos.

184/193
Machine Translated by Google

Pensando en la programación

El método de definición de sub­funciones, aquí define una subfunción llamada Infrared Remote Control, do se llena de

bloques de código ejecutados por sub­funciones.

El bloque de código hacer control remoto por infrarrojos es llamar directamente a la subfunción.

185/193
Machine Translated by Google

Código Arduino
Si desea hacer referencia al programa que proporcionamos.Abra el código de referencia para esta lección

"Test_2_APP_Control_Robot_Tank.ino" en los materiales de referencia que proporcionamos.

Antes de poder ejecutar esto, asegúrese de que ha instalado la < irremote=""> <Servo> biblioteca o vuelva a instalarla, si es

necesario. De lo contrario, el código no funcionará. Para obtener información detallada sobre cómo cargar el archivo de

biblioteca, consulte Lección sobre cómo agregar bibliotecas</Servo>.

Pensamiento de programación

//Después de que Bluetooth recibe la información, "switch" juzga cuál es el carácter de información recibido, "F" significa

tanque hacia adelante, "G" significa tanque hacia atrás, "H" significa tanque gire a la izquierda, y "I" significa tanque a la

derecha Gire, 'J' significa que el tanque gira a la izquierda, 'K' significa que el tanque gira a la derecha, 'C' significa que el

tanque entra en el modo de función de evitación de obstáculos infrarrojos, 'D' significa que el tanque entra en el modo de

función de control remoto infrarrojo, 'E' significa que el tanque entra en la función de evitación de obstáculos ultrasónicos

Modo funcional. Haga clic en el botón de retorno y "STOP" LA APLICACIÓN enviará el carácter 'S' para controlar el

tanque para salir del modo de función que se está ejecutando y el motor dejará de girar.

186/193
Machine Translated by Google

si (Serie.disponible())

bluetooth_data = Serial.read();

Serial.println(bluetooth_data);

cambiar (bluetooth_data) {

caso 'F':

adelante(250,250);

romper;

caso 'G':

hacia atrás (240,240);

187/193
Machine Translated by Google

romper;

caso 'H':

girar_izquierda(100,255);

romper;

caso 'yo':

girar_derecha(255,100);

romper;

caso 'J':

rotar_izquierda(240,240);

romper;

caso 'K':

rotar_derecha(240,240);

romper;

188/193
Machine Translated by Google

casos':

Detener();

romper;

caso 'E':

Evitación_de_obstáculos_infrarrojos();

romper;

caso 'C':

Evitar_obstáculos_ulónicos();

romper;

caso 'D':

Control_remoto_infrarrojo();

romper;

189/193
Machine Translated by Google

Cómo utilizar la aplicación para controlar el coche robot

Después de completar la carga del programa, y luego abrir el software de la aplicación para completar la
conexión del dispositivo Bluetooth (Aplicación y HC­06 módulo Bluetooth referencia de conexión Prueba 1
Módulo Bluetooth Recibe información). La interfaz después de que el software de la aplicación y el módulo
Bluetooth se conecten correctamente es la siguiente.

190/193
Machine Translated by Google

Si desea seleccionar el modo de evitación de obstáculos ultrasónicos, deslice la pantalla hacia la derecha en

la página de inicio, haga clic en el icono de función correspondiente, la aplicación enviará el carácter'D' al

módulo Bluetooth del tanque HC­06, el tanque juzgará la distancia del obstáculo a través de la onda

ultrasónica, si demasiado cerca del obstáculo, el tanque gira y luego avanza.evitación.

191/193
Machine Translated by Google

Si desea salir del modo de función ultrasónica de evitación de obstáculos, haga clic en el botón Atrás en la

esquina superior izquierda para volver a la página de inicio.

192/193
Machine Translated by Google

Puede cambiar libremente los diversos modos funcionales a través de la aplicación del teléfono móvil, como

la evitación de obstáculos ultrasónicos, la evitación de obstáculos infrarrojos, el control remoto infrarrojo, el

control remoto del sensor de gravedad.

193/193

También podría gustarte