80
Arduino + Android con AppInventor Abraham Sánchez Hernández Manuales y tutoriales gob.mx/cultura Cultura digital

Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

  • Upload
    others

  • View
    50

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventorAbraham Sánchez Hernández

M a n u a l e sy t u t o r i a l e s

gob.mx/cultura

Cultura digital

Page 2: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventorAbraham Sánchez Hernández

M a n u a l e sy t u t o r i a l e s

P A R T E 1

Page 3: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 3

Sobre este curso

Esta información es parte de un curso teórico-práctico basado en el uso de Android y Arduino. Considera que para aprovecharla al máximo, es necesario contar con el material solicitado. Si no cuentas con estos elementos, te invitamos a revisarlos y, cuando cuentes con ellos, recurras al Plan de asesorías a proyectos artísticos y de investigación en Arte y Tecnología del Centro Multimedia para solicitar orientación en torno al proyecto a desarrollar (http://cmm.cenart.gob.mx/cursos/asesorias.html).

Toma en cuenta que la realización de los ejercicios en casa, además de requerir los materiales, queda bajo la responsabilidad de quien decida realizarlos.

Arduino + Android con AppInventor

Abraham Sánchez Hernández

Page 4: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 4

Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de marca, pero si se cuenta con uno genérico, se pueden instalar los drivers CH340 para su correcto funcionamiento)- 1 Protoboard- 1 Módulo de bluetooth (revisa la parte de módulos incluida más adelante para más información)- 2 LEDs- 2 resistencias de 330 ohms- 2 resistencias de 1k ohm- 1 matriz de NeoPixeles- 2 push-button- 1 potenciómetro- 10 cables Dupont Macho-Macho (recomendable)- 10 cables >Dupont Hembra-Macho (recomendable)- 2 metros de alambre calibre 22 - Un dispositivo con Android y una cuenta de Google

Aviso sobre el contenidoEl contenido de este curso fue diseñado para un curso presencial, por lo que hemos adecuado el contenido para su estudio en línea.

Se han agregado notas para tratar de explicar algunos tópicos donde los alumnos del curso presencial manifestaron más dudas.

Los temas se han desarrollado secuencialmente, construyendo las actividades sobre las anteriores, por ello, te recomendamos no obviar diapositivas ni saltar temas.

Puedes recurrir al Plan de asesorías a proyectos artísticos y de investi-gación en arte y tecnología del Centro Multimedia para solicitar orientación en torno al proyecto que desarrolles.

Page 5: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 5

¿Qué es App Inventor?App Inventor es una herramienta intuitiva creada para la programación de aplicaciones funcionales para móviles y tabletas con Android en un entorno completamente visual.

La programación está basada en agrupación de bloques, un proceso parecido a armar un rompecabezas.

Page 6: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Crea tu cuenta en AppInventor

Page 7: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

ACTIVIDAD 1: INTRODUCCIÓN

Briefing- Creación de una cuenta de AppInventor- Paseo por la interfaz de AppInventor- Breve introducción a la creación de objetos en la interfaz de diseño- Breve introducción a la programación en la interfaz de desarro-llador- Breve introducción a la programación en Arduino

PASO 1

PASO 2

Arduino + Android con AppInventor 7

Page 8: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 8

PASO 3

PASO 4

PASO 5

Page 9: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 9

PASO 6

PASO 7

Page 10: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 10

PASO 8

Page 11: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 11

Interfaz de AppInventor

Page 12: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 12

INTERFAZ DE DISEÑO

FrontendLa interfaz de diseño sirve para generar el Frontend de tu aplicación. Por tanto, esta sección contiene distintas herramientas para generar la apariencia que quieras ver en pantalla.

Principales ComponentesBotón: Este componente efectúa acciones cuando es tocado por el usuario.

Etiqueta: Es un componente para mostrar texto en pantalla y manipular ese texto de acuerdo a la lógica del programa.

