Arduino > Exemple d'un potentiomètre qui contrôle l'intervalle de clignotement d'une DEL
Le site Arduino propose l'exemple suivant: http://arduino.cc/en/Tutorial/AnalogInput
Par contre, si on désire augmenter l'intervalle de clignotement pour qu'elle soit entre 0 et 3 secondes, on multiplie la valeur analogique mesurée par 3 (sensorValue = analogRead(sensorPin)*3;). Mais que remarquez-vous? Les appels à la fonction delay() bloquent l'Arduino. Pour résoudre ce problème, il faut utiliser des processus parallèles? tel que démontré ici:
/* Description ============= Un potentiometre controle l'intervalle de clignotement de la DEL de debogage Circuit ============= Broche analogique 0: potentiometre. Broche numerique 13: DEL de debogage (rien à brancher). Thomas Ouellet Frederics, 4 novembre 2012 */ unsigned long timeStamp; int ledState = LOW; void setup() { // Il n'y a aucune configuration necessaire de la broche // pour une entree analogique. // Configuration de la broche 13 en tant que sortie numerique. pinMode(13,OUTPUT); } void loop() { // Lire la valeur du potentiometre et la multiplier par // 10 pour un intervalle entre 0 et 3 s. int interval = analogRead(0) * 3; if ( millis() - timeStamp >= interval ) { timeStamp = millis(); if ( ledState == LOW ) { ledState = HIGH; } else { ledState = LOW; } digitalWrite(13,ledState); } }