Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.72 KB | None | 0 0
  1. #include <IRremote.h>
  2.  
  3. // TELECOMMANDE IR
  4. int RECV_PIN = 0; // Définition de la broche Signal du récepteur IR raccordé sur la carte Uno
  5. IRrecv irrecv (RECV_PIN); // Déclaration du module IR
  6. decode_results results;
  7.  
  8. // AFFICHEUR
  9. // Constantes : Entrees/Sorties
  10. const int ledPin_A = 3; // Broche du segmant A
  11. const int ledPin_B = 4; // Broche du segmant B
  12. const int ledPin_C = 5; // Broche du segmant C
  13. const int ledPin_D = 6; // Broche du segmant D
  14. const int ledPin_E = 7; // Broche du segmant E
  15. const int ledPin_F = 8; // Broche du segmant F
  16. const int ledPin_G = 9; // Broche du segmant G
  17.  
  18.  
  19. void setup() {
  20.  
  21. Serial.begin (9600); // Démarre la communication série
  22.  
  23. // TELECOMMANDE IR
  24. irrecv.enableIRIn (); // Démarrage du récepteur IR
  25.  
  26. // AFFICHEUR
  27. // initialise les broches LED en sortie
  28. pinMode(ledPin_A, OUTPUT);
  29. pinMode(ledPin_B, OUTPUT);
  30. pinMode(ledPin_C, OUTPUT);
  31. pinMode(ledPin_D, OUTPUT);
  32. pinMode(ledPin_E, OUTPUT);
  33. pinMode(ledPin_F, OUTPUT);
  34. pinMode(ledPin_G, OUTPUT);
  35.  
  36. digitalWrite(ledPin_A, HIGH);
  37. digitalWrite(ledPin_B, HIGH);
  38. digitalWrite(ledPin_C, HIGH);
  39. digitalWrite(ledPin_D, HIGH);
  40. digitalWrite(ledPin_E, HIGH);
  41. digitalWrite(ledPin_F, HIGH);
  42. digitalWrite(ledPin_G, HIGH);
  43.  
  44. }
  45.  
  46. void loop() {
  47.  
  48. if (irrecv.decode (& results))
  49. {
  50. Serial.println (results.value, HEX); // Affichage de la valeur reçue en hexadécimal
  51. Serial.println (results.value);
  52. Affiche(Cherche_Touche(results.value));
  53. delay(500);
  54. irrecv.resume (); // Réception de la valeur suivante
  55. }
  56. }
  57.  
  58.  
  59. int Cherche_Touche(long results){
  60.  
  61. int valeur;
  62.  
  63. switch (results) {
  64.  
  65. case 16730805:
  66. //Affiche 0
  67. valeur = 0;
  68. break;
  69. case 16738455:
  70. //Affiche 1
  71. valeur = 1;
  72. break;
  73. case 16750695:
  74. //Affiche 2
  75. valeur = 2;
  76. break;
  77. case 16756815:
  78. //Affiche 3
  79. valeur = 3;
  80. break;
  81. case 16724175:
  82. //Affiche 4
  83. valeur = 4;
  84. break;
  85. case 16718055:
  86. //Affiche 5
  87. valeur = 5;
  88. break;
  89. case 16743045:
  90. //Affiche 6
  91. valeur = 6;
  92. break;
  93. case 16716015:
  94. //Affiche 7
  95. valeur = 7;
  96. break;
  97. case 16726215:
  98. //Affiche 8
  99. valeur = 8;
  100. break;
  101. case 16734885:
  102. //Affiche 9
  103. valeur = 9;
  104. break;
  105. default:
  106. // vient ici si rien n est reconnu
  107. // affiche 0 et remet a 0 le compteur
  108. valeur = 10;
  109. break;
  110. }
  111. return(valeur);
  112. }
  113.  
  114.  
  115. long Affiche(int valeur) {
  116.  
  117. switch (valeur) {
  118.  
  119. case 0:
  120. //Affiche 0
  121. digitalWrite(ledPin_A, LOW);
  122. digitalWrite(ledPin_B, LOW);
  123. digitalWrite(ledPin_C, LOW);
  124. digitalWrite(ledPin_D, LOW);
  125. digitalWrite(ledPin_E, LOW);
  126. digitalWrite(ledPin_F, LOW);
  127. digitalWrite(ledPin_G, HIGH);
  128. break;
  129. case 1:
  130. //Affiche 1
  131. digitalWrite(ledPin_A, HIGH);
  132. digitalWrite(ledPin_B, LOW);
  133. digitalWrite(ledPin_C, LOW);
  134. digitalWrite(ledPin_D, HIGH);
  135. digitalWrite(ledPin_E, HIGH);
  136. digitalWrite(ledPin_F, HIGH);
  137. digitalWrite(ledPin_G, HIGH);
  138. break;
  139. case 2:
  140. //Affiche 2
  141. digitalWrite(ledPin_A, LOW);
  142. digitalWrite(ledPin_B, LOW);
  143. digitalWrite(ledPin_C, HIGH);
  144. digitalWrite(ledPin_D, LOW);
  145. digitalWrite(ledPin_E, LOW);
  146. digitalWrite(ledPin_F, HIGH);
  147. digitalWrite(ledPin_G, LOW);
  148. break;
  149. case 3:
  150. //Affiche 3
  151. digitalWrite(ledPin_A, LOW);
  152. digitalWrite(ledPin_B, LOW);
  153. digitalWrite(ledPin_C, LOW);
  154. digitalWrite(ledPin_D, LOW);
  155. digitalWrite(ledPin_E, HIGH);
  156. digitalWrite(ledPin_F, HIGH);
  157. digitalWrite(ledPin_G, LOW);
  158. break;
  159. case 4:
  160. //Affiche 4
  161. digitalWrite(ledPin_A, HIGH);
  162. digitalWrite(ledPin_B, LOW);
  163. digitalWrite(ledPin_C, LOW);
  164. digitalWrite(ledPin_D, HIGH);
  165. digitalWrite(ledPin_E, HIGH);
  166. digitalWrite(ledPin_F, LOW);
  167. digitalWrite(ledPin_G, LOW);
  168. break;
  169. case 5:
  170. //Affiche 5
  171. digitalWrite(ledPin_A, LOW);
  172. digitalWrite(ledPin_B, HIGH);
  173. digitalWrite(ledPin_C, LOW);
  174. digitalWrite(ledPin_D, LOW);
  175. digitalWrite(ledPin_E, HIGH);
  176. digitalWrite(ledPin_F, LOW);
  177. digitalWrite(ledPin_G, LOW);
  178. break;
  179. case 6:
  180. //Affiche 6
  181. digitalWrite(ledPin_A, LOW);
  182. digitalWrite(ledPin_B, HIGH);
  183. digitalWrite(ledPin_C, LOW);
  184. digitalWrite(ledPin_D, LOW);
  185. digitalWrite(ledPin_E, LOW);
  186. digitalWrite(ledPin_F, LOW);
  187. digitalWrite(ledPin_G, LOW);
  188. break;
  189. case 7:
  190. //Affiche 7
  191. digitalWrite(ledPin_A, LOW);
  192. digitalWrite(ledPin_B, LOW);
  193. digitalWrite(ledPin_C, LOW);
  194. digitalWrite(ledPin_D, HIGH);
  195. digitalWrite(ledPin_E, HIGH);
  196. digitalWrite(ledPin_F, HIGH);
  197. digitalWrite(ledPin_G, HIGH);
  198. break;
  199. case 8:
  200. //Affiche 8
  201. digitalWrite(ledPin_A, LOW);
  202. digitalWrite(ledPin_B, LOW);
  203. digitalWrite(ledPin_C, LOW);
  204. digitalWrite(ledPin_D, LOW);
  205. digitalWrite(ledPin_E, LOW);
  206. digitalWrite(ledPin_F, LOW);
  207. digitalWrite(ledPin_G, LOW);
  208. break;
  209. case 9:
  210. //Affiche 9
  211. digitalWrite(ledPin_A, LOW);
  212. digitalWrite(ledPin_B, LOW);
  213. digitalWrite(ledPin_C, LOW);
  214. digitalWrite(ledPin_D, LOW);
  215. digitalWrite(ledPin_E, HIGH);
  216. digitalWrite(ledPin_F, LOW);
  217. digitalWrite(ledPin_G, LOW);
  218. break;
  219. default:
  220. // vient ici si rien n est reconnu
  221. // affiche RIEN
  222. digitalWrite(ledPin_A, HIGH);
  223. digitalWrite(ledPin_B, HIGH);
  224. digitalWrite(ledPin_C, HIGH);
  225. digitalWrite(ledPin_D, HIGH);
  226. digitalWrite(ledPin_E, HIGH);
  227. digitalWrite(ledPin_F, HIGH);
  228. digitalWrite(ledPin_G, HIGH);
  229. break;
  230. }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement