- Απαιτείται υλικό:
- Γνωριμία με τις οθόνες OLED:
- Διάγραμμα κυκλώματος:
- Σύνδεση OLED με Raspberry Pi:
- Επεξήγηση προγραμματισμού:
Οι περισσότεροι από εμάς θα εξοικειωθήκαμε με την οθόνη LCD 16 × 2 Dot matrix που χρησιμοποιείται στα περισσότερα έργα για την εμφάνιση ορισμένων πληροφοριών στον χρήστη. Αλλά αυτές οι οθόνες LCD έχουν πολλούς περιορισμούς. Σε αυτό το σεμινάριο, θα μάθουμε για την οθόνη OLED και πώς να τα χρησιμοποιήσουμε με το Raspberry Pi. Υπάρχουν πολλοί τύποι οθονών OLED στην αγορά και υπάρχουν πολλοί τρόποι για να λειτουργήσουν. Έχουμε ήδη χρησιμοποιήσει 7 Pin OLED με το Arduino.
Απαιτείται υλικό:
- Μονάδα οθόνης OLED 128 × 64 (SSD1306)
- Raspberry Pi
- Ψωμί
- Σύνδεση καλωδίων
- Παροχή ηλεκτρικού ρεύματος
Γνωριμία με τις οθόνες OLED:
Ο όρος OLED σημαίνει « Organic Light emitting diode» , χρησιμοποιεί την ίδια τεχνολογία που χρησιμοποιείται στις περισσότερες τηλεοράσεις μας, αλλά έχει λιγότερα pixel σε σύγκριση με αυτές. Είναι πραγματικά διασκεδαστικό να έχουμε αυτές τις εντυπωσιακές ενότητες οθόνης για διασύνδεση με το Raspberry Pi, καθώς θα κάνει τα έργα μας να φαίνονται δροσερά. Εδώ έχουμε καλύψει ένα πλήρες άρθρο σχετικά με τις οθόνες OLED και τους τύπους του. Εδώ, χρησιμοποιούμε μια οθόνη OLED Monochrome 4-pin SSD1306 0,96 ”. Αυτή η οθόνη LCD μπορεί να λειτουργήσει μόνο με τη λειτουργία I2C.
Ακολουθούν οι συνδέσεις του OLED με το Raspberry pi:
Καρφίτσα OLED | Καρφίτσα RPI |
VCC | 3.3v |
GND | GND |
SDA | SDA (Φυσικός πείρος 3) |
SCL | SCL (Φυσικός πείρος 5) |
Διάγραμμα κυκλώματος:
Σύνδεση OLED με Raspberry Pi:
Η κοινότητα RPI μας έχει ήδη δώσει πολλές βιβλιοθήκες που μπορούν να χρησιμοποιηθούν άμεσα για να το κάνουν πολύ πιο απλό. Δοκίμασα μερικές βιβλιοθήκες και διαπίστωσα ότι η βιβλιοθήκη Adafruit_SSD1306 OLED ήταν πολύ εύκολη στη χρήση και έχει μια χούφτα γραφικών επιλογών, επομένως θα χρησιμοποιήσουμε το ίδιο σε αυτό το σεμινάριο.
Βήμα 1: Ενεργοποίηση επικοινωνίας I2C
Πριν από την εγκατάσταση της βιβλιοθήκης Adafruit SSD1306 πρέπει να ενεργοποιήσουμε την επικοινωνία I2C στο Raspberry Pi.
Για να κάνετε αυτόν τον τύπο στην κονσόλα Raspberry Pi:
sudo raspi -config
Και τότε θα εμφανιστεί μια μπλε οθόνη. Τώρα επιλέξτε την επιλογή διεπαφής
Μετά από αυτό, πρέπει να επιλέξουμε το I2C
Μετά από αυτό, πρέπει να επιλέξετε ναι και να πατήσετε enter και στη συνέχεια εντάξει
Μετά από αυτό, πρέπει να επανεκκινήσουμε το βατόμουρο pi εκδίδοντας την παρακάτω εντολή:
επανεκκίνηση sodo
Βήμα 2: Βρείτε τη διεύθυνση OLED I2C και ενημερώστε την
Τότε πρέπει να βρούμε τη διεύθυνση OLED I2C χρησιμοποιώντας τη δεδομένη εντολή και θα δείτε μια δεκαεξαδική διεύθυνση.
sudo i2cdetect –y 1
Στη συνέχεια, ενημερώστε το Raspberry Pi χρησιμοποιώντας τη δεδομένη εντολή:
sudo apt-get ενημέρωση
Βήμα 3: Εγκαταστήστε τη βιβλιοθήκη python-pip και GPIO
Μετά από αυτό πρέπει να εγκαταστήσουμε το pip χρησιμοποιώντας τη δεδομένη εντολή:
sudo apt-get install build-essential python-dev python-pip
Και εγκαταστήστε τη βιβλιοθήκη Raspberry Pi GPIO
Το sudo pip εγκαθιστά το RPi.GPIO
Βήμα 4: Εγκατάσταση της Python Imaging Library και SMBus βιβλιοθήκη
Τέλος, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη απεικόνισης Python και τη βιβλιοθήκη smbus στο Raspberry Pi χρησιμοποιώντας τη δεδομένη εντολή:
sudo apt-get εγκατάσταση python-imaging python-smbus
Βήμα 5: Εγκαταστήστε τη βιβλιοθήκη Adafruit SSD1306 python
Τώρα ήρθε η ώρα να εγκαταστήσετε τον κώδικα βιβλιοθήκης Adafruit SSD1306 και παραδείγματα χρησιμοποιώντας τις εντολές που δίνονται:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py εγκατάσταση
Τώρα ο χρήστης μπορεί να βρει τον κώδικα της διασύνδεσης OLED στο Raspberry Pi και μπορείτε να παίξετε απευθείας ή να το προσαρμόσετε μόνοι σας. Εδώ έχουμε προσαρμόσει ένα παράδειγμα κώδικα για επίδειξη. Μπορείτε να βρείτε τον πλήρη κώδικα Python στο τέλος του άρθρου.
Επεξήγηση προγραμματισμού:
Το μέρος προγραμματισμού για τη διασύνδεση του OLED με το έργο RPi είναι εύκολο. πρώτα, πρέπει να εισαγάγουμε μερικές απαραίτητες βιβλιοθήκες.
εισαγωγή χρόνου εισαγωγής Adafruit_GPIO.SPI ως εισαγωγή SPI Adafruit_SSD1306 από PIL εισαγωγή εικόνας από PIL εισαγωγή ImageDraw από PIL εισαγωγή εικόνας
Μετά από αυτό αρχικοποιήστε την οθόνη
RST = 0 disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST) disp.begin () disp.clear () disp.display () width = disp.width height = disp.height image1 = Image.new ('1', (πλάτος, ύψος)) draw = ImageDraw.Draw (image1) draw. ορθογώνιο ((0,0, πλάτος, ύψος), περίγραμμα = 0, γέμισμα = 0) padding = -2 top = κάτω μέρος padding = ύψος-επένδυση x = 0 font = ImageFont.load_default () Μετά από αυτό, μπορούμε να στείλουμε δεδομένα ή εικόνα στο OLED χρησιμοποιώντας δεδομένο κωδικό
# Γράψτε δύο γραμμές κειμένου. disp.clear () disp.display () draw.text ((x, top), "OLED Interfacing", font = font, fill = 255) draw.text ((x, top + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, top + 16), "For more Videos", font = font, fill = 255) draw.text ((x, top + 25), "Επίσκεψη στο", font = font, fill = 255) draw.text ((x, top + 34), "www.circuitdigest.com", font = font, fill = 255) # Εμφάνιση εικόνας. disp.image (image1) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img1.png'). μετατροπή ('1') άλλο: image = Image. άνοιγμα ('img1.png'). μετατροπή ('1') disp.image (εικόνα) disp.εμφάνιση () time.sleep (2) εάν disp.height == 64: image = Image.open ('img3.jpg'). μετατροπή ('1') άλλο: image = Image.open ('img3.jpg').
Αυτό το OLED διατίθεται σε δύο παραλλαγές, μία είναι 128 * 32 και άλλη 128 * 64, οπότε ο χρήστης μπορεί να επιλέξει οποιονδήποτε αναλόγως, ενώ αρχίζει το OLED. Εδώ έχουμε γράψει αυτόν τον κωδικό και για τα δύο. Ο χρήστης πρέπει να προετοιμάσει μόνο OLED για 128 * 64 pixel όπως:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Όλος ο κώδικας και οι λειτουργίες είναι κατανοητές και δεν απαιτείται περαιτέρω εξήγηση. Απλώς ξεκινήστε και δοκιμάστε να παίξετε με ύψος, πλάτος και εικόνες και δοκιμάστε μερικές άλλες λειτουργίες για να δημιουργήσετε μερικές πιο δροσερές γεωμετρικές εικόνες.
Ο πλήρης κώδικας python και το βίντεο επίδειξης δίνονται παρακάτω και εδώ θα βρείτε τις εικόνες που έχουμε χρησιμοποιήσει σε αυτό το πρόγραμμα.
Ελέγξτε επίσης OLED Interfacing με Arduino.