Ημέρα 8 - Ενότητα 1 - Ελέγχοντας τα χρώματα

Αλλάζοντας τα χρώματα ενός RGB LED με το Blynk

Για κάθε πηγή φωτός που εκπέμπει φως απευθείας στα μάτια μας, το χρώμα που αντιλαμβάνεται ο εγκέφαλός μας έχει τρία βασικά συστατικά, κάποια ποσότητα κόκκινου, κάποια πράσινου και κάποια μπλε. Οι διακυμάνσεις στις ποσότητές τους μας βοηθούν να δημιουργήσουμε διάφορα χρώματα.

http://presentitude.com/wp-content/uploads/2016/03/RGBColorModel-300x238.png

Μια λυχνία RGB είναι ένα ενιαίο LED που μας παρέχει και τα τρία βασικά χρώματα. Τα RGB LEDs συναντώνται σε δύο μορφές: με κοινή κάθοδος (αυτή για την οποία θα μιλάμε σε αυτό το έργο) και με κοινή άνοδο. Αυτά με την κοινή κάθοδο έχουν έναν κοινό ακροδέκτη GND και για τα τρία χρώματα. Ακολουθεί μια εικόνα ενός τέτοιου LED και των ακροδεκτών με τα χρώματα που αντιστοιχούν:

rl

Στην πραγματικότητα, είναι τρία LED, ένα κόκκινο, ένα πράσινο και ναι, ένα μπλε σε ένα πακέτο. Ελέγχοντας την ποσότητα κάθε ξεχωριστής λυχνίας LED μπορείτε να δημιουργήσετε σχεδόν κάθε χρώμα που θέλετε.

Μπορείτε να παίξετε με τις ποσότητες των βασικών χρωμάτων που χρειάζεστε για να δημιουργήσετε ένα νέο χρώμα εδώ:


Όπως έχουμε συζητήσει σε προηγούμενες ενότητες, οι ψηφιακές θύρες μπορούν να έχουν μόνο μία από τις δύο τιμές: 0 ή 1, TRUE ή FALSE, ON ή OFF. Έτσι, είναι σαφές ότι δεν θα μπορούσαμε να ελέγξουμε την ποσότητα φωτός που εκπέμπει οποιοδήποτε από τα μεμονωμένα leds συνδέοντας τους ακροδέκτες του με τις ψηφιακές θύρες.

https://bennthomsen.files.wordpress.com/2015/12/nodemcu_pinout_700-2.png

Αυτό είναι ένα πρόβλημα που έχει λυθεί ευτυχώς και η λύση ονομάζεται 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 και ρυθμίστε το βάσει των επόμενων στιγμιοτύπων:

https://pbs.twimg.com/media/CGL5MOTUoAA6Gjc.png



Το τελευταίο βήμα είναι να δημιουργήσετε τον κώδικα που θα μεταφέρει τις (χρωματιστές) εντολές μας από το Blynk προς το RGB LED. Χρειάζεται απλώς να ανοίξουμε το βασικό Blynk πρόγραμμα που χρησιμοποιήσαμε στην προηγούμενη ενότητα. Έτσι, πατήστε στα File->Examples->Blynk-Boards_Wifi->Esp8266Standalone



Αλλάξτε τα διαπιστευτήρια με τα δικά σας. Αν δεν τα ξέρετε, ρωτήστε τον διαχειριστή του δικτύου σας. Το auth[] είναι το κλειδί που λάβατε προηγουμένως στο email σας. Το ssid[] είναι το όνομα του δικτύου WiFi και το pass[] είναι ο κωδικός του WiFi.

char auth[] = "????????????";

char ssid[] = "XXXXXXXXXX";
char pass[] = "YYYYYYYYYYY";

Στο τέλος αποθηκεύστε το αρχείο και πατήστε το Upload.

Αν έγιναν όλα σύμφωνα με τις οδηγίες, τότε μπορείτε να διαλέξετε το χρώμα που σας αρέσει στο κινητό σας και να το δείτε να εμφανίζεται μπροστά σας στο RGB LED.


ΜΠΡΑΒΟ ΣΑΣ!