/* du Feu tricolore V1 */
/* SORTIES */
#define orange 13
#define vert 12
#define rouge 11
/* ENTREE */
#define BP 10
/* Variable globale */
int state;
/* fonction testant le bouton poussoir */
void bouton(void)
{
do
{
state=digitalRead(BP);
}
while (state);
delay(200);
do
{
state=digitalRead(BP);
}
while (!state);
return;
}
/****************************************************************************************/
void setup()
{
pinMode(orange, OUTPUT);
pinMode(vert, OUTPUT);
pinMode(rouge, OUTPUT);
pinMode(BP, INPUT_PULLUP); /* on place la resistance interne de pullup par programme */
digitalWrite(vert, LOW);
digitalWrite(orange, LOW);
digitalWrite(rouge, HIGH);
}
/*****************************************************************************************/
void loop()
{
/* Etat 1 */
bouton(); /* on teste le bouton */
/* Vert seulement */
digitalWrite(rouge, LOW);
digitalWrite(vert, HIGH);
/* Etat 2 */
bouton();
/* orange seulement */
digitalWrite(vert, LOW);
digitalWrite(orange, HIGH);
/* ETAT 3 */
bouton();
/* rouge seulement */
digitalWrite(orange, LOW);
digitalWrite(rouge, HIGH);
}