Όλοι γνωρίζουμε για το Arduino. Είναι ένας από τους πιο δημοφιλείς πίνακες μικροελεγκτή ανοιχτού κώδικα που είναι ιδιαίτερα χρήσιμος για την εκτέλεση έργων DIY. Αυτός ο ελεγκτής φωτεινού σηματοδότη 3 κατευθύνσεων που βασίζεται στο Arduino είναι ένα απλό έργο Arduino DIY, το οποίο είναι χρήσιμο για την κατανόηση της λειτουργίας των φανών που βλέπουμε γύρω μας. Έχουμε καλύψει μια πιο απλή έκδοση των φανών σε αυτό το κύκλωμα φωτεινών σηματοδοτών. Εδώ το έδειξα για 3 πλευρές ή τρόπους. Τώρα ας πάμε στο έργο…
Απαιτούμενα στοιχεία:
- 3 * κόκκινα φώτα LED
- 3 * πράσινα φώτα LED
- 3 * Κίτρινα φώτα LED
- Αντιστάσεις 3 * 220ohm
- Ψωμί
- Συνδετήρες Male to Male
- Arduino Uno με καλώδιο Ide
Επεξήγηση κυκλώματος:
Το διάγραμμα κυκλώματος για το έργο Arduino Traffic Light Controller δίνεται παρακάτω:
Είναι πολύ απλό και μπορεί να χτιστεί εύκολα σε σανίδα όπως εξηγείται στα παρακάτω βήματα:
- Συνδέστε τις λυχνίες LED με τη σειρά ως κόκκινο, πράσινο και κίτρινο στο breadboard.
- Τοποθετήστε τον αρνητικό ακροδέκτη των LED κοινά και συνδέστε την αντίσταση 220ohm σε σειρά.
- Συνδέστε τα καλώδια σύνδεσης.
- Συνδέστε το άλλο άκρο του καλωδίου στο Arduino Uno στις διαδοχικές ακίδες (2,3,4… 10)
- Ενεργοποιήστε το breadboard χρησιμοποιώντας τον πείρο Arduino 5v και GND.
Πρόγραμμα και εξήγηση εργασίας:
Ο κωδικός για αυτό το έργο Arduino Traffic Light Controller είναι απλός και μπορεί εύκολα να γίνει κατανοητός. Εδώ έχουμε δείξει φώτα κυκλοφορίας για το δρόμο 3 δρόμων και ο κώδικας ανάβει LED και στις τρεις πλευρές με μια συγκεκριμένη ακολουθία, στην οποία λειτουργούν τα πραγματικά φανάρια. Όπως, κάθε φορά, θα υπάρχουν δύο κόκκινα σήματα σε οποιαδήποτε από τις δύο πλευρές και ένα πράσινο φως στην υπόλοιπη πλευρά. Και το κίτρινο φως θα ανάψει επίσης, για 1 δευτερόλεπτο κάθε φορά, μεταξύ της μετάβασης από το κόκκινο στο πράσινο, σημαίνει ότι το πρώτο κόκκινο φως ανάβει για 5 δευτερόλεπτα και το κίτρινο φως ανάβει για 1 δευτερόλεπτο και τέλος το πράσινο φως θα ανάψει.
Στο πρόγραμμα, πρώτα δηλώσαμε τους ακροδέκτες (2,3… 10) ως έξοδο σε κενή ρύθμιση () για 9 LED (τρία σε κάθε πλευρά, εμπρός, δεξιά και αριστερά).
void setup () {// διαμόρφωση των pin pin εξόδου pinMode (2, OUTPUT). pinMode (3, ΕΞΟΔΟΣ); pinMode (4, ΕΞΟΔΟΣ); pinMode (5, ΕΞΟΔΟΣ); pinMode (6, ΕΞΟΔΟΣ); pinMode (7, ΕΞΟΔΟΣ); pinMode (8, ΕΞΟΔΟΣ); pinMode (9, ΕΞΟΔΟΣ); pinMode (10, ΕΞΟΔΟΣ); }
Στη συνέχεια, στη λειτουργία void loop () έχουμε γράψει τον κωδικό για να ανάβουν και να απενεργοποιούνται τα φώτα διαδοχικής σειράς όπως αναφέρθηκε παραπάνω.
κενός βρόχος () {digitalWrite (2,1); // επιτρέπει το 1ο σύνολο σημάτων digitalWrite (7,1). digitalWrite (10,1); digitalWrite (4,0); digitalWrite (3,0); digitalWrite (6,0); digitalWrite (8,0); digitalWrite (9,0); digitalWrite (5,0); καθυστέρηση (5000)………………
Αυτή η διαδικασία αποδεικνύεται καλά στο παρακάτω βίντεο. Πρώτα ανοίγει η ανοδική / εμπρός πλευρά (πράσινη), ενώ οι άλλες δύο πλευρές (δηλαδή αριστερή και δεξιά πλευρά) παραμένουν κλειστές με κόκκινο σήμα, με καθυστέρηση 5 δευτερολέπτων. Στη συνέχεια, το κίτρινο φως ανάβει στη δεξιά πλευρά για 1 δευτερόλεπτο ακολουθούμενο από το πράσινο φως, αφήνοντας άλλες δύο πλευρές (δηλαδή η άνω και η αριστερή πλευρά είναι κόκκινη) κλειστή με κόκκινο φως και καθυστέρηση 5 δευτερολέπτων. Στη συνέχεια, το κίτρινο στην αριστερή πλευρά ανάβει για 1 δευτερόλεπτο ακολουθούμενο από πράσινο, αφήνοντας την επάνω και τη δεξιά πλευρά Κόκκινο με καθυστέρηση 5 δευτερολέπτων. Αυτή η διαδικασία είναι βρόχος σε λειτουργία βρόχου κενού () για συνεχή διαδικασία. Εδώ μπορούμε να τροποποιήσουμε τις καθυστερήσεις για τις οποίες το κόκκινο, κίτρινο και πράσινο φως παραμένουν αναμμένο και σβηστό.
Ο πλήρης κωδικός Arduino και το βίντεο για αυτό το έργο Arduino Traffic Light δίνεται παρακάτω.