- Gerekli Donanım:
- OLED Ekranları tanımak:
- Devre şeması:
- OLED'i Raspberry Pi ile Bağlama:
- Programlama Açıklaması:
Çoğumuz, projelerin çoğunda kullanıcıya bazı bilgileri göstermek için kullanılan 16 × 2 Nokta vuruşlu LCD ekrana aşina oluruz. Ancak bu LCD ekranların birçok sınırlaması vardır. Bu eğitimde OLED ekranı ve bunların Raspberry Pi ile nasıl kullanılacağını öğreneceğiz . Piyasada çok sayıda OLED ekran vardır ve bunları çalıştırmanın birçok yolu vardır. Arduino ile zaten 7 Pin OLED kullandık.
Gerekli Donanım:
- 128 × 64 OLED ekran Modülü (SSD1306)
- Ahududu Pi
- Breadboard
- Kabloların Bağlanması
- Güç kaynağı
OLED Ekranları tanımak:
OLED terimi " Organik Işık yayan diyot" anlamına gelir ve televizyonlarımızın çoğunda kullanılanla aynı teknolojiyi kullanır, ancak bunlara kıyasla daha az piksel içerir. Bu harika görünümlü ekran modüllerinin Raspberry Pi ile arayüzlenmesini sağlamak, projelerimizi havalı göstereceği için gerçekten eğlenceli. Burada OLED ekranlar ve türleri hakkında tam bir Makaleyi ele aldık. Burada, Tek Renkli 4 pinli SSD1306 0,96 ”OLED ekran kullanıyoruz. Bu LCD yalnızca I2C modu ile çalışabilir.
OLED'in Raspberry pi ile bağlantıları aşağıdadır:
OLED Pimi | RPI Pimi |
VCC | 3.3v |
GND | GND |
SDA | SDA (Fiziksel pin 3) |
SCL | SCL (Fiziksel pin 5) |
Devre şeması:
OLED'i Raspberry Pi ile Bağlama:
RPI topluluğu bize zaten bunu çok daha basit hale getirmek için doğrudan kullanılabilecek birçok Kitaplık verdi. Birkaç kitaplık denedim ve Adafruit_SSD1306 OLED Kitaplığının kullanımının çok kolay olduğunu ve bir avuç grafik seçeneğe sahip olduğunu buldum, bu nedenle bu eğitimde de aynısını kullanacağız.
1. Adım: I2C iletişimini etkinleştirin
Adafruit SSD1306 kütüphanesini kurmadan önce Raspberry Pi'de I2C iletişimini etkinleştirmemiz gerekiyor.
Raspberry Pi konsolunda bu türü yapmak için:
sudo raspi -config
Ve sonra mavi bir ekran görünecektir. Şimdi arayüz seçeneğini seçin
Bundan sonra I2C'yi seçmemiz gerekiyor
Bundan sonra, evet'i seçmemiz ve enter'a basmamız ve ardından tamam'a basmamız gerekiyor
Bundan sonra, aşağıdaki komutu vererek raspberry pi'yi yeniden başlatmamız gerekiyor:
sodo yeniden başlat
Adım 2: OLED I2C adresini bulun ve güncelleyin
Sonra verilen komutu kullanarak OLED I2C adresini bulmamız gerekiyor ve bir hex adresi göreceksiniz.
sudo i2cdetect –y 1
Ardından, verilen komutu kullanarak Raspberry Pi'yi güncelleyin:
sudo apt-get güncellemesi
3. Adım: python-pip ve GPIO Kitaplığı yükleyin
Bundan sonra biz gerek yüklemek pip verilen komutunu kullanarak:
sudo apt-get install build-essential python-dev python-pip
Ve Raspberry Pi GPIO kitaplığını yükleyin
sudo pip RPi.GPIO'yu yükler
Adım 4: Python Görüntüleme Kitaplığı ve smbus kitaplığını kurun
Son olarak, Python Görüntüleme Kitaplığı ve smbus kitaplığını verilen komutu kullanarak Raspberry Pi'ye kurmamız gerekiyor :
sudo apt-get install python-görüntüleme python-smbus
Adım 5: Adafruit SSD1306 python kitaplığını kurun
Şimdi, verilen komutları kullanarak Adafruit SSD1306 python kütüphanesi kodunu ve örneklerini kurma zamanı:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Artık kullanıcı OLED arayüzünün kodunu Raspberry Pi'de bulabilir ve doğrudan oynayabilir veya kendiniz özelleştirebilirsiniz. Burada gösteri için örnek bir kodu özelleştirdik. Tam Python kodunu makalenin sonunda bulabilirsiniz.
Programlama Açıklaması:
OLED ile RPi projesi arasında arayüz oluşturmak için programlama kısmı kolaydır. önce bazı gerekli kitaplıkları içe aktarmamız gerekiyor.
içe aktarım zamanı Adafruit_GPIO.SPI'yi SPI olarak içe aktar Adafruit_SSD1306'yı PIL'den içe aktarma PIL'den görüntü içe aktarma PIL'den ImageDraw içe aktarma ImageFont içe aktarma alt işlemi
Bundan sonra ekranı başlatın
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', (genişlik, height)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, width, height), anahat = 0, fill = 0) padding = -2 top = padding bottom = height-padding x = 0 font = ImageFont.load_default () Bundan sonra verilen kodu kullanarak OLED'e veri veya görüntü gönderebiliriz
# İki satırlık metin yazın. disp.clear () disp.display () draw.text ((x, top), "OLED Arabirimi", font = font, fill = 255) draw.text ((x, top + 8), "Devre Özeti", font = font, fill = 255) draw.text ((x, top + 16), "Daha Fazla Video İçin", font = font, fill = 255) draw.text ((x, top + 25), "Şurayı ziyaret edin", font = font, fill = 255) draw.text ((x, top + 34), "www.circuitdigest.com", font = font, fill = 255) # Görüntüyü görüntüle. disp.image (image1) disp.display () time.sleep (2) eğer disp.height == 64: image = Image.open ('img1.png'). convert ('1') else: image = Image. open ('img1.png'). convert ('1') disp.image (görüntü) disp.display () time.sleep (2) eğer disp.height == 64: image = Image.open ('img3.jpg']. convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Bu OLED, biri 128 * 32 ve diğeri 128 * 64 olmak üzere iki varyantla gelir, böylece kullanıcı OLED'i başlatırken herhangi birini buna göre seçebilir. Burada her ikisi için de bu kodu yazdık. Kullanıcının OLED'i aşağıdaki gibi 128 * 64 piksel için başlatması gerekir:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Tüm kod ve işlevlerin anlaşılması kolaydır ve daha fazla açıklamaya gerek yoktur. Sadece yükseklik, genişlik ve görüntülerle oynamaya başlayın ve daha havalı geometrik şekiller oluşturmak için diğer bazı işlevleri deneyin.
Tam python kodu ve Gösteri Videosu aşağıda verilmiştir ve burada bu programda kullandığımız görselleri bulacaksınız.
Ayrıca Arduino ile OLED Arayüzünü kontrol edin.