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 08:23] – mistert | de_mblock_a_arduino [2025/09/15 12:04] (Version actuelle) – mistert2 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| **De MBlock à Arduino** | **De MBlock à Arduino** | ||
| - | {{ https:// | + | {{ https:// |
| {{ https:// | {{ https:// | ||
| - | {{ https:// | + | {{ https:// |
| **Feu avec gestion piéton** | **Feu avec gestion piéton** | ||
| - | {{https:// | + | {{ https:// |
| + | |||
| + | {{https:// | ||
| {{https:// | {{https:// | ||
| Ligne 16: | Ligne 18: | ||
| // 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 46: | 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.1726820636.txt.gz · Dernière modification : de mistert
