Το Πρόβλημα Φωτεινοί σηματοδότες
1η Φάση 2η Φάση 3η Φάση αυτοκίνητα Πορτοκαλί 1000 ms Κόκκινο 4000 ms πεζοί Κόκκινο 5000 ms Πράσινο
2η Φάση 3η Φάση αυτοκίνητα Πράσινο 5000 ms Κόκκινο 4000 ms πεζοί
2η Φάση 3η Φάση Πράσινο 5000 ms Πορτοκαλί 1000 ms Κόκκινο αυτοκίνητα πεζοί Κόκκινο Πράσινο 4000 ms
Πειραματική διάταξη
Το hardware LED_PIN_RED Arduino board breadboard LED_PIN_GREEN
Πράσινο για αυτοκίνητα Κόκκινο για Πεζούς Πορτοκαλί για αυτοκίνητα Ο Αλγόριθμος Πράσινο για αυτοκίνητα Κόκκινο για Πεζούς 5000 ms καθυστέρηση Πορτοκαλί για αυτοκίνητα Κόκκινο για πεζούς 1000 ms καθυστέρηση Κόκκινο για αυτοκίνητα Πράσινο για πεζούς 4000 ms καθυστέρηση
Το πρόγραμμα Ορισμός σταθερών Ορισμός ακίδων σαν έξοδο ή είσοδο στην περιοχή void setup() Κυρίως πρόγραμμα εντολές που θα επαναλαμβάνονται συνεχώς, περιοχή void loop()
Δομή ενός Προγράμματος Ορισμόςσταθερών void setup() { } void loop() Ορισμός μεταβλητών Περιοχή εντολών
{Οι εντολές wiring;} { void setup() void loop() int LED_PIN_RED = 11 ; int LED_PIN_ORANGE=12; int LED_PIN_GREEN=13; int LED_PIN_RED_PED = 14; int LED_PIN_GREEN_PED=15; const int Echo_Pin = 2; const int Trigger_Pin = 3; void setup() { void loop() digitalWrite(Trigger_Pin,HIGH); delayMicroseconds(11); digitalWrite(Trigger_Pin,LOW); duration = pulseIn(Echo_Pin, HIGH); distance = 0.034*duration/2; if(distance < 5) {digitalWrite(LED_PIN_GREEN,HIGH); digitalWrite(LED_PIN_PED_RED,HIGH); delay(5000); digitalWrite(LED_PIN_GREEN,LOW); } else digitalWrite(LED_PIN_ORANGE,LOW); pinMode(LED_PIN_RED,OUTPUT); pinMode(LED_PIN_ORANGE,OUTPUT); pinMode(LED_PIN_GREEN,OUTPUT); pinMode(LED_PIN_PED_GREEN,OUTPUT); pinMode(LED_PIN_PED_RED,OUTPUT); pinMode(Trigger_Pin, OUTPUT); pinMode(Echo_Pin, INPUT); }
Load στον μικροελεκτή arduino
Οι έξυπνοι... Φωτεινοί σηματοδότες Προσθέτοντας έναν αισθητήρα απόστασης στο σηματοδότη αυτοκινήτων τροποποιούμε την σειρά των εντολών και δίνει προτεραιότητα στην διέλευση των αυτοκινήτων όταν πλησιάζουν σε απόσταση < 10 μ. ενώ ταυτόχρονα μετατρέπει σε «κόκκινο» τον σηματοδότη των πεζών.