Documentos de Académico
Documentos de Profesional
Documentos de Cultura
App Inventor
Cuando creamos un nuevo proyecto en App Inventor, nos saldrá el App Inventor Designer donde construiremos el diseño de
nuestra app. En el centro tenemos la visualización de una pantalla de un dispositivo Android donde iremos poniendo todos los
componentes que queramos. Estos componentes están en la parte izquierda y tenemos desde botones, etiquetas, sliders, etc…
hasta el hardware del dispositivo Android como la cámara, GPS, acelerómetro, sonido, etc. Esto es muy útil ya que tenemos la
posibilidad de usar los sensores de nuestro dispositivo Android junto a Arduino para nuestros proyectos. Para poner un
componente a la pantalla de visualización, tenemos que arrastrarlo hasta esta. Por último, en la parte derecha de la pantalla
tenemos un recuadro donde podremos cambiar las propiedades de los componentes que insertemos en la app tales como el
color, nombre, valores…
En esta app hemos puesto un botón que servirá para conectarse al Arduino a través de Bluetooth, unas etiquetas para el título
(LED RGB) y el nombre de los colores (RED, GREEN, BLUE), y tres sliders para controlar los tres colores RGB. También
pondremos un Cliente Bluetooth para establecer la comunicación Bluetooth. En las propiedades de los sliders,
pondremos MinValue 0 y MaxValue 255. También hemos puesto una imagen de icono de la app subiendo una imagen
en Media, y colocando el archivo en Icon de las propiedades de la pantalla (Screen). Las demás propiedades de los componentes
sirven para cambiar al gusto de cualquiera los colores, medidas y nombres de estos.
Uno vez terminado con el diseño de la app, clicamos en la el botón Blocks en la parte superior derecha de la pantalla para ir al
App Inventor Blocks Editor. Aquí es donde programaremos la app en forma de bloques como si se tratase de un puzle.
En Viewer tenemos una hoja en blanco donde pondremos los bloques. Estos bloques están en la parte izquierda en el
apartado Blocks donde encontraremos los elementos y funciones más comunes en los lenguajes de programación tales como
sentencias, funciones lógicas, funciones matemáticas, strings… También habrá los elementos y funciones específicos de los
componentes que hemos insertado en la app, que en nuestro caso son Bluetooth, un botón y tres sliders.
Instructor Luis Avelar Reyes
En la siguiente imagen hemos puesto un enlace donde podréis descargaros el archivo .apk de la app para instalarla en vuestros
dispositivos Android. También hay una archivo .aia que es el proyecto App Inventor de la app para poder importarlo a vuestra
cuenta App Inventor desde el menú Project, Import Project (.aia) from my computer …
Arduino
En el Arduino habrá conectado un Led RGB y un módulo Bluetooth JY-MCU (tanto el HC-06 como el HC-05 son validos). Si
queréis saber más sobre estos módulos Bluetooth conectados a Arduino visitad el tutorial que hicimos sobre este tema en el
siguiente enlace (Arduino + Bluetooth).
El diodo Led RGB tiene un cátodo y tres ánodos (uno para cada color). Los colores son controlados a través de PWM. En
su datasheet comprobamos que los voltajes de cada color a una intensidad de 20mA son los siguientes: Red 2 V, Green 3,2 V
y Blue 3,2V. Sabiendo esto juntamente con que el voltaje de salida máximo de los pins del Arduino es de 5V podemos calcular
las resistencias de cada color aplicando la ley de Ohm.
Podemos poner resistencias de 100 ohmios en vez de 90 ohmios ya que estas últimas son poco comunes, el resultado final no
influirá mucho ya que además hay que contar con la tolerancia de la resistencia.
Montaje
Instructor Luis Avelar Reyes
Código
Código completo
1
#include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins
2
3
//Aquí conectamos los pins RXD,TDX del módulo Bluetooth.
4
SoftwareSerial BT(10,11); //10 RX, 11 TX.
5
6
int ledred=3; //Pin LED Red
7
int ledgreen=5;//Pin LED Green
8
int ledblue=6; //Pin LED Blue
9
10
void setup()
11
{
12
13
BT.begin(9600); //Velocidad del puerto del módulo Bluetooth
14
15
pinMode(ledred,OUTPUT);
16
pinMode(ledgreen,OUTPUT);
17
pinMode(ledblue,OUTPUT);
18
}
19
20
void loop()
21
{
22
//Cuando haya datos disponibles
23
while (BT.available()>0)
24
{
25
int red = BT.parseInt(); //Leemos el primer valor entero (Red) y lo almacenamos en la variable
26
27
int green = BT.parseInt(); //Leemos el segundo valor entero (Green) y lo almacenamos en la variable
28
29
int blue = BT.parseInt(); //Leemos el último valor entero (Blue) y lo almacenamos en la variable
30
31
//Cuando lea el carácter fin de línea ('\n') quiere decir que ha finalizado el envío de los tres valores
32
if (BT.read() == '\n')
33
{
34
//Enviamos los valores de los tres colores al LED RGB através de PWM
35
analogWrite(ledred,red);
36
analogWrite(ledgreen,green);
37
analogWrite(ledblue,blue);
38
}
39
}
40
}