Feu tricolores
/* SORTIES */
#define orange 13
#define vert 12
#define rouge 11
/* ENTREE */
#define BP 10
/* Variable globale */
int state;
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 */
do
{
state=digitalRead(BP);
}
while (state);
delay(200);
do
{
state=digitalRead(BP);
}
while (!state);
/* Vert seulement */
digitalWrite(rouge, LOW);
digitalWrite(vert, HIGH);
/* Etat 2 */
do
{
state=digitalRead(BP);
}
while (state);
delay(200);
do
{
state=digitalRead(BP);
}
while (!state);
/* orange seulement */
digitalWrite(vert, LOW);
digitalWrite(orange, HIGH);
/* ETAT 3 */
do
{
state=digitalRead(BP);
}
while (state);
delay(200);
do
{
state=digitalRead(BP);
}
while (!state);
/* rouge seulement */
digitalWrite(orange, LOW);
digitalWrite(rouge, HIGH);
}