Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // sygnalizacja swietlna
- int carRed = 12;
- int carYellow = 11;
- int carGreen = 10;
- int pedRed = 9;
- int pedGreen = 8;
- int button = 2;
- int crossTime = 5000;
- unsigned long changeTime;
- int trigPin = 5;
- int echoPin = 6;
- void setup() {
- pinMode(carRed, OUTPUT);
- pinMode(carYellow, OUTPUT);
- pinMode(carGreen, OUTPUT);
- pinMode(pedRed, OUTPUT);
- pinMode(pedGreen, OUTPUT);
- pinMode(button, OUTPUT);
- digitalWrite(carGreen, HIGH);
- digitalWrite(pedRed, HIGH);
- pinMode(A5, OUTPUT);
- Serial.begin (9600);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- }
- void loop ()
- {
- int state = digitalRead(button);
- if( state == HIGH && (millis() - changeTime) > 300)
- {
- changeLight();
- }
- long czas, dystans;
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- czas = pulseIn(echoPin, HIGH);
- dystans = czas / 58;
- if( dystans >= 2 && dystans <= 20)
- {
- changeLight();
- }
- }
- void changeLight()
- {
- digitalWrite(carGreen, LOW);
- digitalWrite(carYellow, HIGH);
- delay(2000);
- digitalWrite(carYellow, LOW);
- digitalWrite(carRed, HIGH);
- delay(3000);
- digitalWrite(pedRed, LOW);
- digitalWrite(pedGreen, HIGH);
- for( int x=0 ; x<18 ; x++)
- {
- digitalWrite(A5, HIGH);
- delay(150);
- digitalWrite(A5, LOW);
- delay(150);
- }
- for( int x=0 ; x<15 ; x++)
- {
- digitalWrite(pedGreen, HIGH);
- digitalWrite(A5, HIGH);
- delay(110);
- digitalWrite(pedGreen, LOW);
- digitalWrite(A5, LOW);
- delay(110);
- }
- digitalWrite(pedRed, HIGH);
- delay(1500);
- digitalWrite(carYellow, HIGH);
- digitalWrite(carRed, LOW);
- delay(1000);
- digitalWrite(carGreen, HIGH);
- digitalWrite(carYellow, LOW);
- changeTime = millis();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement