feux de carrefour dynamique avec arduino

gestion des lampe tricolore

a marqué ce sujet comme résolu.

bonjour la grande communauté j’ai pour ambition de réalisé un feux de carrefour dynamique contrôlé par arduino ; l’objectif premier est de pouvoir commandé un bout ton poussoir comme marche arrêt le problème est que j’ai pu mettre mon BP sur la broche 2 de mon arduino uno et grâce à la fonction attachinterup je commande seulement un seul de ses état car après avoir relâché le BP mon programme ne continue plus ou il etais j’étouffe la famille s’il vous plaît :euh:

+0 -0

bonjour la communauté ZESTE; j’étouffe toujours voilà mon bout de code 1-const int BP=2;

2-const int ledV1=12;

3-const int ledR1=4;

4-const int ledO1=3;

5-const int ledVP1=5;

6-const int ledRP1=6; / partie déclaration et initialisation des variables/ 7-const int ledRV2=7;

8-const int ledOV2=8;

9-const int ledVV2=9;

10-const int ledRP2=11;

11-const int ledVP2=10;

12-int etatBP;

13-void arret() { 14- do { 15- etatBP=digitalRead(BP);

16- if( etatBP==LOW) {

17- digitalWrite(ledV1,LOW);

18- digitalWrite(ledRV2,LOW); /*fonction qui permet d’eteindre toutes les led une fois que lBoutton poussoir est dans

1
                    un etat bas*/

19- digitalWrite(ledVP2,LOW);

20- digitalWrite(ledRP1,LOW);

21- digitalWrite(ledO1,LOW);

22- digitalWrite(ledR1,LOW);

23- digitalWrite(ledVP1,LOW);

24- digitalWrite(ledOV2,LOW);

25- digitalWrite(ledVV2,LOW);

26 - digitalWrite(ledRP2,LOW);

27- }

28- }while(etatBP==HIGH);

29 } 30 void setup() {

31- pinMode(BP,INPUT);

32- pinMode(ledV1,OUTPUT);

33- pinMode(ledR1,OUTPUT);

34- pinMode(ledO1,OUTPUT); / Partie initialisation des broches de l’arduino /

35- pinMode(ledVP1,OUTPUT);

36- pinMode(ledRP1,OUTPUT);

37- pinMode(ledRV2,OUTPUT);

38- pinMode(ledOV2,OUTPUT);

39- pinMode(ledVV2,OUTPUT);

40- pinMode(ledRP2,OUTPUT);

41- pinMode(ledVP2,OUTPUT);

42- attachInterrupt(digitalPinToInterrupt(BP),arret,CHANGE);

43- }

45- void loop() {

46- etatBP=digitalRead(BP);

47- if(etatBP==HIGH)

48- {

49- digitalWrite(ledV1,HIGH);

50- digitalWrite(ledRV2,HIGH);

51- digitalWrite(ledVP2,HIGH); / partie qui permet d’allumer et eteindre les leds des diferente voies/

52- digitalWrite(ledRP1,HIGH);

53- digitalWrite(ledO1,LOW);

54- digitalWrite(ledR1,LOW);

55- digitalWrite(ledVP1,LOW);

56- digitalWrite(ledOV2,LOW);

57- digitalWrite(ledVV2,LOW);

58- digitalWrite(ledRP2,LOW);

59- delay(5000);

60- digitalWrite(ledV1,LOW);

61- digitalWrite(ledRV2,LOW);

62- digitalWrite(ledOV2,HIGH);

63- digitalWrite(ledO1,HIGH);

64- delay(2000);

65- digitalWrite(ledR1,HIGH);

66- digitalWrite(ledVP1,HIGH);

67- digitalWrite(ledVV2,HIGH);

68- digitalWrite(ledRP2,HIGH);

69- digitalWrite(ledRP1,LOW);

70- digitalWrite(ledVP2,LOW);

71- digitalWrite(ledOV2,LOW);

72- digitalWrite(ledO1,LOW);

73- delay(7000);

} }

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte