Allumage/Extinction de LED à la suite Arduino

Cette fois, nous allons allumer une échelle de plusieurs LED en série – Un chenillard de LED Arduino. Ayant appris à contrôler quelques LED dans les revues précédentes, il ne sera pas difficile de comprendre comment commuter les LED en série sur l’Arduino. Nous nous pencherons également sur la boucle for bien connue, qui est utilisée pour répéter des instructions dans un croquis et qui sert en quelque sorte de boucle dans une boucle loop.


Pour cette activité, nous aurons besoin:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LEDs et resistances
  • breadboard
  • fils de connexion

Matériel supplémentaire sur ce sujet:

  1. Arduino allumer LED en douceur (PWM)
  2. Feu de signalisation routière sur Arduino
  3. Jeu avec LEDs «Répétez la séquence»

Arduino Allumage/Extinction de LED à la suite

Allumage et Extinction de LED à la suite Arduino
Allumage et Extinction de LED à la suite Arduino

Assemblez le circuit de DEL sur la planche à pain ou connectez la balance à DEL à l’Arduino (notez que la balance à DEL n’a pas de résistances intégrées, n’oubliez pas d’en ajouter au circuit pour que les diodes ne brûlent pas). Une fois le circuit assemblé, copiez le programme pour la connexion série des LEDs sur l’Arduino UNO et chargez le code dans la carte.

Programme Arduino allumage de led à la suite

byte i;
byte LedMin = 2;
byte LedMax = 10;

void setup() {
   for(i=LedMin; i<=LedMax; i++) { pinMode(i, OUTPUT); }
}

void loop() {
   for(i=LedMin; i<=LedMax; i++) {
      digitalWrite(i, HIGH);
      delay(50);
   }
   for(i=LedMax; i>=LedMin; i--) {
      digitalWrite(i, LOW);
      delay(50);
   }
}

Explication du code pour allumage de led à la suite:

  1. dans le code contient deux boucles for, travaillant alternativement;
  2. une variable de type byte peut stocker un nombre entier de 0 à 255.

Dans l’exemple suivant, l’ordre des LED sur l’Arduino est modifié en séquence. À cette fin, toutes les conditions sont répétées dans la deuxième boucle for, seul l’état des broches des DEL dans la boucle change de HIGH à LOW. Le programme utilise des variables globales de type byte, qui peuvent donc être appelées n’importe où dans le programme, contrairement aux variables locales du langage pour le microcontrôleur Arduino Uno / Nano.

Programme Arduino extinction de led à la suite

byte i;
byte LedMin = 2;
byte LedMax = 10;

void setup() {
   for(i=LedMin; i<=LedMax; i++) { pinMode(i, OUTPUT); }
}

void loop() {
   for(i=LedMin; i<=LedMax; i++) {
      digitalWrite(i, HIGH);
      delay(50);
   }
   for(i=LedMin; i<=LedMax; i++) {
      digitalWrite(i, LOW);
      delay(50);
   }
}

Explication du code pour extinction de led à la suite:

  1. la boucle for est répétée tant que la condition i > LedMin ou i < LedMax est vraie;
  2. si delay(50); est supprimé du programme, il n’y aura pas d’effet d’éclairage séquentiel des LEDs.

Conclusion. Au lieu d’écrire toutes les broches 2 à 13 comme sorties dans le code, nous avons utilisé une seule boucle for – pinMode(i, OUTPUT); Il n’est pas rationnel d’utiliser toutes les sorties de l’Arduino pour commuter des LED en série ou pour connecter une balance à LED. Dans la pratique, nous utilisons à cet effet le registre à décalage 74HC595 Arduino ou une version plus simple du driver de LED M5450B7 pour le microcontrôleur Arduino.





Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.