Advertisement
RuiViana

IR PIR

Jul 16th, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. #include <IRremote.h>
  2.  
  3. #define pirPin 2 // Pino para o PIR
  4. #define lamp1Pin 3
  5. #define lamp2Pin 4
  6. #define lamp3Pin 5
  7. #define lamp4Pin 6
  8. #define lamp5Pin 7
  9. #define lamp6Pin 8
  10.  
  11. #define RECV_PIN 11
  12.  
  13. float armazenavalor;
  14.  
  15. IRrecv irrecv(RECV_PIN);
  16.  
  17. decode_results results;
  18. // ----------------------------------- setup -------------------------------
  19. void setup()
  20. {
  21. pinMode(pirPin, INPUT); // Define o Pino PIR com entrada
  22. pinMode(lamp1Pin, OUTPUT); // Define o pino lamp1 como saida
  23. pinMode(lamp2Pin, OUTPUT); // Define o pino lamp2 como saida
  24. pinMode(lamp3Pin, OUTPUT); // Define o pino lamp3 como saida
  25. pinMode(lamp4Pin, OUTPUT); // Define o pino lamp4 como saida
  26. pinMode(lamp5Pin, OUTPUT); // Define o pino lamp5 como saida
  27. pinMode(lamp6Pin, OUTPUT); // Define o pino lamp6 como saida
  28. Serial.begin(9600);
  29. irrecv.enableIRIn(); // Inicializa o receptor IR
  30. }
  31. // ------------------------------------- loop ------------------------------
  32. void loop()
  33. {
  34. int pirVal = digitalRead(pirPin); // Variavel para "ststus"do PIR
  35. if (irrecv.decode(&results))
  36. {
  37. Serial.println(results.value, HEX);
  38. armazenavalor = (results.value);
  39. if (armazenavalor == 0xFF30CF) //Verifica se a tecla 1 foi acionada
  40. digitalWrite(lamp1Pin, HIGH); // Aqui acende a lampada
  41. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  42. {
  43. digitalWrite(lamp1Pin, LOW);
  44. }
  45. irrecv.resume(); //Le o próximo valor
  46. }
  47. if(pirVal == 1) // Se PIR detectou movimento
  48. { // Faça
  49. Serial.println("Motion Detected"); // Msg no LCD
  50. digitalWrite(lamp2Pin, HIGH); // Aqui acende a lampada
  51. irrecv.resume(); //Le o próximo valor
  52. }
  53. Serial.println(results.value, HEX);
  54. armazenavalor = (results.value);
  55. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  56. {
  57. digitalWrite(lamp3Pin, HIGH);
  58. }
  59. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  60. {
  61. digitalWrite(lamp3Pin, LOW);
  62. }
  63. irrecv.resume(); //Le o próximo valor
  64. Serial.println(results.value, HEX);
  65. armazenavalor = (results.value);
  66. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  67. {
  68. digitalWrite(lamp4Pin, HIGH); //Acende lampada
  69. }
  70. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  71. {
  72. digitalWrite(lamp4Pin, LOW); // Apaga lampada
  73. }
  74. irrecv.resume(); //Le o próximo valor
  75. Serial.println(results.value, HEX);
  76. armazenavalor = (results.value);
  77. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  78. {
  79. digitalWrite(lamp5Pin, HIGH); //Acende lampada
  80. }
  81. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  82. {
  83. digitalWrite(lamp5Pin, LOW); // Apaga lampada
  84. }
  85. irrecv.resume(); //Le o próximo valor
  86. Serial.println(results.value, HEX);
  87. armazenavalor = (results.value);
  88. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  89. {
  90. digitalWrite(lamp6Pin, HIGH); //Acende lampada
  91. }
  92. if (armazenavalor == 0xFF18E7) //Verifica se a tecla 2 foi acionada
  93. {
  94. digitalWrite(lamp6Pin, LOW); // Apaga lampada
  95. }
  96. irrecv.resume(); //Le o próximo valor
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement