Advertisement
munther_abdellatif

arduino home control

May 22nd, 2020
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.99 KB | None | 0 0
  1. // library
  2. #include <IRremote.h>
  3. #include <Servo.h>
  4. Servo motor;
  5. // bin out
  6. byte PIR=6,lamp=5,LED=3;
  7. IRrecv recv(2);
  8. // ather
  9. decode_results res;
  10. bool lampStatus=0,lampStatus2=0;
  11. bool motorStatus=0,motorStatus2=0;
  12. bool sensorStatus=0;
  13. byte lampLight=0;
  14. void setup()
  15. {
  16.   // settings
  17.   pinMode(LED, OUTPUT);
  18.   pinMode(lamp, OUTPUT);
  19.   pinMode(PIR, INPUT);
  20.   motor.attach(4);
  21.   Serial.begin(9600);
  22.   recv.enableIRIn();
  23.   // initial condition
  24.   digitalWrite(LED,1);
  25.   digitalWrite(lamp,0);
  26.   motor.write(0);
  27. }
  28.  
  29. void loop()
  30. {
  31.   // read sensors
  32.   if (sensorStatus==0){
  33.     //photoresistor
  34.     if (analogRead(A1)>600 && motorStatus==0){
  35.       motorStatus=1;
  36.       motor.write(motorStatus*90);}
  37.     else if (analogRead(A1)<340 && motorStatus==1){
  38.       motorStatus=0;
  39.       motor.write(motorStatus*90);}
  40.    
  41.     //PIR
  42.     if (digitalRead(PIR)==1 && lampStatus==0){
  43.       lampStatus=1;
  44.       digitalWrite(lamp,lampStatus); }
  45.     else if (digitalRead(PIR)==0 && lampStatus==1){
  46.       lampStatus=0;
  47.       digitalWrite(lamp,lampStatus); }
  48.    }
  49.   // read IR
  50.   if (recv.decode(&res)){
  51.     Serial.println(res.value,HEX);
  52.    
  53.     // lamp
  54.     if (res.value==0xFDA05F){
  55.       lampStatus2=!lampStatus2;
  56.       lampLight=lampStatus2*254;
  57.       digitalWrite(lamp,lampStatus2);}
  58.     // lamp light ++
  59.         if (res.value==0xFD609F && lampLight<250){
  60.         lampLight=lampLight+25;
  61.         analogWrite(lamp,lampLight);}
  62.     // lamp light --
  63.         if (res.value==0xFD20DF && lampLight>25){
  64.         lampLight=lampLight-25;
  65.         analogWrite(lamp,lampLight);}
  66.     // motor
  67.     if (res.value==0xFD906F){
  68.       motorStatus2=!motorStatus2;
  69.       motor.write(motorStatus2*90);}
  70.     // sensor on/off
  71.         if (res.value==0xFD00FF){
  72.       sensorStatus=!sensorStatus;
  73.           if (sensorStatus==0){Serial.println("sensors on");
  74.            digitalWrite(LED,1); }
  75.           else {Serial.println("sensors off");
  76.            digitalWrite(LED,0);}
  77.         }
  78.     recv.resume();delay(100);}
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement