Advertisement
RuiViana

6Lampadas e PIR

Jul 16th, 2015
316
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.57 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 saída
  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 armazenavalor
  35. // ----------------------------- lamp1 --------------------------------
  36. if (armazenavalor == 0x90108) // Verifica se a tecla 11 foi acionada
  37. {
  38. digitalWrite(lamp1Pin, HIGH); // Acende lampada 1
  39. }
  40. if (armazenavalor == 0x80108) // Verifica se a tecla 12 foi acionada
  41. {
  42. digitalWrite(lamp1Pin, LOW); // Apaga lampda 1
  43. }
  44. // ----------------------------- lamp2 --------------------------------
  45. if (armazenavalor == 0xD0108) // Verifica se a tecla 9 foi acionada
  46. {
  47. digitalWrite(lamp2Pin, HIGH); // Acende lampada 2
  48. }
  49. if (armazenavalor == 0x40108) // Verifica se a tecla 10 foi acionada
  50. {
  51. digitalWrite(lamp2Pin, LOW); // Apaga lampda 2
  52. }
  53. // ----------------------------- lamp3 --------------------------------
  54. if (armazenavalor == 0xE0108) // Verifica se a tecla 7 foi acionada
  55. {
  56. digitalWrite(lamp3Pin, HIGH); // Acende lampada 3
  57. }
  58. if (armazenavalor == 0x10108) // Verifica se a tecla 8 foi acionada
  59. {
  60. digitalWrite(lamp3Pin, LOW); // Apaga lampda 3
  61. }
  62. // ----------------------------- lamp4 --------------------------------
  63. if (armazenavalor == 0xA0108) // Verifica se a tecla 5 foi acionada
  64. {
  65. digitalWrite(lamp4Pin, HIGH); // Acende lampada 4
  66. }
  67. if (armazenavalor == 0x60108) // Verifica se a tecla 6 foi acionada
  68. {
  69. digitalWrite(lamp4Pin, LOW); // Apaga lampda 4
  70. }
  71. // ----------------------------- lamp5 --------------------------------
  72. if (armazenavalor == 0xC0108) // Verifica se a tecla 3 foi acionada
  73. {
  74. digitalWrite(lamp5Pin, HIGH); // Acende lampada 5
  75. }
  76. if (armazenavalor == 0x20108) // Verifica se a tecla 4 foi acionada
  77. {
  78. digitalWrite(lamp5Pin, LOW); // Apaga lampda 5
  79. }
  80. // ----------------------------- lamp6 --------------------------------
  81. if (armazenavalor == 0x80108) // Verifica se a tecla 1 foi acionada
  82. {
  83. digitalWrite(lamp6Pin, HIGH); // Acende lampada 6
  84. }
  85. if (armazenavalor == 0x40108) // Verifica se a tecla 2 foi acionada
  86. {
  87. digitalWrite(lamp6Pin, LOW); // Apaga lampda 6
  88. }
  89. // --------------------------------------------------------------------------------
  90. irrecv.resume(); //Le o próximo valor // le proximo valor do RC
  91. }
  92. if(pirVal == 1) // Se PIR detectou movimento
  93. { // Faça
  94. Serial.println("Motion Detected"); // Msg no serial
  95. digitalWrite(lamp2Pin, HIGH); // Aqui acende a lampada
  96. }
  97. else // Se PIR detectou movimento
  98. digitalWrite(lamp2Pin, LOW); // Aqui acende a lampada
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement