Casa Domòtica

int ledPati = 2; //led del patio
int ldrPati = A0; //sensor ldr del pati
int ledSala = 3; //led de la sala d'estar
int ledHabitacio1 = 4; //led de la habitació amb balcó
int ledHabitacio2 =6 ; //led de la habitació amb la finestra gran
int estado = 0; // estat del modul bluetooh
int trigPin = 9; // sensor ultrasònic
int echoPin = 10; // sensor ultrasònic 
int alarma = 11; //alarma que provoca un soroll agut
int ledAlarma = 13; //led que s'encen en cas que s'activi l'alarma
 //servo motor que acciona el garatge
#include <SoftwareSerial.h> // incluir entrada i sortida per el bluetooth

#include <Servo.h> //incluir servo 
Servo myservo; // servo name

int bluetoothTx = 0; // bluetooth tx al 0 pin
int bluetoothRx = 1; // bluetooth rx al 1 pin

SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);


// variables
long duration;
int distance;
int safetyDistance;
int pos = 0;



void setup() {

Serial.begin (9600) ;   
pinMode(ledPati, OUTPUT) ; //sortida de la led del pati
pinMode(ldrPati, INPUT) ;  // lectura de la lluminositat del pati
pinMode(ledSala, OUTPUT) ; //sortida de la sala d'estar
pinMode(ledHabitacio1, OUTPUT) ; //sortida de la led habitació petita
pinMode(ledHabitacio2, OUTPUT) ; //sortida de la led habitació gran
pinMode(trigPin, OUTPUT); //sortida del modul bluetooh
pinMode(echoPin, INPUT); //entrada del modul
pinMode(alarma, OUTPUT); //sortida de l'alarma
pinMode(ledAlarma, OUTPUT); //sortida de la led de l'alarma

 myservo.attach(12); // sortida servomotor al pin 9
 
  //Connexió del bluetooh amb l'android
  bluetooth.begin(9600);


}




void loop() {

int ldrNivell = analogRead(ldrPati) ; //pati
if (ldrNivell <=120){
  digitalWrite(ledPati, HIGH) ;
  Serial.println("A la nit no hi ha llum, LED encesa") ;
}
else{
  digitalWrite(ledPati, LOW) ;
  Serial.println("Durant el dia hi ha llum, LED apagada");
}

 if(Serial.available()>0){ //sala d'estar
 estado = Serial.read();
 }
 if (estado =='1'){
   digitalWrite(ledSala,HIGH);
  }
if(estado=='2'){
   digitalWrite(ledSala,LOW);
  }

 if(Serial.available()>0){ //habitació1, habitació amb balcó
 estado = Serial.read();
 }
 if (estado =='3'){
   digitalWrite(ledHabitacio1,HIGH);
  }
if(estado=='4'){
   digitalWrite(ledHabitacio1,LOW);
  }
 if(Serial.available()>0){  //habitació2,habitació gran
 estado = Serial.read();
 }
 if (estado =='5'){
   digitalWrite(ledHabitacio2,HIGH);
  }
if(estado=='6'){
   digitalWrite(ledHabitacio2,LOW);
  }

{
// Esborra el trigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

// Estableix el trigPin en estat high per a 10 microsegons
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

//Llegeix l'echoPin, retorna el temps de desplaçament de l'ona sonora en microsegons
duration = pulseIn(echoPin, HIGH);

// Calcular la distancia


distance= duration*0.034/2;

if(Serial.available()>0){ 
 estado = Serial.read();
}
safetyDistance = distance;

 if (estado =='7'){
if (safetyDistance <= 5){
  digitalWrite(alarma, HIGH);
  digitalWrite(ledAlarma, HIGH);
  
}
 

  

 }
else{
  digitalWrite(alarma, LOW);
  digitalWrite(ledAlarma, LOW);
}
}
if (estado =='8') {
  
  digitalWrite(alarma,LOW) ;
  digitalWrite(ledAlarma,LOW) ;
}


// Posar la distancia en el Serial Monitor
Serial.print("Distance: ");
Serial.println(distance);

{
  //LLegir el numero bluetooh i escriure la senyal
  if(bluetooth.available()> 0 ) // rebre el numero del bluetooh
  {
    int servopos = bluetooth.read(); // guardar el nombre
    Serial.println(servopos); // serial print rebut pel bluetooh
    myservo.write(servopos); // rotar el servo a l'angle demanat per l'app
  }
}
}

MOved as this is no tutorial