Sommaire |
Ce programme réalise un affichage d'un compteur binaire sur 8 LEDs. Chaque LED visualise directement l'état d'un bit de l'octet utilisé pour le comptage. On peut le faire manuellement ou automatiquement en utilisant un interrupteur, pour passer d'un mode à l'autre.
const int BP = 11; const int LED[8]={3,4,5,6,7,8,9,10}; // déclare un tableau de 8 constantes de broches // la broche 2 correspond au bit de poids faible (index 0 du tableau) // la broche 9 correspond au bit de poids fort (index 8 du tableau) // --- Déclaration des variables globales --- int compteur=0; //variable de comptage int buttonState = 1; int lastButtonState = 1; int var = 1; //**************** FONCTION SETUP = Code d'initialisation ***** // La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme void setup() { // debut de la fonction setup() // --- ici instructions à exécuter au démarrage --- pinMode (BP, INPUT); // ------- Broches en sortie ------- // met les 8 broches en sortie for (int i=0; i<=7; i++) { pinMode(LED[i], OUTPUT); //met la broche en sortie } attachInterrupt(0, Reagir, RISING); } void Reagir() { var = !var; } void loop() { while (var==HIGH) { buttonState = digitalRead (BP); if (buttonState != lastButtonState) { if (buttonState == 0 ) { compteur++; if (compteur>=256) compteur=0; } for (int i=0; i<=7; i++) { digitalWrite(LED[i],bitRead(compteur,i)); } lastButtonState = buttonState; } } while (var == LOW ) { for (int i=0; i<=7; i++) { // boucle de défilement des 8 bits / broches // met la broche LED[i] dans l'état du bit de rang i de la variable compteur digitalWrite(LED[i],bitRead(compteur,i)); } compteur=compteur+1; //incrémente i if (compteur>=256) compteur=0; // RAZ variable compteur 255 ==> 0 delay (250); // pause fixant la vitesse du comptage } }
chercher ici : http://wikidebrouillard.org/index.php/Catégorie:Arduino
quelles peuvent être les applications technologique de ce montage, ou est-ce qu'on retrouve des programme qui y ressemble ?
© Graphisme : Les Petits Débrouillards Grand Ouest (Patrice Guinche - Jessica Romero) | Développement web : Libre Informatique