Σε αυτό το έργο θα συνδέσουμε 5 RGB (Red Green Blue) LED στο Arduino Uno. Αυτά τα LED συνδέονται παράλληλα για τη μείωση της χρήσης PIN του Uno.
Ένα τυπικό RGB LED φαίνεται στο παρακάτω σχήμα:
Το RGB LED θα έχει τέσσερις ακίδες όπως φαίνεται στο σχήμα.
PIN1: Χρώμα 1 αρνητικό τερματικό ή χρώμα 1 θετικό τερματικό
PIN2: Κοινό θετικό και για τα τρία χρώματα ή κοινό αρνητικό και για τα τρία χρώματα
PIN3: Χρώμα 2 αρνητικό τερματικό ή χρώμα 2 θετικό τερματικό
PIN4: Χρώμα 3 αρνητικό τερματικό ή χρώμα 3 θετικό ακροδέκτη
Υπάρχουν λοιπόν δύο τύποι LED RGB, ένας είναι κοινός τύπος καθόδου (κοινός αρνητικός) και άλλος είναι κοινός τύπος ανόδου (κοινός θετικός) τύπος. Στο CC (Common Cathode ή Common Negative), θα υπάρχουν τρία θετικά τερματικά που κάθε τερματικό αντιπροσωπεύει ένα χρώμα και ένα αρνητικό τερματικό που αντιπροσωπεύει και τα τρία χρώματα. Το εσωτερικό κύκλωμα ενός CC RGB LED μπορεί να αναπαρασταθεί όπως παρακάτω.
Εάν θέλουμε το RED να είναι ενεργοποιημένο παραπάνω, πρέπει να τροφοδοτήσουμε τον ακροδέκτη LED RED και να γειώσουμε το κοινό αρνητικό. Το ίδιο ισχύει για όλα τα LED. Στην CA (Common Anode ή Common Positive), θα υπάρχουν τρία αρνητικά τερματικά που κάθε τερματικό αντιπροσωπεύει ένα χρώμα και ένα θετικό τερματικό που αντιπροσωπεύει και τα τρία χρώματα. Το εσωτερικό κύκλωμα LED CA RGB μπορεί να αναπαρασταθεί όπως φαίνεται στο σχήμα..
Εάν θέλουμε το RED να είναι ενεργοποιημένο παραπάνω, πρέπει να γειώσουμε τον ακροδέκτη LED RED και να ενεργοποιήσουμε το κοινό θετικό. Το ίδιο ισχύει για όλα τα LED.
Στο κύκλωμα μας θα χρησιμοποιήσουμε τύπο CA (Common Anode ή Common Positive). Για τη σύνδεση 5 RGB LED στο Arduino, χρειαζόμαστε συνήθως 5x4 = 20 PIN, επειδή θα μειώσουμε αυτήν τη χρήση PIN σε 8 συνδέοντας παράλληλα RGB LED και χρησιμοποιώντας μια τεχνική που ονομάζεται multiplexing.
Συστατικά
Υλικό: UNO, τροφοδοτικό (5v), 1KΩ αντίσταση (3 τεμάχια), RGB (κόκκινο πράσινο μπλε) LED (5 τεμάχια)
Λογισμικό: Atmel studio 6.2 ή Aurdino κάθε βράδυ.
Κύκλωμα και εξήγηση εργασίας
Η σύνδεση κυκλώματος για διασύνδεση RGB LED Arduino φαίνεται στο παρακάτω σχήμα.
Τώρα για το δύσκολο κομμάτι, ας πούμε ότι θέλουμε να γυρίσουμε το ΚΟΚΚΙΝΟ led στο SET1 και το GREEN LED στο SET2. Ενεργοποιούμε τα PIN8 και PIN9 του UNO και γειώσουμε τα PIN7, PIN6.
Με αυτήν τη ροή θα έχουμε ΚΟΚΚΙΝΟ στο πρώτο SET και ΠΡΑΣΙΝΟ στο δεύτερο SET ON, αλλά θα έχουμε ΠΡΑΣΙΝΟ στο SET1 και ΚΟΚΚΙΝΟ στο SET2 ON μαζί του. Με απλή αναλογία μπορούμε να δούμε και τα τέσσερα LED να κλείνουν το κύκλωμα με την παραπάνω διαμόρφωση και έτσι όλα να ανάβουν.
Έτσι, για να εξαλείψουμε αυτό το πρόβλημα θα ενεργοποιήσουμε μόνο ένα ΣΕΤ κάθε φορά. Πείτε στο t = 0m SEC, το SET1 είναι ΕΝΕΡΓΟΠΟΙΗΜΕΝΟ. Σε t = 1m SEC, το SET1 συντονίζεται και το SET2 είναι ενεργοποιημένο. Και πάλι σε t = 6m SEC, το SET5 είναι απενεργοποιημένο και το SET1 είναι ενεργοποιημένο. Αυτό συνεχίζεται.
Εδώ είναι το κόλπο, ότι το ανθρώπινο μάτι δεν μπορεί να συλλάβει συχνότητα μεγαλύτερη από 30 HZ. Αυτό συμβαίνει εάν μια λυχνία LED ανάβει και σβήνει συνεχώς με ρυθμό 30 ΗΖ ή περισσότερο. Το μάτι βλέπει το LED ως συνεχώς αναμμένο. Ωστόσο, αυτό δεν ισχύει. Η λυχνία LED ανάβει και σβήνει συνεχώς. Αυτή η τεχνική ονομάζεται πολυπλεξία.
Με απλά λόγια, θα ενεργοποιήσουμε κάθε κοινή κάθοδο 5 SETs 1milli δευτερόλεπτο, οπότε σε 5mill δευτερόλεπτο θα έχουμε ολοκληρώσει τον κύκλο, μετά από αυτό ο κύκλος ξεκινά ξανά από το SET1, αυτό συνεχίζεται για πάντα. Δεδομένου ότι οι λυχνίες LED ανάβουν και σβήνουν πολύ γρήγορα. Ο άνθρωπος προβλέπει ότι όλα τα SET είναι ΕΝΕΡΓΟΠΟΙΗΜΕΝΑ συνέχεια.
Έτσι, όταν τροφοδοτούμε το SET1 σε t = 0 milli δευτερόλεπτο, γειώνουμε τον ακροδέκτη RED. Σε t = 1 milli δευτερόλεπτο, τροφοδοτούμε το SET2 και γειώνουμε τον ΠΡΑΣΙΝΟ πείρο (αυτή τη στιγμή το ΚΟΚΚΙΝΟ και το ΜΠΛΕ ανεβάζουν ΥΨΗΛΑ). Ο βρόχος πηγαίνει γρήγορα και το μάτι βλέπει ΚΟΚΚΙΝΗ λάμψη στο ΠΡΩΤΟ ΣΕΤ και ΠΡΑΣΙΝΟ λάμπει στο ΔΕΥΤΕΡΟ ΣΕΤ.
Έτσι προγραμματίζουμε ένα RGB LED, θα ανάβουμε όλα τα χρώματα αργά στο πρόγραμμα για να δούμε πώς λειτουργεί η πολυπλεξία.