Imagen: Este componente sirve para mostrar imágenes y manipularlas de acuerdo a la lógica del programa.

SelectorDeLista: Es un componente parecido al Botón, pero despliega un conjunto de datos en forma de lista.

Deslizador: Es un componente en forma de barra, se manipula con el dedo o con programación para mostrar una posición dentro de un rango de datos numéricos.

CampoDeTexto: Este componente sirve para que el usuario introduzca texto y éste pueda ser manipulado dentro del programa

DisposiciónHorizontal: Es un componente invisible usado para poder organizar y posicionar otros componentes dentro de la pantalla. El horizontal ayuda a disponer los componentes horizon-talmente (como en las filas de una tabla de Excel) y el vertical sirve para disponer componentes verticalmente (como en las columnas de una tabla de Excel).

Page 13: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 13

ClienteBluetooth: Gestiona las comunicaciones de bluetooth con los periféricos conectados al dispositivo; ya sea para enviar o recibir datos.

ReconocimientoDeVoz: Este componente utiliza las capacidades del dispositivo para reconocer palabras y convertirlas en texto

Page 14: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 14

Page 15: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 15

INTERFAZ DE DESARROLLADOR

BackendLa interfaz de desarrollador está estructurada para generar el Backend de tu aplicación. En esta sección es donde puedes programar la lógica del diseño hecho en la interfaz de diseño.

Principales ComponentesControl: En este grupo de bloques se encuentran los condicionantes lógicos como if, for, while.

Texto: Grupo de bloques para manipular y generar texto o variables de tipo string o char.

Listas: Es el grupo que correspondería a la manipulación de arrays y grupos de datos

Procedimientos: Sirve para encapsular grupos de bloques repetidos en varios puntos del programa para evitar volver a agruparlos.

Matemáticas: Grupo de bloques para la manipulación de números o variables de tipo int, long, float.

Variables: Sirve para declarar variables. El tipo dependerá de si se carga un bloque de texto o matemático.

Page 16: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 16

BREVE INTRODUCCIÓN A LA INTERFAZ DE ARDUINO

¿Qué necesitas saber?Bibliotecas / “Librerías”Son porciones de código externo que se añaden al entorno de desarrollo para ampliar las posibilidades de programación.

Void setup ()Esta sección sólo se ejecuta una vez; en ella se colocan los objetos de llamada a inicio, se establecen las condiciones de los pines y hasta se ejecuta alguna instrucción de prueba.

Void loop ()Es la base activa del programa. Se repite todo el tiempo mientras esté encendido el dispositivo.

Page 17: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 17

Principales Instrucciones

#include: Sirve para incluir bibliotecas en un programa de Arduino.

pinMode: Establece la condición de los pines; OUTPUT como salida para enviar información e INPUT como entrada para recibir información.

.begin: Este método inicializa la mayoría de las bibliotecas.

.setTimeout: Es un método específico de SoftwareSerial, establece el tiempo de espera para recibir información. Un segundo por defecto.

digitalWrite: Envía información digital (1 y 0) a través de los pines de salida.

analogWrite: Envía información PWM (modulación por ancho de pulso) por las salidas analógicas (~) del Arduino.

Page 18: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 18

ACTIVIDAD 2: HELLO WORLD

Briefing- Conexión Arduino - Bluetooth- Creación de una aplicación para encender LEDs - Bloques necesarios para nuestra aplicación - Programa de Arduino - EXTRA - ¡Actívalo con la voz!

- Creación de una aplicación para encender un foco - Bloques necesarios - Diagrama necesario - ¡Cuidado!

ANTES DE EMPEZAR

¿Qué debes saber?- Qué tipo de dispositivo bluetooth tienes- El nombre de tu dispositivo bluetooth o cómo obtenerlo si no lo sabes

Page 19: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 19

Tipos de módulos de Bluetooth

HC-05 HC-06 HM-10

