de_mblock_a_arduino
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
de_mblock_a_arduino [2024/09/13 09:58] – créée mistert | de_mblock_a_arduino [2024/09/26 18:17] (Version actuelle) – mistert | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | De MBlock à Arduino | + | **De MBlock à Arduino** |
+ | {{ https:// | ||
+ | |||
+ | {{ https:// | ||
+ | |||
+ | {{ https:// | ||
+ | |||
+ | **Feu avec gestion piéton** | ||
+ | |||
+ | {{ https:// | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | {{https:// | ||
+ | |||
+ | <code C> | ||
+ | // 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; | ||
+ | |||
+ | void eteindre_feux() { | ||
+ | digitalWrite(FEU_ROUGE, | ||
+ | digitalWrite(FEU_VERT, | ||
+ | digitalWrite(FEU_ORANGE, | ||
+ | digitalWrite(FEU_PIETON, | ||
+ | } | ||
+ | |||
+ | void gerer_pieton() { | ||
+ | appel_pieton = 1; | ||
+ | } | ||
+ | |||
+ | void gerer_feu(int pin, int temps_s) { | ||
+ | eteindre_feux(); | ||
+ | if (pin == FEU_ROUGE and appel_pieton == 1) { | ||
+ | digitalWrite(FEU_ROUGE, | ||
+ | digitalWrite(FEU_PIETON, | ||
+ | delay(2000); | ||
+ | digitalWrite(FEU_PIETON, | ||
+ | appel_pieton = 0; | ||
+ | temps_s -=2; | ||
+ | } else { | ||
+ | | ||
+ | } | ||
+ | delay((temps_s * 1000)); | ||
+ | } | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(BOUTON_PIETON, | ||
+ | attachInterrupt(digitalPinToInterrupt(BOUTON_PIETON), | ||
+ | pinMode(FEU_ROUGE, | ||
+ | pinMode(FEU_VERT, | ||
+ | pinMode(FEU_ORANGE, | ||
+ | pinMode(FEU_PIETON, | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | gerer_feu(FEU_ROUGE, | ||
+ | gerer_feu(FEU_VERT, | ||
+ | gerer_feu(FEU_ORANGE, | ||
+ | } | ||
+ | </ | ||
de_mblock_a_arduino.1726221508.txt.gz · Dernière modification : 2024/09/13 09:58 de mistert