Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // library
- #include <IRremote.h>
- #include <Servo.h>
- Servo motor;
- // bin out
- byte PIR=6,lamp=5,LED=3;
- IRrecv recv(2);
- // ather
- decode_results res;
- bool lampStatus=0,lampStatus2=0;
- bool motorStatus=0,motorStatus2=0;
- bool sensorStatus=0;
- byte lampLight=0;
- void setup()
- {
- // settings
- pinMode(LED, OUTPUT);
- pinMode(lamp, OUTPUT);
- pinMode(PIR, INPUT);
- motor.attach(4);
- Serial.begin(9600);
- recv.enableIRIn();
- // initial condition
- digitalWrite(LED,1);
- digitalWrite(lamp,0);
- motor.write(0);
- }
- void loop()
- {
- // read sensors
- if (sensorStatus==0){
- //photoresistor
- if (analogRead(A1)>600 && motorStatus==0){
- motorStatus=1;
- motor.write(motorStatus*90);}
- else if (analogRead(A1)<340 && motorStatus==1){
- motorStatus=0;
- motor.write(motorStatus*90);}
- //PIR
- if (digitalRead(PIR)==1 && lampStatus==0){
- lampStatus=1;
- digitalWrite(lamp,lampStatus); }
- else if (digitalRead(PIR)==0 && lampStatus==1){
- lampStatus=0;
- digitalWrite(lamp,lampStatus); }
- }
- // read IR
- if (recv.decode(&res)){
- Serial.println(res.value,HEX);
- // lamp
- if (res.value==0xFDA05F){
- lampStatus2=!lampStatus2;
- lampLight=lampStatus2*254;
- digitalWrite(lamp,lampStatus2);}
- // lamp light ++
- if (res.value==0xFD609F && lampLight<250){
- lampLight=lampLight+25;
- analogWrite(lamp,lampLight);}
- // lamp light --
- if (res.value==0xFD20DF && lampLight>25){
- lampLight=lampLight-25;
- analogWrite(lamp,lampLight);}
- // motor
- if (res.value==0xFD906F){
- motorStatus2=!motorStatus2;
- motor.write(motorStatus2*90);}
- // sensor on/off
- if (res.value==0xFD00FF){
- sensorStatus=!sensorStatus;
- if (sensorStatus==0){Serial.println("sensors on");
- digitalWrite(LED,1); }
- else {Serial.println("sensors off");
- digitalWrite(LED,0);}
- }
- recv.resume();delay(100);}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement