08-06-2016, 22:53
Witam!
Mam problem z kodem ciągle pojawia się błąd : 'eastGreen' was not declared in this scope
Co robię źle?
Mam problem z kodem ciągle pojawia się błąd : 'eastGreen' was not declared in this scope
Co robię źle?
Kod:
// definicja pinów, do których podłączono przyciski i diody LED:
#define westButton 7
#define eastButton 13
#define westRed 2
#define westYellow 1
#define westGreen 0
#define eastRed 12
#define eastYellow 11
#define westGreen 10
#define yellowBlinkTime 500 // żółte światło zapala na pół sekundy
boolean trafficWest = true; // west = true, east = false
int flowTime = 10000; // czas puszczania ruchu pojazdów w jedną stronę
int changeDelay = 2000; // czas pomiędzy zmianą koloru świateł
void setup()
{
//ustawia cyfrowe piny wejścia - wyjścia
pinMode (westButton, INPUT);
pinMode (eastButton, INPUT);
pinMode (westRed, OUTPUT);
pinMode (westYellow, OUTPUT);
pinMode (westGreen, OUTPUT);
pinMode (eastRed, OUTPUT);
pinMode (eastYellow, OUTPUT);
pinMode (eastGreen, OUTPUT);
// ustawia początkowy stan świateł (zielone światło od strony zachodniej)
digitalWrite (westRed, LOW);
digitalWrite (westYellow, LOW);
digitalWrite (eastGreen, HIGH);
digitalWrite (eastRed, HIGH);
digitalWrite (eastYellow, LOW);
digitalWrite (eastGreen, LOW);
}
void loop ()
{
if ( digitalRead(westButton) == HIGH) // żądanie puszczania ruchem
// z zachodu na wschód
{
if (trafficWest != true)
// ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku (na wschód)
{
trafficWest = true; // zmiana flagi kierunku ruchu na z zachodu na wschód
delay (flowTime); // czas na opuszcznie mostu przez aktualne przejażdżające pojazdy
digitalWrite (eastGreen, LOW); //zmiana świateł od strony wschodniej (z zielonego na żółte i czerwone)
digitalWrite (eastYellow, HIGH);
delay (changeDelay);
digitalWrite (eastYellow, LOW);
digitalWrite (eastRed, HIGH);
delay (changeDelay);
for (int a = 0; a < 5; a++ ) // migające żółte światło
{
digitalWrite(westYellow, LOW);
delay( yellowBlinkTime);
digitalWrite (westYellow, HIGH);
delay(yellowBlinkTime);
}
digitalWrite(westYellow, LOW);
digitalWrite(westRed, LOW); // zmiana światła od strony zachodniej na zielone
digitalWrite (westGreen, HIGH);
}
}
if (digitalRead(eastButton) == HIGH) //żądanie puszczanie ruchu ze wszchodu na zachód
{
if trafficWest == true) //ten kod należy wywołać tylko w sytuacji, gdy ruch odbywa się w przeciwnym kierunku na zachód
{
trafficWest = false; //zmiana flagi kierunku na ze wschodu na zachód
delay (flowTime); //czas na opuszczenie mostu przez aktulane przejażdżając pojazdy
digitalWrite (westGreen, LOW);
// zmiana światła od strony zachodniej z zielonego na żółte i czerwone
digitalWrite (westYellow, HIGH);
delay (changeDelay);
digitalWrite (westYellow, LOW);
digitalWrite (westRed, HIGH);
delay (changeDelay);
for (int a = 0; a < 5; a++ ) // migające żółte światło
{
digitalWrite(eastYellow, LOW);
delay( yellowBlinkTime);
digitalWrite (eastYellow, HIGH);
delay(yellowBlinkTime);
}
digitalWrite(eastYellow, LOW);
digitalWrite(eastRed, LOW); // zmiana światła od strony wschodniej z czerwonego na zielone
digitalWrite(eastGreen, HIGH);
}
}
}