En este proyecto desarrollarás una aplicación para Android para controlar el color de un LED RGB con un smartphone a través de Bluetooth.
Diseñarás la aplicación para Android usando un software gratuito de internet llamado MIT App Inventor 2. Este es un gran proyecto para aprender a interconectar el Arduino con un teléfono móvil.
Materiales
Elementos y componentes
Arduino UNO
Tabla protoboard
Cable o jumpers
3 resistencias de 220Ω (o aproximada)
LED RGB (ánodo común)
Módulo Bluetooth HC-04, HC-05 o HC-06
Teléfono móvil con Bluetooth
Software, aplicaciones y servicios online
MIT App Inventor 2
IDE Arduino
Creación de la App Android
La aplicación para Android se creará usando una aplicación web gratuita llamada MIT App Inventor. MIT App Inventor es un gran recurso para comenzar con el desarrollo de Android, ya que permite construir aplicaciones simples con la función de arrastrar y soltar (drag-n-drop).
Necesitas una cuenta de Google para ingresar a MIT App Inventor, aquí está la página de ingreso: http://ai2.appinventor.mit.edu.
Después de entrar, ve a Projects >Import project (.aia) from my computer y sube el archivo .aia. Haz clic aquí para descargar el archivo .aia.
Después de subir el archivo .aia. Verás la aplicación en el software de MIT App Inventor.
Diseñador
Con MIT App Inventor tienes 2 secciones principales: diseñador y bloques (designer and blocks).
El designer es la sección que te da la capacidad de añadir botones, añadir texto, añadir pantallas y editar el aspecto general de la aplicación. En el software App Inventor la aplicación se ve así:
La aplicación se ve diferente en el software y en el smartphone. Así es como se ve la aplicación en un teléfono móvil:
Bloques
Además, hay una sección de bloques. La sección de blocks permite crear funcionalidad personalizada para la aplicación, de modo que al pulsar los botones realmente se realiza algo con esa información. Estos son los bloques para esta aplicación:
Instalación de la App
Para instalar la aplicación en tu smartphone, ve a la pestaña Build (Construir).
- Puedes generar un código QR que luego podrás escanear con tu smartphone para instalar automáticamente la aplicación en el teléfono
- O bien puedes descargar el archivo .apk, conectar tu smartphone al ordenador y mover el archivo .apk al teléfono
Sólo tienes que seguir el asistente de instalación para instalar la aplicación y listo!
Código
Descarga o copia el siguiente código en tu IDE de Arduino, y súbelo a tu placa Arduino UNO. Asegúrate de que tienes la placa correcta y el puerto COM seleccionado.
Nota: antes de subir el código, asegúrate de tener los pines de TX y RX desconectados del módulo bluetooth!
#define max_char 12
char message[max_char]; // stores you message
char r_char; // reads each character
byte index = 0; // defines the position into your array
int i;
int redPin = 11; // Red RGB pin -> D11
int greenPin = 10; // Green RGB pin -> D10
int bluePin = 9; // Blue RGB pin -> D9
int redValue = 255; // Red RGB pin -> D11
int greenValue = 255; // Green RGB pin -> D10
int blueValue = 255; // Blue RGB pin -> D9
String redTempValue; // Red RGB pin -> D11
String greenTempValue; // Green RGB pin -> D10
String blueTempValue; // Blue RGB pin -> D9
int flag = 0;
char currentColor;
void setup() {
pinMode(redPin,OUTPUT);
pinMode(bluePin,OUTPUT);
pinMode(greenPin, OUTPUT);
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
//while is reading the message
while(Serial.available() > 0){
flag = 0;
//the message can have up to 12 characters
if(index < (max_char-1)){
r_char = Serial.read(); // Reads a character
message[index] = r_char; // Stores the character in message array
if(r_char=='R'){
currentColor = 'R';
redTempValue = "";
}
else if(r_char=='G'){
currentColor = 'G';
greenTempValue = "";
}
else if(r_char=='B'){
currentColor = 'B';
blueTempValue = "";
}
if(currentColor == 'R' && r_char!='R'){
redTempValue += r_char;
}
else if(currentColor == 'G' && r_char!='G'){
greenTempValue += r_char;
}
else if(currentColor == 'B' && r_char!='B'){
blueTempValue += r_char;
}
index++; // Increment position
message[index] = '\0'; // Delete the last position
}
}
if(flag == 0){
analogWrite(redPin, 255-redTempValue.toInt());
analogWrite(greenPin, 255-greenTempValue.toInt());
analogWrite(bluePin, 255-blueTempValue.toInt());
/*Serial.print('R');
Serial.println(redTempValue);
Serial.print('G');
Serial.println(greenTempValue);
Serial.print('B');
Serial.println(blueTempValue);
Serial.print("MESSAGE ");*/
Serial.println(message);
flag=1;
for(i=0; i<12; i++){
message[i] = '\0';
}
//resests the index
index=0;
}
}
Conexión
Siga el diagrama esquemático de la siguiente figura para conectar el circuito.
Nota: Si estás usando un LED RGB con cátodo común, necesitas conectar el cable más largo a GND.
Importante: Aquí están las conexiones del módulo bluetooth al Arduino:
- El módulo Bluetooth TX se conecta a la RX de Arduino
- El módulo Bluetooth RX se conecta a Arduino TX
Así es como debería ser tu circuito:
Iniciando la aplicación
Una vez que tengas instalada la App, enciende el Bluetooth de tu smartphone.
Asegúrate de emparejar tu smartphone con el módulo bluetooth: busca los dispositivos emparejados en la configuración bluetooth de tu smartphone.
Luego, abre la aplicación recién instalada. Toca el botón Conectar bluetooth para conectarte al módulo bluetooth de arduino.
Selecciona el módulo Bluetooth (debe llamarse linvor).
¡Ahora la aplicación está lista para ser usada!
Submit your review | |
Android App Arduino Arduino UNO Bluetooth HC-04 LED Protoboard Proyecto