- Οθόνη OLED
- Απαιτούμενα στοιχεία
- Συνδέσεις ακίδων SPI μεταξύ NodeMCU και OLED Display
- Προγραμματισμός NodeMCU για διασύνδεση OLED
- Μετατροπή εικόνας σε τιμές bitmap
Σε αυτό το σεμινάριο θα διεπαφή OLED Display με NodeMCU ESP8266. Το NodeMCU είναι μια πλατφόρμα IoT ανοιχτού κώδικα που περιλαμβάνει υλικολογισμικό που λειτουργεί με χαμηλού κόστους ενεργοποιημένο Wi-Fi ESP8266 Wi-Fi SoC από την Espressif Systems. Διαθέτει ακίδες GPIO για σύνδεση άλλων περιφερειακών και υποστηρίζει σειριακή επικοινωνία χρησιμοποιώντας ακίδες SPI, I2C και UART. Έχει επίσης καρφίτσες για ADC και PWM. Στο παρελθόν διασυνδέσαμε το OLED με άλλους μικροελεγκτές, συμπεριλαμβανομένου του ελεγκτή της οικογένειας ESP (ESP32):
- Οθόνη OLED διασύνδεσης SSD1306 με Raspberry Pi
- Οθόνη OLED διασύνδεσης SSD1306 με το Arduino
- Δημιουργήστε ένα έξυπνο ρολόι με διασύνδεση οθόνης OLED με τηλέφωνο Android χρησιμοποιώντας το Arduino
- Ρολόι Διαδικτύου με χρήση ESP32 και OLED Display
Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το πρωτόκολλο SPI για τη διασύνδεση Monochrome 7-pin SSD1306 0.96 OLED Display με NodeMCU και θα μάθουμε να εμφανίζουμε εικόνα στην οθόνη OLED με το NodeMCU ESP8266.
Οθόνη OLED
Η οργανική δίοδος εκπομπής φωτός (OLED) είναι ένα είδος δίοδος εκπομπής φωτός όπου ένα στρώμα εκπομπής φωτός που αποτελείται από οργανική ένωση εκπέμπει φως όταν τροφοδοτείται ηλεκτρικό ρεύμα. Αυτό το στρώμα τοποθετείται μεταξύ δύο ηλεκτροδίων. Αυτή η τεχνολογία χρησιμοποιείται σε οθόνες όπως υπολογιστές, τηλεοράσεις, smartphone κ.λπ. Οι οθόνες OLED έχουν το δικό τους φως και δεν χρειάζονται οπίσθιο φωτισμό όπως στην οθόνη LCD, επομένως είναι αποδοτικές και χρησιμοποιούνται με πολλούς μικροελεγκτές. Ένα ακόμη πλεονέκτημα της χρήσης οθονών OLED μέσω της LCD είναι η εμφάνιση μεγάλων και καλύτερης ποιότητας γραφικών σε OLED. Μάθετε περισσότερα για την τεχνολογία OLED Display εδώ.
Υπάρχουν διάφορα είδη Οθόνες OLED διαθέσιμα στην αγορά. Αυτές οι οθόνες χαρακτηρίζονται με βάση το χρώμα, τον αριθμό των καρφιτσών, τον ελεγκτή IC και το μέγεθος της οθόνης. Με βάση το χρώμα, τα OLED διατίθενται σε μονόχρωμο μπλε, μονόχρωμο λευκό και κίτρινο / μπλε χρώμα. Και με βάση την επικοινωνία, διατίθενται κυρίως δύο τύποι OLED - 3pin και 7pin. OLED 3 ακίδων μπορεί να χρησιμοποιηθεί σε λειτουργία επικοινωνίας I2C και OLED 7 ακίδων μπορεί να χρησιμοποιηθεί είτε σε λειτουργία SPI είτε σε λειτουργία I2C.
Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε την οθόνη OLED " Monochrome 7-pin SSD1306 0,96 " με πλάτος 128 pixel και μήκος 64 pixel. Αυτή η οθόνη μπορεί να λειτουργήσει τόσο σε πρωτόκολλα επικοινωνίας SPI όσο και σε I2C. Σε αυτό το σεμινάριο θα χρησιμοποιήσουμε το πρωτόκολλο SPI. SSD1306 IC υπάρχει σε αυτό το OLED, το οποίο βοηθά στην εμφάνιση των pixel στην οθόνη.
Απαιτούμενα στοιχεία
- Μονόχρωμη οθόνη 7-ακίδων SSD1306 0,96 ”OLED
- NodeMCU ESP8266
- Καλώδιο Micro USB
- Ψωμί
- Καλώδια από αρσενικό σε αρσενικό
Συνδέσεις ακίδων SPI μεταξύ NodeMCU και OLED Display
Ακολουθεί το διάγραμμα κυκλώματος για σύνδεση της οθόνης 7 ακίδων OLED με το NodeMCU για επικοινωνία χρησιμοποιώντας πρωτόκολλο σειριακής επικοινωνίας SPI.
Στον παρακάτω πίνακα εμφανίζονται οι συνδέσεις μεταξύ OLED Display και NodeMCU ESP8266. Ο πείρος GND πηγαίνει στο NodeMCU GND, ο πείρος VDD μπορεί να συνδεθεί σε 3.3V ή 5V, ο SCK είναι ο πείρος ρολογιού στην Οθόνη OLED που είναι συνδεδεμένος στο D5 του NodeMCU για ρολόι SPI. Η καρφίτσα SDA που είναι ακροδέκτης MOSI στο OLED της διεπαφής SPI πηγαίνει στο D7 του NodeMCU. Ο ακροδέκτης RESET πηγαίνει στο D3. DC, ο πείρος εντολών δεδομένων είναι συνδεδεμένος στο D2 του NodeMCU. Η τελευταία καρφίτσα είναι CS πηγαίνει στο D8, επιλέξτε chip NodeMCU.
Οχι. |
Οβάλ οθόνη |
NodeMCU |
1 |
GND |
GND |
2 |
VDD |
3.3V |
3 |
SCK |
Δ5 |
4 |
MOSI (SPI) ή SDA (I2C) |
Δ7 |
5 |
ΕΠΑΝΑΦΟΡΑ |
Δ3 |
6 |
DC |
Δ2 |
7 |
CS |
Δ8 |
Εδώ θα χρησιμοποιήσουμε τη βιβλιοθήκη "Adafruit _SSD1306.h" και " Adafruit_GFX.h " για τη διασύνδεση του OLED με το NodeMCU. Ανοίξτε το Arduino IDE και εγκαταστήστε την τελευταία έκδοση από το Arduino IDE ( Σκίτσο> Συμπερίληψη βιβλιοθήκης> Διαχείριση βιβλιοθηκών ή Ctrl + Shift_I ).
Δεδομένου ότι το μέγεθος των pixel του αναγνωριστικού οθόνης OLED 128x64, επομένως πρέπει να αλλάξουμε το αρχείο κεφαλίδας του Adafruit_SSD1306. Ανοίξτε τις βιβλιοθήκες Arduino, μεταβείτε στο Adafruit_SSD1306 και ανοίξτε το αρχείο κεφαλίδας ( Adafruit _SSD1306.h ). Σχολιάστε τη γραμμή " #define SSD1306_128_32 " και αποσυνδέστε τη γραμμή "#define SSD1306_128_64 " όπως φαίνεται στην παρακάτω εικόνα και, στη συνέχεια, αποθηκεύστε το αρχείο. Από προεπιλογή, αυτή η βιβλιοθήκη συνοδεύεται από "# define SSD1306_128_32 ".
Τέλος, αλλάξτε τους αριθμούς pin στο παράδειγμα " ssd1306_128x64_spi " Adafruit SSD1306 σύμφωνα με τον πίνακα που φαίνεται παραπάνω. Τώρα, όταν εκτελείτε το σκίτσο αφού κάνετε σωστή σύνδεση της Οθόνης OLED με το NodeMCU, θα δείτε το λογότυπο της Adafruit στην οθόνη OLED που είναι από προεπιλογή αποθηκευμένο στη βιβλιοθήκη. Μετά το λογότυπο Adafruit εμφανίζει πολλά άλλα γραφικά όπως γραμμές, ορθογώνια, τρίγωνο, κύκλους, χορδές, αριθμούς, κινούμενα σχέδια και bitmap. Εδώ Σε αυτό το σεμινάριο θα μάθουμε πώς να εμφανίζουμε οποιαδήποτε εικόνα στο OLED με το NodeMCU ESP8266.
Προγραμματισμός NodeMCU για διασύνδεση OLED
Όπως πάντα παρέχεται πλήρης κωδικός στο τέλος, εδώ έχουμε εξηγήσει λεπτομερώς τον κώδικα.
Ξεκινήστε τον κωδικό εισάγοντας τις απαραίτητες βιβλιοθήκες. Εφόσον χρησιμοποιούμε πρωτόκολλο SPI, επομένως θα εισαγάγουμε βιβλιοθήκη "SPI.h" και επίσης θα εισαγάγουμε "Adafruit_GFX.h" και "Adafruit_SSD1306.h" για OLED Display.
#περιλαμβάνω
Το μέγεθος OLED μας είναι 128x64, οπότε ορίζουμε πλάτος και ύψος οθόνης ως 128 και 64 αντίστοιχα. Ορίστε λοιπόν τις μεταβλητές για καρφίτσες OLED συνδεδεμένες στο NodeMCU για επικοινωνία SPI.
#define SCREEN_WIDTH 128 // OLED πλάτος οθόνης, σε pixel #define SCREEN_HEIGHT 64 // OLED ύψος οθόνης, σε pixel // Δήλωση για οθόνη SSD1306 συνδεδεμένη χρησιμοποιώντας λογισμικό SPI (προεπιλεγμένη περίπτωση): #define OLED_MOSI D7 #define OLED_CLK D5 #define OLED_DC D2 #define OLED_CS D8 #define OLED_RESET D3 Adafruit_SSD1306 οθόνη (SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
Αρχικοποιήστε την οθόνη OLED χρησιμοποιώντας SSD1306_SWITCHCAPVCC για να δημιουργήσετε 3.3V εσωτερικά για να αρχικοποιήσετε την οθόνη.
εάν (! display.begin (SSD1306_SWITCHCAPVCC)) { Serial.println (F ("Η εκχώρηση SSD1306 απέτυχε")); Για(;;); // Μην συνεχίσετε, βρόχο για πάντα }
Η οθόνη της οθόνης OLED διαγράφεται προτού εμφανιστεί οτιδήποτε καλώντας τη λειτουργία display.clearDisplay (). Εμείς ρυθμίσετε το μέγεθος της γραμματοσειράς σε 2 καλώντας τη λειτουργία setTextSize (font-size), και να ρυθμίσετε το χρώμα του κειμένου και τη θέση του δρομέα με τη χρήση setTextColor και setCursor λειτουργία . Η εντολή Display.display () χρησιμοποιείται για τη μεταφορά δεδομένων στην εσωτερική μνήμη του ελεγκτή SSD1306. Μετά τη μεταφορά, το pixel εμφανίζεται στην οθόνη. Τώρα μπορούμε να ξεκινήσουμε την κύλιση του κειμένου με διάφορους τρόπους καλώντας το display.startscrollright (x-pos, y-pos) και το display.startscrollleft (x-pos, y-pos) για το χρόνο που δίνεται στη λειτουργία καθυστέρησης. Η κύλιση του κειμένου μπορεί να διακοπεί χρησιμοποιώντας τη λειτουργία display.stopscroll ().
void testscrolltext (void) {display.clearDisplay (); // διαγράψτε την οθόνη εμφάνισης του OLED display.setTextSize (2); // Σχεδίαση κειμένου σε κλίμακα 2X display.setTextColor (WHITE); display.setCursor (0, 0); display.println (F ("ΚΥΚΛΩΜΑ")); display.println (F ("DIGEST")); display.display (); // Εμφάνιση αρχικής καθυστέρησης κειμένου (100). // Μετακινηθείτε με κύλιση σε διάφορες κατευθύνσεις, κάνοντας παύση μεταξύ: display.startscrollright (0x00, 0x0F); καθυστέρηση (2000); display.stopscroll (); καθυστέρηση (1000) display.startscrollleft (0x00, 0x0F); καθυστέρηση (2000); display.stopscroll (); καθυστέρηση (1000) display.startscrolldiagright (0x00, 0x07); καθυστέρηση (2000); display.startscrolldiagleft (0x00, 0x07); καθυστέρηση (2000); display.stopscroll (); καθυστέρηση (1000) }
Καλούμε τη λειτουργία display.drawBitmap () που παίρνει 6 παραμέτρους (x-συντεταγμένη, συντεταγμένη y, πίνακας bitmap, πλάτος, ύψος και χρώμα) για να σχεδιάσει την εικόνα στο OLED. Επειδή το μέγεθος της οθόνης μας είναι 128x64, ορίζουμε το πλάτος και το ύψος ως 128 και 64 αντίστοιχα. Εδώ ο πίνακας bitmap περιέχει τις πληροφορίες pixel για να σχεδιάσει το pixel στην οθόνη για να δημιουργήσει την εικόνα. Αυτός ο πίνακας bitmap μπορεί να δημιουργηθεί στο διαδίκτυο που εξηγείται παρακάτω ή υπάρχουν πολλά διαθέσιμα λογισμικά για τη μετατροπή της εικόνας σε πίνακα bitmap.
const unsigned char myBitmap PROGMEM = { 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc, 0xc, 0xc, 0xc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0xc0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0x03, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff , 0xff, 0xf8, 0x1e, 0x03, 0x3f, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3e, 0x03, 0x3f, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x3c, 0x03, 0x7f, 0xfe, 0xfe, 0xfe, 0xfe, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7c, 0x03, 0xf0, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0ff 0x78, 0x00, 0xc0, 0x0f, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf8, 0x00, 0x00, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0x01 0x00, 0x00, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xe0, 0x00, 0x0f, 0x00, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xc0, 0x3f, 0xff, 0x80, 0xff, 0x80, 0xff, 0x80 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xf9, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x80, 0xff, 0xf9, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xf0, 0x1f, 0x80, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00 0x06, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x0f, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x01, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x1e, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1e 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x3c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x7c, 0x03, 0x3f, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x 0xf8, 0x01, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x80 0x03, 0xb0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x03, 0x18, 0x01, 0xff, 0xff, 0xff, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x03, 0xbc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0x80, 0x03, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xc0, 0x00, 0x00, 0x0f, 0x, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x03, 0x03, 0x03 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0xe0, 0x00, 0x1f, 0x, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0e, 0x30, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x 0x07, 0x70, 0x00, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x03, 0xe0, 0x1b, 0xfc, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x01, 0xc0, 0x7f, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0 x0 0x7f, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x67, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x66, 0x00, 0x1f, 0x1, 0x1f 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7e, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x 0x00, 0x00, 0x3c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; display.drawBitmap (35, 0, myBitmap, 128, 64, BLACK, WHITE); display.display ();
Μετατροπή εικόνας σε τιμές bitmap
Το online Bitmap μπορεί να δημιουργηθεί από το http://javl.github.io/image2cpp/. Ανεβάστε το αρχείο εικόνας που θέλετε να εμφανίσετε στο OLED και ορίστε το μέγεθος ως 128x64. Θα εμφανιστεί μια εικόνα προεπισκόπησης και στη συνέχεια θα δημιουργηθεί ένας πίνακας bitmap.
Τα παρακάτω στιγμιότυπα οθόνης δείχνουν τη διαδικασία δημιουργίας της τιμής bitmap οποιασδήποτε εικόνας.
Τέλος, ανεβάστε τον πλήρη κώδικα στο NodeMCU ESP8266 και θα δείτε την εικόνα να εμφανίζεται στην οθόνη OLED. Εδώ προβάλλουμε το λογότυπο CircuitDigest στην οθόνη OLED.