HC-05 Es un módulo muy versátil porque puede actuar como central (maestro) o como periférico (esclavo) dependiendo de cómo lo configures. Está configurado de fábrica como esclavo, es decir Role = 0.

La forma más fácil de distinguir éste del HC-06 es que tiene 6 pines y un botón al pin EN. En la mayoría de ellos, el botón de EN no es necesario, aunque ha habido casos donde no responde a los comandos AT si antes de abrir el monitor serie no aprietas el botón.

Casi siempre se recomienda adquirir éste en vez del HC-06 debido a que sólo es ligeramente más costoso y ofrece mayores ventajas.

Page 20: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 20

HC-06El HC-06 se distingue porque tiene 4 pines y no tiene botón de EN. Esto es importante porque el HC-06 únicamente actúa como periférico, es decir, esclavo.

Normalmente su velocidad de fábrica se maneja en los 9600 baudios, por tanto, debes cambiar su velocidad a 38400 con ayuda del Arduino para poder utilizarlo con las aplicaciones desarrolladas en AppInventor.

HM-10La principal característica de este módulo es la posibilidad de manejar BLE con él, esto significa que maneja bluetooth de Baja Energía, además tiene la posibilidad de conectarse con iOS.

Parece haber una controversia con respecto a la autenticidad de sus chips ya que los chips clónicos no funcionan o funcionan de manera deficiente sin el driver correcto; parece ser más una cuestión de suerte el tener un chip funcional. De otro modo, deberás cargar el firmware original conectando directamente el Arduino a pines específicos del chip

Page 21: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 21

Conexión AT Arduino / Bluetooth

Page 22: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 22

CONEXIÓN EN MODO AT HC-05Para poder preguntar al módulo de bluetooth sus credenciales de identidad y poder configurarlo, debes conectarlo como se muestra en la figura.

Esta forma se conoce como conexión en modo AT y sólo será conectado de esta manera para configurarlo. Para utilizarlo de forma normal, la conexión cambia.

Page 23: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 23

CONEXIÓN EN MODO AT HC-06La conexión en modo AT del HC-06 es diferente a la del HC-05. La primer diferencia es la falta de los pines de EN y STATE en el módulo HC-06. Esta manera de conectar el módulo no cambia en nada de la forma en cual se usa normalmente.

La única recomendación en este caso es tener cuidado de no conectar VCC a GND y viceversa porque eso dejaría inservible el

módulo.

Page 24: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 24

CONEXIÓN EN MODO AT HM-10La conexión en modo AT del HM-10 puede ser tanto como la del HC-05, como la del HC-06; sin embargo, puede pasar que el módulo no responda con el modo AT del HC-05. En tal caso, es posible que el módulo responda si lo conectas como se muestra en la figura.

En caso de que no responda después de conectarlo como en la figura, podría ser que el chip es incompatible con los drivers conocidos para este módulo y deberás cargar el firmware compatible; sin embargo, el procedi-miento excede los alcances de ésta introducción.

Page 25: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 25

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT

De fábrica tu módulo tendrá información desconocida de entrada, pero debes saber para comunicarte con él. Para ello utiliza los comandos AT. Los más importantes son:

NAME: para saber el nombre del módulo.PSWD: para saber la contraseña.ROLE: para saber si está en modo maestro o esclavo.

Page 26: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT [HC-05 ] Y [HC-06]

Aquí aparece la descripción de los comandos AT utilizados para el HT-05. Sirven para manipular distintas características del módulo; sin embargo los que más nos interesan son:

AT: Sirve para saber si hay comunicación con el módulo. La confirmación en pantalla es: OK.

AT+NAME: Sirve para saber el nombre del módulo. Conviene cambiarlo para evitar confusiones.

AT+PSWD: Permite conocer la contraseña del módulo.

AT+ROLE: Muestra el rol del módulo. Debe de ser 0 para usarlo como periférico.

AT+UART: Algunos módulos vienen con 9600 en vez de 38400 bauds, debes cambiarlo.

