Βιβλίο
Ημέρα 8 - Ενότητα 1 - Ελέγχοντας τα χρώματα
Ημέρα 8 - Ενότητα 1 - Ελέγχοντας τα χρώματα
Απαιτήσεις ολοκλήρωσης
Προβολή
Μετά την ολοκλήρωση αυτής της ενότητας ως εκπαιδευόμενοι θα μπορέιτε να:
- περιγράψετε το μοντέλο χρωμάτων RGB
- αναφέρετε τη διαφορά μεταξύ ενός LED RGB και ενός απλού χρωματιστού LED
- να διακρίνετε και να χρησιμοποιείτε τους ακροδέκτες ενός LED RGB
- δημιουργήσετε ένα κύκλωμα με LED RGB
- προγραμματίσετε το NodeMCU για να αλλάζει το χρώμα ενός LED RGB με το smartphone
- να δημιουργήσετε ένα έργο ZeRGBa στο smartphone σας
Αλλάζοντας τα χρώματα ενός RGB LED με το Blynk
Για κάθε πηγή
φωτός που εκπέμπει φως απευθείας στα μάτια μας, το χρώμα που
αντιλαμβάνεται ο εγκέφαλός μας έχει τρία βασικά συστατικά, κάποια
ποσότητα κόκκινου, κάποια πράσινου και κάποια μπλε. Οι διακυμάνσεις στις ποσότητές τους μας βοηθούν να δημιουργήσουμε διάφορα χρώματα.
Μια λυχνία RGB είναι ένα ενιαίο LED που μας παρέχει και τα τρία βασικά χρώματα. Τα RGB LEDs συναντώνται σε δύο μορφές: με κοινή κάθοδος (αυτή για την οποία θα μιλάμε σε αυτό το έργο) και με κοινή άνοδο. Αυτά με την κοινή κάθοδο έχουν έναν κοινό ακροδέκτη GND και για τα τρία χρώματα. Ακολουθεί μια εικόνα ενός τέτοιου LED και των ακροδεκτών με τα χρώματα που αντιστοιχούν:
Στην πραγματικότητα, είναι τρία LED, ένα κόκκινο, ένα πράσινο και ναι, ένα μπλε σε ένα πακέτο. Ελέγχοντας την ποσότητα κάθε ξεχωριστής λυχνίας LED μπορείτε να δημιουργήσετε σχεδόν κάθε χρώμα που θέλετε.
Μπορείτε να παίξετε με τις ποσότητες των βασικών χρωμάτων που χρειάζεστε για να δημιουργήσετε ένα νέο χρώμα εδώ:
Όπως έχουμε συζητήσει σε προηγούμενες ενότητες, οι ψηφιακές θύρες μπορούν να έχουν μόνο μία από τις δύο τιμές: 0 ή 1, TRUE ή FALSE, ON ή OFF. Έτσι, είναι σαφές ότι δεν θα μπορούσαμε να ελέγξουμε την ποσότητα φωτός που εκπέμπει οποιοδήποτε από τα μεμονωμένα leds συνδέοντας τους ακροδέκτες του με τις ψηφιακές θύρες.
Αυτό είναι ένα πρόβλημα που έχει λυθεί ευτυχώς και η λύση ονομάζεται PWM. Pulse Width Modulation, ή PWM, είναι μια τεχνική για την επίτευξη αναλογικών αποτελεσμάτων με ψηφιακά μέσα. Χρησιμοποιείται ψηφιακός έλεγχος για να δημιουργηθεί ένα τετράγωνικό κύμα, ένα σήμα που αλλάζει μεταξύ ON και OFF.
Αυτό το μοτίβο on-off μπορεί να προσομοιώσει τάσεις ανάμεσα στο μέγιστο (3.3 Volt) και στο ελάχιστο (0 Volts) αλλάζοντας την συχνότητα εναλλαγής του σήματος μεταξύ 0 και 1. Η διάρκεια κατά την οποία βρίσκεται στο 1 ονομάζεται πλάτος παλμού. Για να έχετε διάφορες αναλογικές τιμές, αλλάζετε, ή διαμορφώνετε, αυτό το πλάτος παλμού. Αν για παράδειγμα επαναλάβετε αυτό το μοτίβο πολύ γρήγορα σε ένα LED, το αποτέλεσμα θα είναι σαν να έχετε μία σταθερή τάση μεταξύ 0 και 3.3v ελέγχοντας έτσι τελικά τη φωτεινότητα του LED.
Έτσι στην περίπτωσή μας επιλέγουμε τρεις από τις ψηφιακές ακίδες (D1, D2, D3) για να συνδέσουμε τα πόδια του κόκκινου, του πράσινου και του μπλε αντίστοιχα. Το διάγραμμα διαμορφώνεται όπως παρακάτω:
Στη συνέχεια, δημιουργήστε ένα νέο Project στην εφαρμογή Blynk με την ονομασία "RGB LED". Το auth key θα σταλεί στη διεύθυνση email. Θα σας χρειαστεί αργότερα.
Τοποθετήστε το ZeRGBa widget στη επιφάνεια εργασίας του project και ρυθμίστε το βάσει των επόμενων στιγμιοτύπων:
Το τελευταίο βήμα είναι να δημιουργήσετε τον κώδικα που θα μεταφέρει τις (χρωματιστές) εντολές μας από το Blynk προς το RGB LED. Χρειάζεται απλώς να ανοίξουμε το βασικό Blynk πρόγραμμα που χρησιμοποιήσαμε στην προηγούμενη ενότητα. Έτσι, πατήστε στα File->Examples->Blynk-Boards_Wifi->Esp8266Standalone
Μια λυχνία RGB είναι ένα ενιαίο LED που μας παρέχει και τα τρία βασικά χρώματα. Τα RGB LEDs συναντώνται σε δύο μορφές: με κοινή κάθοδος (αυτή για την οποία θα μιλάμε σε αυτό το έργο) και με κοινή άνοδο. Αυτά με την κοινή κάθοδο έχουν έναν κοινό ακροδέκτη GND και για τα τρία χρώματα. Ακολουθεί μια εικόνα ενός τέτοιου LED και των ακροδεκτών με τα χρώματα που αντιστοιχούν:
Στην πραγματικότητα, είναι τρία LED, ένα κόκκινο, ένα πράσινο και ναι, ένα μπλε σε ένα πακέτο. Ελέγχοντας την ποσότητα κάθε ξεχωριστής λυχνίας LED μπορείτε να δημιουργήσετε σχεδόν κάθε χρώμα που θέλετε.
Μπορείτε να παίξετε με τις ποσότητες των βασικών χρωμάτων που χρειάζεστε για να δημιουργήσετε ένα νέο χρώμα εδώ:
Όπως έχουμε συζητήσει σε προηγούμενες ενότητες, οι ψηφιακές θύρες μπορούν να έχουν μόνο μία από τις δύο τιμές: 0 ή 1, TRUE ή FALSE, ON ή OFF. Έτσι, είναι σαφές ότι δεν θα μπορούσαμε να ελέγξουμε την ποσότητα φωτός που εκπέμπει οποιοδήποτε από τα μεμονωμένα leds συνδέοντας τους ακροδέκτες του με τις ψηφιακές θύρες.
Αυτό είναι ένα πρόβλημα που έχει λυθεί ευτυχώς και η λύση ονομάζεται PWM. Pulse Width Modulation, ή PWM, είναι μια τεχνική για την επίτευξη αναλογικών αποτελεσμάτων με ψηφιακά μέσα. Χρησιμοποιείται ψηφιακός έλεγχος για να δημιουργηθεί ένα τετράγωνικό κύμα, ένα σήμα που αλλάζει μεταξύ ON και OFF.
Αυτό το μοτίβο on-off μπορεί να προσομοιώσει τάσεις ανάμεσα στο μέγιστο (3.3 Volt) και στο ελάχιστο (0 Volts) αλλάζοντας την συχνότητα εναλλαγής του σήματος μεταξύ 0 και 1. Η διάρκεια κατά την οποία βρίσκεται στο 1 ονομάζεται πλάτος παλμού. Για να έχετε διάφορες αναλογικές τιμές, αλλάζετε, ή διαμορφώνετε, αυτό το πλάτος παλμού. Αν για παράδειγμα επαναλάβετε αυτό το μοτίβο πολύ γρήγορα σε ένα LED, το αποτέλεσμα θα είναι σαν να έχετε μία σταθερή τάση μεταξύ 0 και 3.3v ελέγχοντας έτσι τελικά τη φωτεινότητα του LED.
Έτσι στην περίπτωσή μας επιλέγουμε τρεις από τις ψηφιακές ακίδες (D1, D2, D3) για να συνδέσουμε τα πόδια του κόκκινου, του πράσινου και του μπλε αντίστοιχα. Το διάγραμμα διαμορφώνεται όπως παρακάτω:
Στη συνέχεια, δημιουργήστε ένα νέο Project στην εφαρμογή Blynk με την ονομασία "RGB LED". Το auth key θα σταλεί στη διεύθυνση email. Θα σας χρειαστεί αργότερα.
Τοποθετήστε το ZeRGBa widget στη επιφάνεια εργασίας του project και ρυθμίστε το βάσει των επόμενων στιγμιοτύπων:
Αλλάξτε τα διαπιστευτήρια με τα δικά σας. Αν δεν τα ξέρετε, ρωτήστε τον διαχειριστή του δικτύου σας. Το auth[] είναι το κλειδί που λάβατε προηγουμένως στο email σας. Το ssid[] είναι το όνομα του δικτύου WiFi και το pass[] είναι ο κωδικός του WiFi.
char auth[] = "????????????";
char ssid[] = "XXXXXXXXXX";
char pass[] = "YYYYYYYYYYY";
Στο τέλος αποθηκεύστε το αρχείο και πατήστε το Upload.
Αν έγιναν όλα σύμφωνα με τις οδηγίες, τότε μπορείτε να διαλέξετε το χρώμα που σας αρέσει στο κινητό σας και να το δείτε να εμφανίζεται μπροστά σας στο RGB LED.
ΜΠΡΑΒΟ ΣΑΣ!