En este Articulo veremos como Controlar LED RGB mediante Bluetooth arduino y Blueterm, este articulo nos servira como base para en un proximo articulo sustituir la terminal blueterm por una aplicacion android que desarrollaremos.
Mediante Blueterm enviaremos comandos a el receptor bluetooth, que sera un HC-05, que nos serviran para controlar la intesidad de los 3 colores de un led rgb(rojo, verde, azul) a distancia.
El dispositivo bluetooth es uno de los mas eficientes en cuanto a relacion costo – rendimiento, es por eso que elegimos utilizar este modelo, el HC-05 estara conectado a una placa arduino ONE R3 la cual programaremos en arduino para indicar las acciones que realizara al recibir cierto comando al bluetooth, el LED RGB tambien estara conectado a la placa arduino, mas en especifico a terminales PWD para poder asi controlar la intensidad total de cada color en el led permitiendo pintar cualquier color que imaginemos.
Veamos entonces como controlar led rgb mediante bluetooth
arduino y blueterm, Comencemos…
Suscríbete a nuestra lista de correo y recíbe los últimos contenidos directamente en tu bandeja de correo electrónico, puedes elegir únicamente de que categoria del blog quieres recibir contenido.
SuscríbemeRequerimientos:
- Placa Arduino ONE R3
- Arduino IDE
- Protoboard (Opcional)
- LED RGB
- Bluetooth HC-05
- Aplicacion Android BlueTerm
Desarrollo
Antes que nada veamos algunos conceptos fundamentales:
- LED RGB
Un Led RGB es un led que puede representar cualquier color gracias a que en su interior posee 3 pequeños leds que corresponden a los 3 colores basicos, rojo verde y azul, con los cuales se pueden representar cualquier color variando la tension de entrada de cada uno.
- BLUETOOTH HC-05
Es un modulo para la comunicacion bluetooth bastante importante en cuanto a rendimiento y economia, este dispositivo se alimenta a 3,3v, tienen alimentacion en los pines por lo que solo debemos alimentarlo para que nos aparezca como dispositivo en nuestro celular, los pines RX(Receptor) y TX(Transmisor) enviar y reciben datos mediante el protocolo serial con nivel logico TTL. Este dispositivo viene con una configuracion por defecto que es, Nombre: HC-05 (asi aparecera en tu celular al buscar), Contraseña: 1234, baud rate: 38400,etc. mas adelante en otro Articulo te mostrare como cambiar esta configuracion mediante comandos AT para personalizar nuestro dispositivo.
- BlueTerm
Es una aplicacion para Android que es un emulador de terminal vt100 para conectarse a cualquier dispositivo con puerto serie mediante un adaptador bluetooth-serie, es una aplicacion opensource que nos ayudara a enviar y recibir comandos rapidamente sin necesidad de crear una aplicacion android, aunque mas adelante en otro Articulo crearemos una para personalizar completamente nuestro proyecto.
- Diagrama de Conexion
Para comenzar vamos a armar nuestro trabajo, conectamos el modulo bluetooth con la placa arduino como se muestra en la imagen, RX de el bluetooth con TX del arduino y TX del bluetooth con el RX del Arduino, conectamos los el led y sus resistencias a los pines 9 10 y 11 como se muestra, conectamos a esos pines porque si te fijas aparecen con una simbolo (~) que representa que son PWM, esto es, que son pines de modulacion de ancho de pulso, asi que a diferencia de los otros donde podemos enviar 1s o 0s aqui podemos enviar valores intermedios asi controlar de forma mas exacta los valores enviados a nuestros leds (0 – 255).
Recuerda que nuestro bluetooth funciona a 3,3v y no a 5v para evitar errores al conectar al arduino, todo este armado lo puedes hacer sobre el protoboard si es que lo tienes.
- Codigo Fuente
Ahora que tenemos nuestro circuito armado vamos a conectar con el USB nuestro arduino a la pc y a abrir nuestro IDE Arduino y escribir nuestro programa
// Relacion Pines arduino - termianles de nuestro led
int rojo = 11;
int verde = 10;
int azul = 9;
//Configuramos Pines como salidas, establecemos el baudRate a 9600
void setup()
{
pinMode(rojo,OUTPUT);
pinMode(verde,OUTPUT);
pinMode(azul,OUTPUT);
Serial.begin(9600);
Serial.println("Controlar LED RGB mediante Bluetooth Arduino y BlueTermn JonathanMelgoza.com/BLOG");
delay(1000);
}
/*
Ciclo Principal
mientras serial este conectado espera y lee datos de entrada, los analiza y envia distintos parametros al metodo
setColor que manda a cada pin correspondiente a cada color su respectivo valor
*/
void loop()
{
while (Serial.available())
{
char dato= Serial.read();
switch(dato)
{
case 'r':
{
setColor(255, 0, 0);
Serial.println("Led Rojo");
break;
}
case 'v':
{
setColor(0,255, 0);
Serial.println("Led Verde");
break;
}
case 'a':
{
setColor(0,0,255);
Serial.println("Led Azul");
break;
}
case 'y':
{
setColor(255, 255, 0);
Serial.println("Led Yellow");
break;
}
case 'c':
{
setColor(0,255, 255);
Serial.println("Led Cielo");
break;
}
case 'p':
{
setColor(255,0,255);
Serial.println("Led Pink");
break;
}
case 'b':
{
setColor(255,255,255);
Serial.println("Led Blanco");
break;
}
case 'n':
{
setColor(0,0,0);
Serial.println("Led Negro");
break;
}
}
}
}
void setColor(int red, int green, int blue)
{
analogWrite(rojo, red);
analogWrite(verde, green);
analogWrite(azul, blue);
}
Nota: Siempre que programes el Arduino los pines RX yTX de el arduino deben de estar desconectados
Una vez programado conectamos los cables RX y TX a nuestro arduino y reseteamos mediante el boton rojo de nuestra placa.
Ahora instalamos la aplicacion blueterm en nuestro celular y la abrimos
Presionamos Menu y Conectamos a un dispositivo
Buscamos nuestro dispositivo, que si no lo hemos configurado aparecera como HC-05, y conectamos
Escribimos la contraseña para emparejar dispositivos, por defecto sera 1234
Nos conectamos y aparece nuestro mensaje de bienvenida
Ahora presionamos las teclas correspondientes y observamos el lED
r – rojo
v – verde
a – azul
y – amarillo
c – cielo
p – rosa
b – blanco
n – apagar/negro
Resultado
Visto – Controlar LED RGB mediante Bluetooth Arduino y BlueTerm