Arduino + Android con AppInventor 26

Page 27: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 27

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT [HC-05]

Esta es la conexión típica en modo AT. Debes tener cuidado de no conectar VCC y GND al revés porque se quemaría el modulo; sin embargo, conectar mal el resto de los pines no afecta físicamente al módulo.

Para algunos módulos debes presionar el botoncito integrado justo antes de iniciar el monitor serial. Si el módulo no responde con OK, es

posible que las conexiones sean erróneas o el módulo está dañado.

Page 28: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 28

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT [HC-05]

Este es el código que debes cargar en el Arduino para poder configurar un módulo de bluetooth. Una vez cargado, abre el monitor serial y podrás empezar a tener comunicación con el módulo de bluetooth.

Page 29: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 29

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT [HM-10]

Aquí aparece la descripción de los comandos AT utilizados con el HM-10. Sirven para manipular distintas características del módulo. Como puedes ver, son diferentes a los HC-05:

AT: Sirve para saber si hay comunicación con el módulo. La confirmación en pantalla es: OK.

AT+NAME: Sirve para saber el nombre del módulo. Conviene cambiarlo para evitar confusiones.

AT+PASS: Permite conocer la contraseña del módulo

AT+ROLE: Muestra el rol del módulo. Debe de ser 0 para usarlo como periférico

AT+BAUD: En vez de decir la velocidad indicará un número, mismo que deberás buscar en la descripción

Page 30: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 30

COMUNICACIÓN CON EL MÓDULO CON COMANDOS AT [HC-06] Y [HM-10]

Esta es la conexión típica en modo AT. Debes tener cuidado de no conectar VCC y GND al revés porque se quemaría el modulo; sin embargo, conectar mal el resto de los pines no afecta físicamente al módulo.

Para algunos módulos debes presionar el botoncito integrado justo antes de iniciar el monitor serial. Si el módulo no responde con OK, es posible que las conexiones sean erróneas o el módulo está dañado.

Page 31: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 31

CONEXIÓN CON PERIFÉRICOS BLUETOOTH

Para conectarte por primera vez a tu módulo de bluetooth, deberás ir a la configuración de bluetooth de tu dispositivo Android como si fueras a conectar una nueva bocina o un teclado bluetooth.

Para esto sirve saber la información de tu dispositivo, pues debes reconocerlo por su nombre, el de fábrica o el que hayas decidido (aunque siempre es recomendable cambiar el nombre para evitar confusiones cuando hay más de uno). Además, también debes de introducir la contraseña en esta parte del proceso para poder acceder a él después.

Page 32: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 32

LISTA DE DISPOSITIVOS BLUETOOTH

Tu teléfono, por lo general, despliega una lista de dispositivos como se muestra en la figura. Cada nombre consta de una dirección MAC y el nombre del dispositivo.

Page 33: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Encender un LED

Page 34: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 34

Page 35: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 35

Una vez configurado, al presionar el botón de ON se debe encender uno de los LEDs y el otro se apaga; al presionar OFF, se apaga el LED encendido y se enciende el LED apagado.

Page 36: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 36

Page 37: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 37

[App_Ard_1]

Para comenzar el programa, carga el bloque Screen1. Inicializar para establecer que, al comenzar la aplicación, se desactiven los botones disponibles hasta haberse conectado a bluetooth.

Después crea un procedimiento para ejecutar y nómbralo dcvBotones. Carga en él los .Habilitado de todos los botones creados y carga un bloque lógico falso.

Ahora duplica el procedimiento y cambia el nombre como acvBotones y pon todos los bloques lógicos como cierto.

Page 38: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 38

[App_Ard_1]

Para el siguiente paso, establece el comportamiento de la lista de dispositivos con bluetooth. Para ello, carga un bloque de btnConectar.AntesDeSeleccion, dentro de él se carga un btnConectar.Seleccion y BluetoothClient.DireccionesyNombres para poder ver la lista de dispositivos a escoger.

Después, para manipular la forma en la cual se presenta el dispositivo escogido en pantalla, crea una variable con el bloque inicializar global nombre como y nómbrala “dispositivos”, carga texto vacío aquí.

Page 39: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

[App_Ard_1]

Ahora establece que ocurre al seleccionar un dispositivo con btnConectar.DespuesDeSeleccion

Ya se ha visto como la lista de dispositivos muestra tanto la dirección MAC como el nombre del dispositivo. Establece para mostrar únicamente el nombre de tu dispositivo, carga el bloque poner global dispositivos a, y un bloque llamado seleccionar elemento de la lista; índice junto con el bloque dividir por espacios para separar los datos de tu dispositivo en dirección y nombre, selecciona el nombre cargando un matemático con el número 2 pues el nombre ocupa la posición 2.

Después, establece el cliente de bluetooth para conectarse con la dirección escogida con la composición btnConectar.Seleccion / BluetoothClient1.Conectardireccion / btnConectar.Seleccion

Page 40: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 40

[App_Ard_1]

Para delimitar el comportamiento tanto de la información mostrada cuando te conectas a un dispositivo, como de lo que ocurre después, pon una condición si, entonces y carga un bloque BluetoothClient1.Conectado, de esa manera pides que, sólo si se conecta, haga lo siguiente.

Si buscas mostrar el nombre del dispositivo al cual te has conectado, para ello, filtra antes el nombre; ahora muéstralo cargando el bloque etqEstado.Texto como y concatena texto con unir. Carga el texto “Conectado con” unido con tomar dispositivos.

Después activa los botones cargando el bloque Llamar acvBotones

Page 41: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

[App_Ard_1]

Una vez conectado, programa el comportamiento de los botones ON y OFF generando un procedimiento llamado encender, carga el bloque BluetoothClient1.EnviarTexto; texto y otro bloque de texto con un “1”. Con ello, estás pidiendo que envíe por bluetooth un 1 en formato char. Con lo anterior, puedes duplicar el procedimiento, cambia el nombre con apagar y el texto a 2.

Ahora carga el procedimiento encender a btnON.Clic y apagar a btnOFF.Clic para enviar información al Arduino que después procesaras dentro del IDE.

El bloque btnDesconectar.Clic se carga con el bloque Bluetoo-thClient1.Desconectar para procesar al desconectar del cliente cuando se presione y además se carga etqEstado.Texto como con el texto “No conectado” avisará de la desconexión.

Page 42: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 42

Page 43: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 43

Descarga de tu APP en el teléfono

Una vez que has terminado de desarrollar nuestra tu o si deseas probarla, la puedes descargar fácilmente con el procedimiento ya mostrado, yendo a Generar / App (generar código QR para el archivo .apk) y escanea el código QR, eso te mandará un enlace donde podrás descargar tu aplicación .

Si hubiese algún problema descargando la aplicación es porque hay que permitir la instalación en Ajustes / Seguridad / Fuentes desconocidas, marca la casilla.

Page 44: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 44

[AppInventor_1-1]

Page 45: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Revisa el ejercicio en:https://youtu.be/cCJJ7Q4sed8

Page 46: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Encender un foco(corriente alterna)

Page 47: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 47

Page 48: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 48

Una vez configurado; al presionar el botón de ON debe encender el foco y al presionar OFF debe apagarse el foco.

Este ejercicio da muestra de las capacidades para manipular dispositivos conectados a la red eléctrica con el uso del bluetooth y del Arduino. El secreto en este caso radica en el uso del Relevador (la cajita naranja) que aísla al Arduino de la red eléctrica para evitar que se queme.

Con esto no sólo se puede encender y apagar un foco sino que se puede activar y desactivar cualquier conjunto de aparatos eléctricos conectados a la red.

Page 49: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 49

[App_Ard_2]

Page 50: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 50

[AppInventor_1]

Page 51: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 51

¡Precaución!

Peligro de electrocuciónTrabajar con corriente alterna (CA) puede ser peligroso por tratarse de alto voltaje (aprox. 120 V), ten cuidado.

Las recomendaciones en este caso serían:

- Mantén aislado tu circuito de CA. - Si vas a manipular tu circuito de CA, procura tenerlo DESCONECTADO. - De preferencia, no uses nada metálico (joyería) mientras trabajas con CA.

Page 52: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Encender una tira LED

Page 53: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 53

Conexión básica de las tiras de LED

Page 54: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 54

Fuentes para las tiras led

No basta con tener las tiras de LED y el controlador. La fuente es igual o más importante.

Debes saber cuantos LEDs se usarán y donde se usarán.

Page 55: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 55

Fuentes para las tiras led

Page 56: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 56

Tira flexible 900 leds smd blanco cálido, 24 v

La tira LED está conformada por 900 LEDs de montaje superficial color blanco cálido cuyo ángulo de apertura es de 120°, estos LEDs están distribuidos a lo largo de 5 metros de tira junto con una cinta adhesiva.

Cálculo de la fuente de leds

Supón que tienes esta tira de 5 metros con 900 LEDs en tramos de 6 LEDs (debe ser de 24 volts)

¿Cuál fuente necesito?

Page 57: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 57

Cálculo de la fuente de leds

900/6=150×15 𝑚𝐴=2.25 𝐴

𝑃=𝑉𝐼=24×2.2=52.8 𝑊

(500 𝑐𝑚)/(3.4 𝑐𝑚)=147≈ 150

Supongamos que tienes esta tira

* Supongamos que no sabes cuantos tramos tiene tu tira

Mide el tramo y mide la tira

¿Cuántos tramos tiene la tira?

Page 58: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 58

El programa de AppInventor es casi el mismo; sin embargo, en esta ocasión conectarás una tira de LEDs y, por consecuencia, el programa de Arduino y las conexiones del circuito han cambiado.

Page 59: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 59

[App_Ard_3]

Page 60: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 60

[AppInventor 1]

Page 61: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Encender un LED¡Actívalo con la voz!

Page 62: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 62

Este es el mismo programa que has estado usando; sin embargo, ahora se agregará una función de reconocimiento de voz.

Utiliza las palabras “encender” y “apagar” por ahora, pero se pueden usar una gran variedad de palabras en español y en inglés

Page 63: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 63

[App_Ard_1_2]

Page 64: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 64

[App_Ard_1_2]

Para utilizar las funciones del componente de reconocimiento de voz, coloca un botón y llámalo btnVoz. Carga ahora un cuando btnVoz.Clic / llamar ReconocimientoDeVoz1.ObtenerTexto para que, al hacer clic sobre el botón el componente, escuche el micrófono e interprete las palabras en texto.

Después coloca cuando ReconocimientoDeVoz1.Después-DeObtenerTexto y utiliza el bloque condicional si, entonces para compararlo con el texto escogido usando el bloque =; en este caso escoge “encender”; sin embargo, antes de compararlo, convierte el texto por completo en minúsculas por si acaso el reconocimiento de voz llegara a utilizar mayúsculas.

Si la palabra dicha es igual a la palabra clave, ejecuta el procedi-miento encender, hazlo de la misma manera con “apagar”.

Page 65: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 65

[App_Ard_1]

Page 66: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 66

ACTIVIDAD 3: NEOPIXELES

Briefing

- Introducción a NeoPixeles- Conexión de una Matriz / Tira NeoPixel- Creación de una aplicación para controlar una Tira/Matriz de LED- Programación de una barra reguladora de intensidad- Programación de un mensaje interactivo

LED digitalmente direccionableDigital Addressable LED

Es un tipo de LED cuyo arreglo permite controlar de forma individual un gran número de LEDs, utiliza comunicación digital a través de un pequeño chip integrado en el encapsulado de los LEDs.

Page 67: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 67

NeoPixel

NeoPixel es el nombre de Adafruit para todas las configuraciones LED RGB basados en los chips WS2812B, WS2811 y SK681; los cuales usan un protocolo de comunicación de un solo cable.

WS2811

Es el driver SOIC8 (sin LED) y es usado junto tiras de LED indepen-dientes.

Las tiras de LED con el WS2811 pueden tener el rojo, el verde y el azul por separado.

Page 68: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 68

WS2812B

Esta versión de drive (con LED) tiene 4 contactos en vez de 6, por lo que tiene un mejor rendimiento térmico y estabilidad.Protege contra inversión de polaridad de los pines VDD y VSS en alimentación.

El nuevo modelo WS2812B es capaz de producir un brillo mucho mayor que el modelo WS2812.

CONFIGURACIONES TÍPICAS

1.- NeoPixel 5050 2.- NeoPixel Flora3.- NeoPixel Difuso4.- Tira Neopixel 5050 5.- Neopixel circular 50506.- Matriz Neopixel 8x8 5050

Page 69: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 69

1.-

3.-

5.-

2.-

4.-

6.-

Page 70: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 70

Tira de neopixeles

Las tiras de LED NeoPixel son muy parecidas a las tiras de LED RGB convencionales; sin embargo, como cada chip es controlado por separado, se pueden generar efectos de cambio de color.

Cada NeoPixel consume de 20mA a 60 mA y 3 bytes de memoria RAM, esto debe ser tenido en cuenta para su uso.

¿Cuántos se pueden conectar?

Además de la corriente, debes considerar la cantidad de memoria usada para el control de cada LED.

Para el chip WS2812B, en particular, cada LED consume 3 bytes de RAM. Si el Arduino UNO tiene 2Kb; podrías pensar que tiene capacidad para 600 pixeles, pero debes considerar el espacio ocupado por el programa en sí mismo.

Page 71: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Matriz / Tira NeoPixel (Conexión)

Page 72: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 72

Page 73: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 73

Page 74: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Matriz / Tira NeoPixel (Control)

Page 75: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 75

Matriz de neopixeles

La forma típica para conectar una matriz de NeoPixeles es como se muestra. Se puede conectar sin la resistencia o el capacitor usados para redes extensas siempre y cuando no se use el brillo máximo por mucho tiempo.

Se pueden conectar más matrices pero necesita una fuente externa, una resistencia de protección y considerar la memoria disponible.

Prender y apagar con botones tiene mucha versatilidad. En este caso volverás a utilizar el mismo programa App_Ard_1, pero ahora lo usarás para prender y apagar una matriz de NeoPixeles.

A pesar de ser el mismo programa de AppInventor, el programa para Arduino cambia drásticamente pues ahora debes incluir la biblioteca NeoPixel y la forma de controlar el encendido de los NeoPixeles es completamente diferente al control de LEDs normales.

Page 76: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 76

[App_Ard_1_3]

Page 77: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 77

[AppInventor_3]

[Encendido y apagado en un color sólido ]

Para que este programa funcione correctamente, debes instalar la biblioteca Adafruit_Neopixel, la cual puedes descargar de este link:

https://github.com/adafruit/Adafruit_NeoPixel/archive/master.zip

Si el link no funciona, puedes buscarlo como Adafruti_Neopixel.Para verificar si la instalación fue correcta, Adafruit_Neopixel aparecerá en naranja, de otro modo, la instalación está incompleta

Page 78: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Revisa el ejercicio en:https://youtu.be/sQ4owxHrhRo

Page 79: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Arduino + Android con AppInventor 79

[AppInventor_3-2]

[Encendido y apagado en un degradado de colores]

Page 80: Arduino + Android con AppInventorcontigoenladistancia.cultura.gob.mx/assets/...Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de

Revisa el ejercicio en:https://youtu.be/B7-SU-lK7IU