Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h>
- // TELECOMMANDE IR
- int RECV_PIN = 0; // Définition de la broche Signal du récepteur IR raccordé sur la carte Uno
- IRrecv irrecv (RECV_PIN); // Déclaration du module IR
- decode_results results;
- // AFFICHEUR
- // Constantes : Entrees/Sorties
- const int ledPin_A = 3; // Broche du segmant A
- const int ledPin_B = 4; // Broche du segmant B
- const int ledPin_C = 5; // Broche du segmant C
- const int ledPin_D = 6; // Broche du segmant D
- const int ledPin_E = 7; // Broche du segmant E
- const int ledPin_F = 8; // Broche du segmant F
- const int ledPin_G = 9; // Broche du segmant G
- void setup() {
- Serial.begin (9600); // Démarre la communication série
- // TELECOMMANDE IR
- irrecv.enableIRIn (); // Démarrage du récepteur IR
- // AFFICHEUR
- // initialise les broches LED en sortie
- pinMode(ledPin_A, OUTPUT);
- pinMode(ledPin_B, OUTPUT);
- pinMode(ledPin_C, OUTPUT);
- pinMode(ledPin_D, OUTPUT);
- pinMode(ledPin_E, OUTPUT);
- pinMode(ledPin_F, OUTPUT);
- pinMode(ledPin_G, OUTPUT);
- digitalWrite(ledPin_A, HIGH);
- digitalWrite(ledPin_B, HIGH);
- digitalWrite(ledPin_C, HIGH);
- digitalWrite(ledPin_D, HIGH);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, HIGH);
- }
- void loop() {
- if (irrecv.decode (& results))
- {
- Serial.println (results.value, HEX); // Affichage de la valeur reçue en hexadécimal
- Serial.println (results.value);
- Affiche(Cherche_Touche(results.value));
- delay(500);
- irrecv.resume (); // Réception de la valeur suivante
- }
- }
- int Cherche_Touche(long results){
- int valeur;
- switch (results) {
- case 16730805:
- //Affiche 0
- valeur = 0;
- break;
- case 16738455:
- //Affiche 1
- valeur = 1;
- break;
- case 16750695:
- //Affiche 2
- valeur = 2;
- break;
- case 16756815:
- //Affiche 3
- valeur = 3;
- break;
- case 16724175:
- //Affiche 4
- valeur = 4;
- break;
- case 16718055:
- //Affiche 5
- valeur = 5;
- break;
- case 16743045:
- //Affiche 6
- valeur = 6;
- break;
- case 16716015:
- //Affiche 7
- valeur = 7;
- break;
- case 16726215:
- //Affiche 8
- valeur = 8;
- break;
- case 16734885:
- //Affiche 9
- valeur = 9;
- break;
- default:
- // vient ici si rien n est reconnu
- // affiche 0 et remet a 0 le compteur
- valeur = 10;
- break;
- }
- return(valeur);
- }
- long Affiche(int valeur) {
- switch (valeur) {
- case 0:
- //Affiche 0
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, LOW);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, HIGH);
- break;
- case 1:
- //Affiche 1
- digitalWrite(ledPin_A, HIGH);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, HIGH);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, HIGH);
- break;
- case 2:
- //Affiche 2
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, HIGH);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, LOW);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, LOW);
- break;
- case 3:
- //Affiche 3
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, LOW);
- break;
- case 4:
- //Affiche 4
- digitalWrite(ledPin_A, HIGH);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, HIGH);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, LOW);
- break;
- case 5:
- //Affiche 5
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, HIGH);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, LOW);
- break;
- case 6:
- //Affiche 6
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, HIGH);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, LOW);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, LOW);
- break;
- case 7:
- //Affiche 7
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, HIGH);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, HIGH);
- break;
- case 8:
- //Affiche 8
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, LOW);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, LOW);
- break;
- case 9:
- //Affiche 9
- digitalWrite(ledPin_A, LOW);
- digitalWrite(ledPin_B, LOW);
- digitalWrite(ledPin_C, LOW);
- digitalWrite(ledPin_D, LOW);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, LOW);
- digitalWrite(ledPin_G, LOW);
- break;
- default:
- // vient ici si rien n est reconnu
- // affiche RIEN
- digitalWrite(ledPin_A, HIGH);
- digitalWrite(ledPin_B, HIGH);
- digitalWrite(ledPin_C, HIGH);
- digitalWrite(ledPin_D, HIGH);
- digitalWrite(ledPin_E, HIGH);
- digitalWrite(ledPin_F, HIGH);
- digitalWrite(ledPin_G, HIGH);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement