Bonjour,
Je suis face à un casse-tête insolvable. J'ai 1 LED et 1 bouton poussoir.
Quand j'allume mon Arduino, je veux que ma LED clignote, puis la rendre fixe après avoir pressé un bouton poussoir.
1) Pas d'appui sur le bouton poussoir: la led clignote à interval régulier.
2) J'appui sur le bouton poussoir et le relâche: la led ne clignote plus et reste à l'état haut en continu.
Je ne sais pas comment résoudre ce problème... Rien y fait. La fonction millis() tourne en boucle sans interruption et delay ne semble pas être la solution...
Comment faire ? Je n'ai pas spécialement de programme à vous proposer à part celui-ci, vraiment barbare.
J'amène ma fonctionne millis() à un intervalle de 0 entre deux états pour la garder fixe en mettant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 //Led clignotante n°1 int ledPin = 2; int ledValue = LOW; long ledStartTime = 0; long ledBlinkInterval = 250; int buttonPin = 3; int buttonValue = HIGH; long buttonPressTime = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(ledPin1, OUTPUT); digitalWrite(ledPin1, LOW); } void loop() //Led clignotante n°1 { buttonValue = digitalRead(buttonPin); // Bouton non pressé if (buttonValue==HIGH && buttonPressTime!=0) { ledBlinkInterval = millis() - buttonPressTime; buttonPressTime = 0; } // Je presse et relâche le bouton if (buttonValue==LOW) { ledBlinkInterval = 0; } if (millis() - ledStartTime > ledBlinkInterval) { ledStartTime = millis(); if (ledValue == LOW) ledValue = HIGH; else ledValue = LOW; digitalWrite(ledPin, ledValue); } }
Mais ça me semble faux car si la led se fige, sa luminosité diminue et je ne peux pas agir avec d'autres leds que je souhaite ajouter et allumer quand cette dernière passe en état fixe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ledBlinkInterval = 0;
Je veux repartir du tout début. Si quelqu'un pouvait m'aider........![]()
Partager