Al final puede hacerlo de la siguiente forma con un amigo que también sabe de c++, el problema era el código. Te lo adjunto para que tmb puedas verlo.
Código: Seleccionar todo
//indicamos los pines donde hay componentes conectados
//comedor
int ledcom1=40; //led 1 del comedor
int ledcom2=41; //led 2 del comedor
int percomsubir=39; //persiana del comedor sube
int percombajar=38; // persiana del comedor baja
int percom2subir=37; // persiana 2 del comedor sube
int percom2bajar=36; // persiana 2 del comedor baja
//cocina
int ledcocina=42; // led de la cocina
//baño
int ledlavabo=47; //led del baño
//hab 1
int ledh1=45; //led de la habitación 1
//hab 2
int ledh2=46; // led de la habitación 2
//garaje
int ledgaraje=48; // led del garaje
int ldrgaraje=A1; // infrarojo del garaje
#include <Servo.h> // incluimos librería para trabajar con servomotores
Servo servogaraje; // nombramos nuestro servo
//pasillo
int ledpas1=43; // led 1 del pasillo
int ledpas2=44; // led 2 del pasillo
//jardín
int ledjar1=49; // led 1 del jardín
int ledjar2=50; // led 2 del jardín
int ledjar3=51; // led 3 del jardín
int ledjar4=52; // led 4 del jardín
int ldrjar=A2; //ldr del jardín
int valorldrjar; // variable para almacenar el valro de la ldr del jardín
// TEMPERATURA Y HUMEDAD
#include <DHT.h> //incluimos la librería para trabajar con el sensor DHT11
#define DHTPIN 33 // indicamos el pin en el que está conectado el sensor
#define DHTTYPE DHT11 // indicamos el tipo de sensor
DHT dht(DHTPIN, DHTTYPE);
int ventilador=32; //ventilador
int ledcal=35; //led que indica que hace calor
int ledfr=34; //led que indica que hace frío y simula la calefacción
//ALARMA
int alarma=30; //alarma contra intrusos y a la vez de incendios
int piralarma=31; //sensor pir que detecta movimiento
int piralarmaState; //variable para almacenar el valor del sensor pir
//bluetooth
int estado=0; //variable que indica el estado del bluetooth
void setup(){
Serial.begin(9600); //inicializamos la comunicación serial a una velocidad de 9600 bps (baudios)
pinMode(ledcom1, OUTPUT); //declaramos las entradas y las salidas de los pines digitales
pinMode(ledcom2, OUTPUT);
pinMode(percomsubir, OUTPUT);
pinMode(percombajar, OUTPUT);
pinMode(percom2subir, OUTPUT);
pinMode(percom2bajar, OUTPUT);
pinMode(ledcocina, OUTPUT);
pinMode(ledlavabo, OUTPUT);
pinMode(ledh1, OUTPUT);
pinMode(ledh2, OUTPUT);
pinMode(ledgaraje, OUTPUT);
pinMode(ldrgaraje, INPUT);
servogaraje.attach(35);
pinMode(ledpas1, OUTPUT);
pinMode(ledpas2, OUTPUT);
pinMode(ledjar1, OUTPUT);
pinMode(ledjar2, OUTPUT);
pinMode(ledjar3, OUTPUT);
pinMode(ledjar4, OUTPUT);
//TEMPERATURA Y HUMEDAD
dht.begin(); //se inicia el sensor DHT11
pinMode(ventilador, OUTPUT);
pinMode(ledcal, OUTPUT);
pinMode(ledfr, OUTPUT);
//ALARMA
pinMode(alarma, OUTPUT);
pinMode(piralarma, INPUT);
}
void loop() {
if(Serial.available()>0){ //comprobamos que el BT está recibiendo datos
estado= Serial.read(); //si es así, leer el dato que recibe y almacenarlo en la variable estado
}
if (estado=='a'){ //si estado es igual a "a"
digitalWrite (ledcom1, HIGH); //encender ledcom1
}
if (estado=='b'){ //si estado es igual a "b"
digitalWrite (ledcom1, LOW); //apagar ledcom1
}
if (estado=='c'){ //si estado es igual a "c"
digitalWrite (ledcom2, HIGH); //encendere ledcom2
}
if (estado=='d'){ //si estado es igual a "d"
digitalWrite (ledcom2, LOW); // apagar ledcom2
}
if (estado=='e'){ //si estado es igual a "e"
digitalWrite (percomsubir, HIGH); //subir persiana del comedor
delay(2000);
digitalWrite (percomsubir, LOW);
delay(3000);
}
if (estado=='f'){ //si estado es igual a "f"
digitalWrite (percombajar, HIGH); //bajar persiana del comedor
delay(2000);
digitalWrite (percombajar, LOW);
delay(3000);
}
if (estado=='1'){ //si estado es igual a "1"
digitalWrite (percomsubir, LOW); // detener persiana
digitalWrite (percombajar, LOW);
}
if (estado=='g'){ //si estado es igual a "g"
digitalWrite (ledcocina, HIGH); //encender ledcocina
}
if (estado=='h'){ //si estado es igual a "h"
digitalWrite (ledcocina, LOW); //apagar ledcocina
}
if (estado=='i'){ //si estado es igual a "i"
digitalWrite (ledlavabo, HIGH); //encender ledlavabo
}
if (estado=='j'){ //si estado es igual a "j"
digitalWrite (ledlavabo, LOW); //apagar ledlavabo
}
if (estado=='k'){ // si estado es igual a "k"
digitalWrite (ledh1, HIGH); //encender ledh1
}
if (estado=='l'){ //si estado es igual a "l"
digitalWrite (ledh1, LOW); //apagar ledh1
}
if (estado=='m'){ //si estado es igual a "m"
digitalWrite (ledh2, HIGH); //encender ledh2
}
if (estado=='n'){ //si estado es igual a "n"
digitalWrite (ledh2, LOW); //apagar ledh2
}
if (estado=='o'){ //si estado es igual a "o"
digitalWrite (percom2subir, HIGH); //subir persiana de la h2
delay(2000);
digitalWrite (percom2subir, LOW);
delay(3000);
}
if (estado=='p'){ //si estado es igual a "p"
digitalWrite (percom2bajar, HIGH); //bajar persiana de la h2
delay(2000);
digitalWrite (percom2bajar, LOW);
delay(3000);
}
if (estado=='2'){ //si estado es igual a "2"
digitalWrite (percom2subir, LOW); //para la persiana
digitalWrite (percom2bajar, LOW);
}
if (estado=='A'){ //si estado es igual a "A"
digitalWrite (ledgaraje, HIGH); //encender ledgaraje
}
if (estado=='B'){ //si estado es igual a "B"
digitalWrite (ledgaraje, LOW); //apagar ledgaraje
}
int ldrStatus=analogRead(ldrgaraje); //leer el valor del LDR y almacenarlo en la variable ldrstatus
if (estado=='C'&& ldrStatus <600){ //si estado es igual a "C" y ldr detecta
servogaraje.write(110); //abrir la puerta del garaje
delay(3000);
servogaraje.write(70);
delay(500);
servogaraje.write(30);
delay(300);
servogaraje.write(10); //esperar a que el coche entre
delay(7000);
servogaraje.write(30); // y cerrarla
delay(500);
servogaraje.write(70);
delay(500);
servogaraje.write(110);
delay(500);
}
if (estado=='s'){ //si estado es igual a "s"
servogaraje.write(110); //mantén cerrada la puerta
}
if (estado=='t'){ //si estado es igual a "t"
digitalWrite (ledpas1, HIGH); //encender luces del pasillo
digitalWrite (ledpas2, HIGH);
}
if (estado=='u'){ //si estado es igual a "u"
digitalWrite (ledpas1, LOW); //apagar luces del pasillo
digitalWrite (ledpas2, LOW);
}
if (estado=='v'){ //si estado es igual a "v"
analogWrite (ledjar1, 0); //Apaga las luces del jardín
analogWrite (ledjar2, 0);
analogWrite (ledjar3, 0);
analogWrite (ledjar4, 0);
}
if (estado=='w'){
analogWrite (ledjar1, 51);
analogWrite (ledjar2, 51);
analogWrite (ledjar3, 51);
analogWrite (ledjar4, 51);
}
if (estado=='x'){
analogWrite (ledjar1, 153);
analogWrite (ledjar2, 153);
analogWrite (ledjar3, 153);
analogWrite (ledjar4, 153);
}
if (estado=='y'){ //si estado es igual a "y"
analogWrite (ledjar1, 255); //enciende del todo las luces del jadín
analogWrite (ledjar2, 255);
analogWrite (ledjar3, 255);
analogWrite (ledjar4, 255);
}
if (estado=='3'){ //si estado es igual a "3"
float t = dht.readTemperature(); //muestra el valor de la temperatura y humedad de la casa
float h = dht.readHumidity();
Serial.print ("Temperatura: ");
Serial.print (t);
Serial.print ("\ ");
Serial.print ("Humedad: ");
Serial.print(h);
delay(3000);
}
if (estado=='4'){ //si estado es igual a "4"
digitalWrite (ventilador, HIGH); //enciende ventilador
}
if (estado=='5'){ //si estado es igual a "5"
digitalWrite (ventilador, LOW); //apaga ventilador
}
if (estado=='6'){ //si estado es igual a "6"
piralarmaState = digitalRead(piralarma); //estado del pir alarma será igual al valor que lea del sensor
valorldrjar = analogRead(ldrjar); //almaceno en la variable valorldrjar el valor de la ldr
if (piralarmaState==HIGH) { //si hay intrusos
digitalWrite(alarma, HIGH); //activa alarma
delay(500);
if(valorldrjar < 300) { //y si además es de noche
digitalWrite(ledjar1, HIGH); //enciende las luces del jardín
digitalWrite(ledjar2, HIGH);
digitalWrite(ledjar3, HIGH);
digitalWrite(ledjar4, HIGH);
}else { //si no es de noche
digitalWrite (ledjar1, LOW); //no enciendas las luces del jardín
digitalWrite (ledjar2, LOW);
digitalWrite (ledjar3, LOW);
digitalWrite (ledjar4, LOW);
}
}
}
if (estado=='7'){ //si estado es igual a "7"
digitalWrite(alarma, LOW); //desactiva alarma
}
}
Con esto me va todo perfectamente, de igual forma muchas gracias amigo, de entre todos los foros que consulte en este fue el único donde me daban una respuesta guiada, ya que como no se casi nada de programación en C+, se me hacia difícil todo esto.
Si hay alguna forma aquí en el foro de recomendarte o puntuarte por la ayuda házmelo saber