Advertisement
RuiViana

PIR 6L

Jul 16th, 2015
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.60 KB | None | 0 0
  1. #include <IRremote.h>
  2. #define pirPin 2 // Pino para o PIR
  3. #define lamp1Pin 3 // Define o pino para a lampada 1
  4. #define lamp2Pin 4 // Define o pino para a lampada 2
  5. #define lamp3Pin 5 // Define o pino para a lampada 3
  6. #define lamp4Pin 6 // Define o pino para a lampada 4
  7. #define lamp5Pin 7 // Define o pino para a lampada 5
  8. #define lamp6Pin 8 // Define o pino para a lampada 6
  9.  
  10. int RECV_PIN = 11; // Entrada do sensor de Infra Red Remote Control
  11. float armazenavalor; // Variavel para guardar valor lido do Remote Control
  12. IRrecv irrecv(RECV_PIN); // Função para receber Remote Control
  13. decode_results results; // Decodifica o resultado
  14.  
  15. void setup()
  16. {
  17. pinMode(pirPin, INPUT); // Define o Pino PIR com entrada
  18. pinMode(lamp1Pin,OUTPUT); // Define o pino lamp1Pin como saida
  19. pinMode(lamp2Pin, OUTPUT); // Define o pino lamp2Pin como saída
  20. pinMode(lamp3Pin, OUTPUT); // Define o pino lamp3Pin como saída
  21. pinMode(lamp4Pin, OUTPUT); // Define o pino lamp4Pin como saída
  22. pinMode(lamp5Pin, OUTPUT); // Define o pino lamp5Pin como saída
  23. pinMode(lamp6Pin, OUTPUT); // Define o pino lamp6Pin como saída
  24. Serial.begin(9600); // Inicialisa o monitor serial
  25. irrecv.enableIRIn(); // Inicializa o receptor IR
  26. }
  27. // --------------------------------- loop ----------------------------
  28. void loop()
  29. {
  30. int pirVal = digitalRead(pirPin); // Variavel para "status"do PIR
  31. if (irrecv.decode(&results)) // recebe códigos do RC
  32. {
  33. Serial.println(results.value, HEX); // Imprime valor recebido na serial
  34. armazenavalor = (results.value); // Salva este valor em armazena valor
  35.  
  36. // ----------------------------- lamp1--------------------------------
  37. if (armazenavalor == 0x90108) // verifica se a tecla 12 foi acionada
  38. {
  39. digitalWrite(lamp1Pin,HIGH); // Acende lampada 1
  40. }
  41. if (armazenavalor == 0x88108) // verifica se a tecla 11 foi acionada
  42. {
  43. digitalWrite(lamp2Pin, LOW); // Apaga lampada 1
  44. }
  45. // ----------------------------- lamp2 --------------------------------
  46. if (armazenavalor == 0xD210C) // verifica se a tecla 10 foi acionada
  47. {
  48. digitalWrite(lamp2Pin, HIGH); // Acende lampada 2
  49. }
  50. if (armazenavalor == 0x48108) //verifica se a tecla 9 foi acionada
  51. {
  52. digitalWrite(lamp2Pin, LOW); // Apaga lampada 2
  53. }
  54. // ----------------------------- lamp3 --------------------------------
  55. if (armazenavalor == 0xE0108) // Verifica se a tecla 8 foi acionada
  56. {
  57. digitalWrite(lamp3Pin, HIGH); // Acende lampada 3
  58. }
  59. if (armazenavalor == 0x10108) // Verifica se a tecla 7 foi acionada
  60. {
  61. digitalWrite(lamp3Pin, LOW); // Apaga lampada 3
  62. }
  63. // ---------------------------- lamp4 --------------------------------
  64. if (armazenavalor == 0xa0108) // Verifica se a tecla 5 foi acionada
  65. {
  66. digitalWrite(lamp4Pin, HIGH); // Acende lampada 4
  67. }
  68. if (armazenavalor == 0x60108) // Verifica se a tecla 6 foi acionada
  69. {
  70. digitalWrite(lamp4Pin, LOW); // Apaga lampada 4
  71. }
  72. // ----------------------------- lamp5 --------------------------------
  73. if (armazenavalor == 0xC0108) // Verifica se a tecla 3 foi acionada
  74. {
  75. digitalWrite(lamp5Pin, HIGH); // Acende lampada 5
  76. }
  77. if (armazenavalor == 0x20108) // Verifica se a tecla 4 foi acionada
  78. {
  79. digitalWrite(lamp5Pin, LOW); // Apaga lampada 5
  80. }
  81. // ----------------------------- lamp6 --------------------------------
  82. if (armazenavalor == 0x80108) // Verifica se a tecla 1 foi acionada
  83. {
  84. digitalWrite(lamp6Pin, HIGH); // Acende lampada 6
  85. }
  86. if (armazenavalor == 0x40108) // Verifica se a tecla 2 foi acionada
  87. {
  88. digitalWrite(lamp6Pin, LOW); // Apaga lampada 6
  89. }
  90. // --------------------------------------------------------------------------------
  91. irrecv.resume(); //Le o próximo valor // le proximo valor do RC
  92. }
  93. if(pirVal == 1) // Se PIR detectou movimento
  94. { // Faça
  95. Serial.println("Motion Detected"); // Msg no serial
  96. digitalWrite(lamp2Pin, HIGH); // Aqui acende a lampada
  97. }
  98. else // Se PIR detectou movimento
  99. digitalWrite(lamp2Pin, LOW); // Aqui acende a lampada
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement