You are on page 1of 80

Arduino + Android

con AppInventor
Cultura digital Abraham Sánchez Hernández

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

gob.mx/cultura
P A R T E 1 Arduino + Android
con AppInventor
Abraham Sánchez Hernández

M a n u a l e s
y
t u t o r i a l e s
Arduino + Android
con AppInventor
Abraham Sánchez Hernández

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 3


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 contenido


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

Arduino + Android con AppInventor 4


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

Arduino + Android con AppInventor 5


Crea tu cuenta en
AppInventor
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


PASO 3

PASO 4

PASO 5

Arduino + Android con AppInventor 8


PASO 6

PASO 7

Arduino + Android con AppInventor 9


PASO 8

Arduino + Android con AppInventor 10


Interfaz de
AppInventor

Arduino + Android con AppInventor 11


INTERFAZ DE DISEÑO

Frontend
La 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 Componentes
Botó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).

Arduino + Android con AppInventor 12


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

Arduino + Android con AppInventor 13


Arduino + Android con AppInventor 14
INTERFAZ DE DESARROLLADOR

Backend
La 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 Componentes
Control: 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.

Arduino + Android con AppInventor 15


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.

Arduino + Android con AppInventor 16


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.

Arduino + Android con AppInventor 17


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

Arduino + Android con AppInventor 18


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.

Arduino + Android con AppInventor 19


HC-06
El 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-10
La 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

Arduino + Android con AppInventor 20


Conexión
AT Arduino / Bluetooth

Arduino + Android con AppInventor 21


CONEXIÓN EN MODO AT HC-05
Para 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.

Arduino + Android con AppInventor 22


CONEXIÓN EN MODO AT HC-06
La 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.

Arduino + Android con AppInventor 23


CONEXIÓN EN MODO AT HM-10
La 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.

Arduino + Android con AppInventor 24


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.

Arduino + Android con AppInventor 25


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


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.

Arduino + Android con AppInventor 27


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.

Arduino + Android con AppInventor 28


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

Arduino + Android con AppInventor 29


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.

Arduino + Android con AppInventor 30


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.

Arduino + Android con AppInventor 31


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.

Arduino + Android con AppInventor 32


Encender un LED
Arduino + Android con AppInventor 34
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.

Arduino + Android con AppInventor 35


Arduino + Android con AppInventor 36
[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.

Arduino + Android con AppInventor 37


[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í.

Arduino + Android con AppInventor 38


[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
[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

Arduino + Android con AppInventor 40


[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.
Arduino + Android con AppInventor 42
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.

Arduino + Android con AppInventor 43


[AppInventor_1-1]

Arduino + Android con AppInventor 44


Revisa el ejercicio en:
https://youtu.be/cCJJ7Q4sed8
Encender un foco
(corriente alterna)
Arduino + Android con AppInventor 47
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.

Arduino + Android con AppInventor 48


[App_Ard_2]

Arduino + Android con AppInventor 49


[AppInventor_1]

Arduino + Android con AppInventor 50


¡Precaución!

Peligro de electrocución
Trabajar 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.

Arduino + Android con AppInventor 51


Encender una tira LED
Conexión básica de las tiras de LED

Arduino + Android con AppInventor 53


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.

Arduino + Android con AppInventor 54


Fuentes para las tiras led

Arduino + Android con AppInventor 55


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?

Arduino + Android con AppInventor 56


Cálculo de la fuente de leds

Supongamos que tienes esta tira

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

𝑃=𝑉𝐼=24×2.2=52.8 𝑊

* Supongamos que no sabes ¿Cuántos tramos tiene la tira?


cuantos tramos tiene tu tira

Mide el tramo y mide la tira (500 𝑐𝑚)/(3.4 𝑐𝑚)=147≈ 150

Arduino + Android con AppInventor 57


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.

Arduino + Android con AppInventor 58


[App_Ard_3]

Arduino + Android con AppInventor 59


[AppInventor 1]

Arduino + Android con AppInventor 60


Encender un LED
¡Actívalo con la voz!
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

Arduino + Android con AppInventor 62


[App_Ard_1_2]

Arduino + Android con AppInventor 63


[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”.

Arduino + Android con AppInventor 64


[App_Ard_1]

Arduino + Android con AppInventor 65


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 direccionable


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

Arduino + Android con AppInventor 66


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.

Arduino + Android con AppInventor 67


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 Flora
3.- NeoPixel Difuso
4.- Tira Neopixel 5050
5.- Neopixel circular 5050
6.- Matriz Neopixel 8x8 5050

Arduino + Android con AppInventor 68


1.- 2.-

3.- 4.-

5.- 6.-

Arduino + Android con AppInventor 69


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.

Arduino + Android con AppInventor 70


Matriz / Tira NeoPixel
(Conexión)
Arduino + Android con AppInventor 72
Arduino + Android con AppInventor 73
Matriz / Tira
NeoPixel (Control)
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.

Arduino + Android con AppInventor 75


[App_Ard_1_3]

Arduino + Android con AppInventor 76


[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

Arduino + Android con AppInventor 77


Revisa el ejercicio en:
https://youtu.be/sQ4owxHrhRo
[AppInventor_3-2]

[Encendido y apagado en un degradado de colores]

Arduino + Android con AppInventor 79


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

You might also like