sábado, 19 de diciembre de 2015

LED RGB CONTROLADO POR BLUETOOTH


En este proyecto vamos a utilizar un led RGB que variará de color dependiendo de la señal que enviemos desde nuestro smartphone o tablet. Puedes descarga mi aplicación en este enlace. Ademas de esta funcionalidad tiene otras que se utilizan en otros proyectos, como por ejemplo el control de un vehículo.
El led RGB es un diodo emisor de luz rojo azul verde (Red – Green – Blue), contienen tres diodos emisores de luz en su interior. El propósito de este es poder crear, en teoría, toda la gama de colores posibles mezclando cada color con intensidades distintas. Cuando se mezclan los tres a la misma intensidad de obtiene el blanco.

Material:
Arduino Uno
Módulo Bluetooth
Led RGB
Dispositivo Android con la App Bluetooth Control
Resistencias: 150 ohmios, 100 ohmios x 2, 10k, 5k6
Fuente alimentación
Existe dos tipos de led dependiendo si la patilla de conexión es + o -





Esquema de las conexiones:



Programa de la placa Arduino Uno
(Copia todo el texto de color azul)



//German Alonso - Comtrol led RGB por bluetooth

#include <SoftwareSerial.h> //Librería que permite establecer comunicación serie en otros pins

//Aquí conectamos los pins RXD,TDX del módulo Bluetooth.
SoftwareSerial BT(10,11); //10 RX, 11 TX.

int ledred=3; //Pin LED Red
int ledgreen=5;//Pin LED Green
int ledblue=6; //Pin LED Blue

void setup()
{

  BT.begin(9600);  //Velocidad del puerto del módulo Bluetooth

  pinMode(ledred,OUTPUT);
  pinMode(ledgreen,OUTPUT);
  pinMode(ledblue,OUTPUT);
}

void loop()
{
    //Cuando haya datos disponibles
    while (BT.available()>0)
    {
        int red = BT.parseInt(); //Leemos el primer valor entero (Red) y lo almacenamos en la variable

        int green = BT.parseInt(); //Leemos el segundo valor entero (Green) y lo almacenamos en la variable

        int blue = BT.parseInt(); //Leemos el último valor entero (Blue) y lo almacenamos en la variable

        //Cuando lea el carácter fin de línea ('\n') quiere decir que ha finalizado el envío de los tres valores
        if (BT.read() == '\n')
        {
          //Enviamos los valores de los tres colores al LED RGB através de PWM
          analogWrite(ledred,red);
          analogWrite(ledgreen,green);
          analogWrite(ledblue,blue);
        }
  }
}

¿Te ha gustado este tutorial?
Colabora con nosotros y haz una donación: