de_mblock_a_arduino
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
de_mblock_a_arduino [2024/09/20 07:14] – mistert | de_mblock_a_arduino [2024/09/26 18:17] (Version actuelle) – mistert | ||
---|---|---|---|
Ligne 8: | Ligne 8: | ||
**Feu avec gestion piéton** | **Feu avec gestion piéton** | ||
+ | |||
+ | {{ https:// | ||
{{https:// | {{https:// | ||
+ | |||
+ | {{https:// | ||
<code C> | <code C> | ||
// C++ code | // C++ code | ||
// | // | ||
+ | #define BOUTON_PIETON 3 | ||
+ | #define FEU_ROUGE 5 | ||
+ | #define FEU_VERT 6 | ||
+ | #define FEU_ORANGE 7 | ||
+ | #define FEU_PIETON 8 | ||
+ | |||
int appel_pieton; | int appel_pieton; | ||
- | int btn; | ||
void eteindre_feux() { | void eteindre_feux() { | ||
- | digitalWrite(5, LOW); | + | digitalWrite(FEU_ROUGE, LOW); |
- | digitalWrite(6, LOW); | + | digitalWrite(FEU_VERT, LOW); |
- | digitalWrite(7, LOW); | + | digitalWrite(FEU_ORANGE, LOW); |
- | digitalWrite(8, LOW); | + | digitalWrite(FEU_PIETON, LOW); |
} | } | ||
+ | |||
void gerer_pieton() { | void gerer_pieton() { | ||
- | | + | appel_pieton = 1; |
- | if (btn == HIGH) { | + | |
- | | + | |
- | } | + | |
} | } | ||
+ | |||
void gerer_feu(int pin, int temps_s) { | void gerer_feu(int pin, int temps_s) { | ||
eteindre_feux(); | eteindre_feux(); | ||
- | if (pin == 5 and appel_pieton == 1) { | + | if (pin == FEU_ROUGE |
- | digitalWrite(5, HIGH); | + | digitalWrite(FEU_ROUGE, HIGH); |
- | digitalWrite(8, HIGH); | + | digitalWrite(FEU_PIETON, HIGH); |
delay(2000); | delay(2000); | ||
- | digitalWrite(8, LOW); | + | digitalWrite(FEU_PIETON, LOW); |
appel_pieton = 0; | appel_pieton = 0; | ||
+ | temps_s -=2; | ||
} else { | } else { | ||
| | ||
Ligne 44: | Ligne 51: | ||
delay((temps_s * 1000)); | delay((temps_s * 1000)); | ||
} | } | ||
- | + | ||
void setup() { | void setup() { | ||
- | pinMode(4, INPUT); | + | pinMode(BOUTON_PIETON, INPUT_PULLUP); |
- | pinMode(5, OUTPUT); | + | attachInterrupt(digitalPinToInterrupt(BOUTON_PIETON), |
- | pinMode(6, OUTPUT); | + | pinMode(FEU_ROUGE, OUTPUT); |
- | pinMode(7, OUTPUT); | + | pinMode(FEU_VERT, OUTPUT); |
- | pinMode(8, OUTPUT); | + | pinMode(FEU_ORANGE, OUTPUT); |
+ | pinMode(FEU_PIETON, OUTPUT); | ||
} | } | ||
+ | |||
void loop() { | void loop() { | ||
- | | + | gerer_feu(FEU_ROUGE, 5); |
- | | + | gerer_feu(FEU_VERT, 5); |
- | gerer_feu(6, 5); | + | gerer_feu(FEU_ORANGE, 1); |
- | gerer_feu(7, 1); | + | |
} | } | ||
</ | </ | ||
de_mblock_a_arduino.1726816460.txt.gz · Dernière modification : 2024/09/20 07:14 de mistert