Se trata de una maqueta para demostrar como se puede automatizar una casa.
Realice esta pequeña maqueta, con 2 habitaciones, baño, cocina y living.
Afuera de la casa coloque unas luces rgb, para darle un buen aspecto y es aqui donde se me complica y creo que al encontrar la solucion podria resolver muchas cosas.
Hice la aplicacion en appinventor. la Sgte:
Coloque los botones para cada espacio de la casa, habitacion, baño, etc. con dos botones uno para encender otro para apagar. Queria ver si queda mejor un solo boton, que encienda o apague de un solo boton.
Luego realice una matriz de colores, para cambiar el color de las luces de afuera, pero aqui esta el problema, tube que hacerlo de esta manera, poner los colores directamente porque mi idea era tenes 3 slider( 3 barras desplazables) para hacer cualquier color. pero al recibir el arduino datos desde el celular de 0 a 255 me causaba inteferencia y por ejemplo me prendia el led 13, y asi iba fallando por lo que decidi directamente programar cada color, pero estoy limitado a los que puse mientras que si tendria los 3 sliders podria formar los que quiera.
este es el codigo que use
#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(52,53); //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(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(ledblue,OUTPUT);
pinMode(ledgreen,OUTPUT);
pinMode(4,OUTPUT);
pinMode(ledred,OUTPUT);
}
void loop()
{
char c=BT.read();
if(c=='1') digitalWrite(13,HIGH);
if(c=='2') digitalWrite(12,HIGH);
if(c=='4') digitalWrite(11,HIGH);
if(c=='7') digitalWrite(10,HIGH);
if(c=='8') digitalWrite(9,HIGH);
if(c=='9') digitalWrite(8,HIGH);
if(c=='a') digitalWrite(7,HIGH);
if(c=='0') digitalWrite(4,HIGH);
if(c=='i') digitalWrite(4,LOW);
if(c=='b') digitalWrite(13,LOW);
if(c=='c') digitalWrite(12,LOW);
if(c=='d') digitalWrite(11,LOW);
if(c=='e') digitalWrite(10,LOW);
if(c=='f') digitalWrite(9,LOW);
if(c=='g') digitalWrite(8,LOW);
if(c=='h') digitalWrite(7,LOW);
if(c=='j') digitalWrite (ledred,LOW),digitalWrite (ledgreen,LOW),digitalWrite (ledblue,LOW);
if(c=='k') digitalWrite (ledred,HIGH),digitalWrite (ledgreen,LOW),digitalWrite (ledblue,LOW);
if(c=='l') digitalWrite (ledred,LOW),digitalWrite (ledgreen,HIGH),digitalWrite (ledblue,LOW);
if(c=='m') digitalWrite (ledred,LOW),digitalWrite (ledgreen,LOW),digitalWrite (ledblue,HIGH);
if(c=='n') digitalWrite (ledred,HIGH),digitalWrite (ledgreen,LOW),digitalWrite (ledblue,HIGH);
if(c=='o') digitalWrite (ledred,HIGH),digitalWrite (ledgreen,HIGH),digitalWrite (ledblue,LOW);
if(c=='p') digitalWrite (ledred,LOW),digitalWrite (ledgreen,HIGH),digitalWrite (ledblue,HIGH);
if(c=='q') digitalWrite (ledred,HIGH),digitalWrite (ledgreen,HIGH),digitalWrite (ledblue,HIGH);
}