Código:
int led1 = 40; //Luz 1 Comedor
int led2 = 41; //Luz_2_Comedor
int led3 = 42; //Luz_Cocina
int led4 = 43; //Luz_1_Pasillo
int led5 = 44; //Luz_1_Pasillo
int led6 = 45; //Luz_Hab 1
int led7 = 46; //Luz_Hab 1
int led8 = 47; //Luz_Baño
int led9 = 48; //Luz_Garaje
int led10 = 49; //Luz_1_Jardin
int led11 = 50; //Luz_2_Jardin
int led12 = 51; //Luz_3_Jardin
int led13 = 52; //Luz_4_Jardin
int estado = 0;
int LDRpin=A1; // define el pin conectado al ldr
int LDRabc=0;
float LDRvoltaje=0; // variable tipo flotante
int led =6; // pin del led rojo
int pirPin =7; // pin para el sesor de movimiento
int buzzer = 5; // pin para buzzer activo
void setup(){
Serial.begin(9600);
pinMode(LDRpin, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode( led , OUTPUT) ;
pinMode (pirPin , INPUT);
pinMode (buzzer , OUTPUT);
}
void loop(){
if( Serial.available()>0)
{
char dato= Serial.read (); // leremos el dato enviado
Serial.println(dato); // mostramos el dato
if(dato =='s') // si es igual se habilita alarma
{
while(!Serial.available()) // se ejecuta si el dato es "S"
{
digitalWrite(led, LOW); //apagamos el led rojo
int pirVal = digitalRead(pirPin); // leemos el valor del sensor
Serial.println (pirVal); // mostramos este valor
if(pirVal == HIGH) //si es 1
{
digitalWrite(buzzer, HIGH); //encenderemos el led rojo y sonara el buzzer
digitalWrite(led, HIGH);
}
else // si fuese un "0"
{
digitalWrite(buzzer, LOW);
digitalWrite(led, LOW); //se apaga el led rojo y deja de sonara el buzzer
}
delay(400); //esperamos 400ms
}
}
else
{
digitalWrite(buzzer, LOW);
digitalWrite(led, LOW);
}
{ estado = Serial.read();
}
switch( estado)
{
case 'a':
digitalWrite(led1, HIGH); // primera luz del interior la casa
break;
case 'b':
digitalWrite(led1, LOW);
break;
case 'c':
digitalWrite(led2, HIGH);
break;
case 'd':
digitalWrite(led2, LOW);
break;
case 'e':
digitalWrite(led3, HIGH);
break;
case 'f':
digitalWrite(led3, LOW);
break;
case 'g':
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH); // luz pasillo ambas encienden a la vez
break;
case 'h':
digitalWrite(led4, LOW);
digitalWrite(led5, LOW); // luz pasillo ambas se apagan a la vez
break;
case 'i':
digitalWrite(led6, HIGH);
break;
case 'j':
digitalWrite(led6, LOW);
break;
case 'k':
digitalWrite(led7, HIGH);
break;
case 'l':
digitalWrite(led7, LOW);
break;
case 'm':
digitalWrite(led8, HIGH);
break;
case 'n':
digitalWrite(led8, LOW);
break;
case 'o':
digitalWrite(led9, HIGH);
break;
case 'p':
digitalWrite(led9, LOW); // ultima luz del interior de la casa
break;
case 'q':
digitalWrite(led10, HIGH);
digitalWrite(led11, HIGH); // lucess del jardin
digitalWrite(led12, HIGH);
digitalWrite(led13, HIGH);
break;
case 'r':
digitalWrite(led10, LOW);
digitalWrite(led11, LOW); //apagamos luces del jardin
digitalWrite(led12, LOW);
digitalWrite(led13, LOW);
break;
case 's':
digitalWrite(pirPin, HIGH); // activamos alarma
break;
case 't':
digitalWrite(pirPin, LOW); // desactivamos alarma
break;
}
}
{
LDRabc=analogRead(LDRpin);
LDRvoltaje=LDRabc*(5.0/1023.0);
Serial.print("voltaje LDR: ");
delay(200);
Serial.println(LDRvoltaje);
if(LDRvoltaje<=1.20){
digitalWrite(led10, HIGH);
delay(500);
digitalWrite(led11, HIGH); // luces del jardin encienden de noche
delay(600);
digitalWrite(led12, HIGH);
delay(700);
digitalWrite(led13, HIGH);
delay(800);
}
else {
digitalWrite(led10, LOW);
digitalWrite(led11, LOW); // luces del jardin se apagan de dia
digitalWrite(led12, LOW);
digitalWrite(led13, LOW);
}
}
}
En este primer codigo logre manjear los leds y el sensor ldr, el problema es cuando junte estos codigos con uno para un sensor pir para menjarlo por bluetooth, ya que logro juntar todos los codigos, y logro manejar el sensor PIR por el bluetooth pero los led ahora no me responden, exepto cuando se activan con el Sensor LDR, si pudieran ayudar en corregir el codigo que he armado, lo agradeceria bastante, ya que hay algo que falla dentro del codigo pero no se que es y que crea conflicto pero no se que es porque soy novato con el arduino. Gracias de antemano.