Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Faire clignoter deux LED à des rythmes différents sur Arduino sans delay()

Composants nécessaires

Principe : pourquoi éviter delay() ?

L'utilisation de delay() bloque l'exécution du programme. Pour faire clignoter une LED toutes les 1000 ms et une autre toutes les 500 ms, on peut encore s'en sortir en découpant les délais. Mais dès que les intervalles ne sont plus des multiples simples (ex. 300 ms et 1000 ms), la gestion devient inextricable.

La solution : utiliser millis() pour un chronométrage non bloquant, comme le montre l'exemple BlinkWithoutDelay de l'IDE Arduino.

Code complet

const int ledPin   = LED_BUILTIN; // LED intégrée (broche 13)
const int ledPin2  = 12;          // Deuxième LED sur broche 12

int ledState   = LOW;
int ledState2  = LOW;

unsigned long previousMillis  = 0;
unsigned long previousMillis2 = 0;

const long interval  = 1000; // 1 seconde
const long interval2 = 300;  // 300 ms

void setup() {
  pinMode(ledPin,  OUTPUT);
  pinMode(ledPin2, OUTPUT);
}

void loop() {
  unsigned long currentMillis = millis();

  // Première LED : intervalle 1000 ms
  if (currentMillis - previousMillis >= interval) {
    previousMillis = currentMillis;
    ledState = (ledState == LOW) ? HIGH : LOW;
    digitalWrite(ledPin, ledState);
  }

  // Deuxième LED : intervalle 300 ms
  if (currentMillis - previousMillis2 >= interval2) {
    previousMillis2 = currentMillis;
    ledState2 = (ledState2 == LOW) ? HIGH : LOW;
    digitalWrite(ledPin2, ledState2);
  }
}

Schéma de câblage

Connectez l'anode de la deuxième LED à la broche 12 via une résistance 220 Ω, cathode au GND. La LED intégrée (broche 13) ne nécessite aucun composant additionnel.

Points clés à retenir

Processus de fabrication

  1. Protéger l'aluminium contre la corrosion : stratégies d'experts pour une durabilité à long terme
  2. Maîtriser le Cloud Computing de zéro : Guide pratique pour débutants
  3. Pourquoi passer de C à C++ peut booster le développement embarqué
  4. Surveillance température et humidité en temps réel via Web sur Raspberry Pi 4
  5. Tutoriel IoT débutant : Diffusion de données de température depuis un Raspberry Pi
  6. Streaming de données de température en temps réel depuis un ppDAQC Pi‑Plate vers InitialState avec un Raspberry Pi headless
  7. Construire un robot piloté Wi‑Fi avec Raspberry Pi & Smartphone Android
  8. Comprendre le Contrôle de Délai Verilog : Techniques de Timing et Bonnes Pratiques
  9. Origines du concept de sciage : des outils anciens aux machines modernes