Advertisement
Guest User

totale

a guest
Apr 17th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.92 KB | None | 0 0
  1. #include <IRremote.h> // use the library
  2. int receiver = 13; // pin 11 of IR receiver to Arduino digital pin 11
  3. int DRL = 2; // pin 2 come uscita LED DRL
  4. int POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO = 3; // pin 3 come uscita LED POSIZIONE_TARGA_TACO_RADIO_PULSANTI
  5. int ANABBAGLIANTI = 4; // pin 4 come uscita LED ANABBAGLIANTI ANT.
  6. int FRECCIE_SX = 5; // pin 5 come uscita LED FRECCIE SX
  7. int FENDINEBBIA = 6; // pin 6 come uscita LED FENDINEBBIA
  8. int FRECCIE_DX = 7; // pin 7 come uscita LED FRECCIE DX
  9. int PIEDI = 8; // pin 8 come uscita LED PIEDI
  10. int CIELO = 9; // pin 9 come uscita LED CIELO
  11. int PORTIERE = 14; // pin 12 come uscita LED STRISCE
  12. int itsONled[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // aggiungere tanti zeri quanti sono i case + un ulteriore zero ( in questo caso 20 case -> 20 zeri dell'array + 0 = 21 zeri)
  13.  
  14. #define code1_DRL 0xFF30CF // code received from button 1 con 1° valore
  15. #define code2_POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO 0xFF18E7 // code received from button 2 con 1° valore
  16. #define code3_ANABBAGLIANTI 0xFF7A85 // code received from button 3 con 1° valore
  17. #define code4_FRECCIE_SX 0xFF10EF // code received from button 4 con 1° valore
  18. #define code5_FENDINEBBIA 0xFF38C7 // code received from button 5 con 1° valore
  19. #define code6_FRECCIE_DX 0xFF5AA5 // code received from button 6 con 1° valore
  20. #define code7_PIEDI 0xFF42BD // code received from button 7 con 1° valore
  21. #define code8_CIELO 0xFF4AB5 // code received from button 8 con 1° valore
  22. #define code9_PORTIERE 0xFF52AD // code received from button 9 con 1° valore
  23. #define code10_FRECCIE_SX_DX 0xFF6897 // code received from button 0 con 1° valore
  24. #define code11_APERTURA_CHIUSURA_PORTIERE 0xFF629D // DEFINIRE TASTO SUONO PORTIERE
  25. #define code12_AVVIO_MOTORE 0xFFA25D // DEFINIRE TASTO SUONO PORTIERE
  26.  
  27. IRrecv irrecv(receiver); // create instance of 'irrecv'
  28. decode_results results;
  29.  
  30. //DA QUì AUDIO PER MOTORE E BLOCCO PORTIERE
  31.  
  32. #include "Arduino.h"
  33. #include "SoftwareSerial.h"
  34. #include "DFRobotDFPlayerMini.h"
  35. SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
  36. DFRobotDFPlayerMini myDFPlayer;
  37. void printDetail(uint8_t type, int value);
  38. int Volume;
  39. int Vol;
  40. //
  41.  
  42. void setup()
  43. {
  44. Serial.begin(9600); // for serial monitor output
  45. irrecv.enableIRIn(); // Start the receiver
  46. pinMode(2, OUTPUT); // Pin 2 output
  47. pinMode(3, OUTPUT); // Pin 3 output
  48. pinMode(4, OUTPUT); // Pin 4 output
  49. pinMode(5, OUTPUT); // Pin 5 output
  50. pinMode(6, OUTPUT); // Pin 6 output
  51. pinMode(7, OUTPUT); // Pin 7 output
  52. pinMode(8, OUTPUT); // Pin 8 output
  53. pinMode(9, OUTPUT); // Pin 9 output
  54. pinMode(14, OUTPUT); // Pin 12 output
  55.  
  56. //DA QUì PER SUONO PORTIERE
  57. // myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
  58. myDFPlayer.EQ(DFPLAYER_EQ_BASS);
  59. // myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
  60.  
  61. myDFPlayer.volume(28);
  62. Serial.println(Vol);
  63. }
  64.  
  65. void loop() {
  66. if (irrecv.decode(&results)) {
  67. {
  68. Serial.println(results.value, HEX); // mostrami il codice in esadecimale sul monitor seriale
  69. irrecv.resume();// receive the next value
  70. }
  71. unsigned long value = results.value;
  72. switch (value) {
  73. case code1_DRL:
  74. if (itsONled[1] == 1) { // se il primo led è acceso
  75. digitalWrite(DRL, LOW); // spengo quando premo il pulsante
  76. itsONled[1] = 0; // e lo stato va a spento
  77. } else { // se il primo led è spento
  78. digitalWrite(DRL, HIGH); // accendo quando premo il pulsante
  79. itsONled[1] = 1; // e lo stato passa ad acceso
  80. }
  81. break;
  82. case code2_POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO:
  83. if (itsONled[2] == 1) { // se il primo led è acceso
  84. digitalWrite(POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO, LOW); // spengo quando premo il pulsante
  85. itsONled[2] = 0; // e lo stato va a spento
  86. } else { // se il primo led è spento
  87. digitalWrite(POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO, HIGH); // accendo quando premo il pulsante
  88. itsONled[2] = 1; // e lo stato passa ad acceso
  89. }
  90. break;
  91. case code3_ANABBAGLIANTI:
  92. if (itsONled[3] == 1) { // se il primo led è acceso
  93. digitalWrite(ANABBAGLIANTI, LOW); // spengo quando premo il pulsante
  94. itsONled[3] = 0; // e lo stato va a spento
  95. } else { // se il primo led è spento
  96. digitalWrite(ANABBAGLIANTI, HIGH); // accendo quando premo il pulsante
  97. itsONled[3] = 1; // e lo stato passa ad acceso
  98. }
  99. break;
  100. case code4_FRECCIE_SX:
  101. if (itsONled[4] == 1) { // se il primo led è acceso
  102. digitalWrite(FRECCIE_SX, LOW); //lampeggia
  103. itsONled[4] = 0; // e lo stato va a spento
  104. } else { // se il primo led è spento
  105. digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
  106. delay(350);
  107. digitalWrite(FRECCIE_SX, LOW); //lampeggia
  108. delay(350);
  109. itsONled[4] = 1; // e lo stato passa ad acceso
  110. }
  111. break;
  112. case code5_FENDINEBBIA:
  113. if (itsONled[5] == 1) { // se il primo led è acceso
  114. digitalWrite(FENDINEBBIA, LOW); // spengo quando premo il pulsante
  115. itsONled[5] = 0; // e lo stato va a spento
  116. } else { // se il primo led è spento
  117. digitalWrite(FENDINEBBIA, HIGH); // accendo quando premo il pulsante
  118. itsONled[5] = 1; // e lo stato passa ad acceso
  119. }
  120. break;
  121. case code6_FRECCIE_DX:
  122. if (itsONled[6] == 1) { // se il primo led è acceso
  123. digitalWrite(FRECCIE_DX, LOW); // spengo quando premo il pulsante
  124. itsONled[6] = 0; // e lo stato va a spento
  125. } else { // se il primo led è spento
  126. digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
  127. delay(350);
  128. digitalWrite(FRECCIE_DX, LOW); //lampeggia
  129. delay(350);
  130. itsONled[6] = 1; // e lo stato passa ad acceso
  131. }
  132. break;
  133. case code7_PIEDI:
  134. if (itsONled[7] == 1) { // se il primo led è acceso
  135. digitalWrite(PIEDI, LOW); // spengo quando premo il pulsante
  136. itsONled[7] = 0; // e lo stato va a spento
  137. } else { // se il primo led è spento
  138. digitalWrite(PIEDI, HIGH); // accendo quando premo il pulsante
  139. itsONled[7] = 1; // e lo stato passa ad acceso
  140. }
  141. break;
  142. case code8_CIELO:
  143. if (itsONled[8] == 1) { // se il primo led è acceso
  144. digitalWrite(CIELO, LOW); // spengo quando premo il pulsante
  145. itsONled[8] = 0; // e lo stato va a spento
  146. } else { // se il primo led è spento
  147. digitalWrite(CIELO, HIGH); // accendo quando premo il pulsante
  148. itsONled[8] = 1; // e lo stato passa ad acceso
  149. }
  150. break;
  151. case code9_PORTIERE:
  152. if (itsONled[9] == 1) { // se il primo led è acceso
  153. digitalWrite(PORTIERE, LOW); // spengo quando premo il pulsante
  154. itsONled[9] = 0; // e lo stato va a spento
  155. } else { // se il primo led è spento
  156. digitalWrite(PORTIERE, HIGH); // accendo quando premo il pulsante
  157. itsONled[9] = 1; // e lo stato passa ad acceso
  158. }
  159. break;
  160. case code10_FRECCIE_SX_DX:
  161. if (itsONled[10] == 1) { // se il primo led è acceso
  162. digitalWrite(FRECCIE_SX, LOW); // spengo quando premo il pulsante
  163. digitalWrite(FRECCIE_DX, LOW); // spengo quando premo il pulsante
  164. itsONled[10] = 0; // e lo stato va a spento
  165. } else { // se il primo led è spento
  166. digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
  167. digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
  168. delay(350);
  169. digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
  170. digitalWrite(FRECCIE_DX, LOW);
  171. delay(350);
  172. itsONled[10] = 1; // e lo stato passa ad acceso
  173. }
  174. break;
  175. case code11_APERTURA_CHIUSURA_PORTIERE:
  176. if (itsONled[11] == 1) { // se il primo led è acceso
  177. myDFPlayer.play(2); //Play the first mp3
  178. digitalWrite(FRECCIE_SX, HIGH); // spengo quando premo il pulsante
  179. digitalWrite(FRECCIE_DX, HIGH); // spengo quando premo il pulsante
  180. delay(350);
  181. digitalWrite(FRECCIE_SX, LOW); // spengo quando premo il pulsante
  182. digitalWrite(FRECCIE_DX, LOW);
  183. itsONled[11] = 0; // e lo stato va a spento
  184. } else { // se il primo led è spento
  185.  
  186. myDFPlayer.play(1); //Play the first mp3
  187. digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
  188. digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
  189. delay(250);
  190. digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
  191. digitalWrite(FRECCIE_DX, LOW);
  192. delay(250);
  193. digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
  194. digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
  195. delay(250);
  196. digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
  197. digitalWrite(FRECCIE_DX, LOW);
  198. itsONled[11] = 1; // e lo stato passa ad acceso
  199. }
  200. break;
  201. case code12_AVVIO_MOTORE:
  202. myDFPlayer.play(3); //Play the first mp3
  203. break;
  204. }
  205. }
  206. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement