- Perkakasan Diperlukan:
- Mengetahui tentang Paparan OLED:
- Rajah Litar:
- Menghubungkan OLED dengan Raspberry Pi:
- Penjelasan Pengaturcaraan:
Sebilangan besar daripada kita akan biasa dengan paparan LCD matriks 16 × 2 Dot yang digunakan dalam kebanyakan projek untuk memaparkan beberapa maklumat kepada pengguna. Tetapi paparan LCD ini mempunyai banyak batasan. Dalam tutorial ini, kita akan belajar mengenai paparan OLED dan cara menggunakannya dengan Raspberry Pi. Terdapat banyak jenis paparan OLED yang tersedia di pasaran dan terdapat banyak cara untuk membuatnya berfungsi. Kami telah menggunakan OLED 7 Pin dengan Arduino.
Perkakasan Diperlukan:
- Modul paparan OLED 128 × 64 (SSD1306)
- Pai raspberi
- Papan roti
- Wayar Penyambung
- Bekalan kuasa
Mengetahui tentang Paparan OLED:
Istilah OLED adalah singkatan dari " Organic Light emitting diode" yang menggunakan teknologi yang sama dengan yang digunakan di kebanyakan televisyen kita tetapi mempunyai piksel yang lebih sedikit dibandingkan dengan mereka. Sangat menyeronokkan apabila modul paparan yang kelihatan hebat ini dihubungkan dengan Raspberry Pi kerana ini akan menjadikan projek kami kelihatan keren. Kami telah membahas Artikel lengkap mengenai paparan OLED dan jenisnya di sini. Di sini, kami menggunakan paparan OLED Monochrome 4-pin SSD1306 0,96 ”. LCD ini hanya boleh berfungsi dengan mod I2C.
Berikut adalah sambungan OLED dengan Raspberry pi:
Pin OLED | Pin RPI |
VCC | 3.3v |
GND | GND |
SDA | SDA (Pin fizikal 3) |
SCL | SCL (Pin fizikal 5) |
Rajah Litar:
Menghubungkan OLED dengan Raspberry Pi:
Komuniti RPI telah memberi kami banyak Perpustakaan yang boleh digunakan secara langsung untuk menjadikannya lebih mudah. Saya mencuba beberapa perpustakaan dan mendapati bahawa Perpustakaan OLED Adafruit_SSD1306 sangat mudah digunakan dan mempunyai sebilangan besar pilihan grafik sehingga kami akan menggunakan yang sama dalam tutorial ini.
Langkah 1: Dayakan komunikasi I2C
Sebelum memasang perpustakaan Adafruit SSD1306, kita perlu mengaktifkan komunikasi I2C di Raspberry Pi.
Untuk melakukan jenis ini di konsol Raspberry Pi:
sudo raspi -config
Dan kemudian skrin biru akan muncul. Sekarang pilih pilihan antara muka
Selepas ini, kita perlu memilih I2C
Selepas ini, kita perlu memilih ya dan tekan enter dan kemudian ok
Selepas ini, kita perlu reboot pi raspberry dengan mengeluarkan arahan di bawah:
but semula sodo
Langkah 2: Cari alamat OLED I2C dan kemas kini
Kemudian kita perlu mencari alamat OLED I2C dengan menggunakan arahan yang diberikan dan anda akan melihat alamat hex.
sudo i2cdetect –y 1
Kemudian kemas kini Raspberry Pi menggunakan arahan yang diberikan:
sudo apt-get kemas kini
Langkah 3: Pasang python-pip dan GPIO Library
Selepas ini kita perlu memasang pip dengan menggunakan arahan yang diberikan:
sudo apt-get install build-essential python-dev python-pip
Dan pasang perpustakaan Raspberry Pi GPIO
sudo pip memasang RPi.GPIO
Langkah 4: Pasang pustaka Python Imaging Library dan smbus
Akhirnya, kita perlu memasang Python Imaging Library dan smbus library di Raspberry Pi dengan menggunakan arahan yang diberikan:
sudo apt-get install python-imaging python-smbus
Langkah 5: pasang pustaka python Adafruit SSD1306
Kini tiba masanya untuk memasang kod dan contoh perpustakaan Adafruit SSD1306 python dengan menggunakan arahan yang diberikan:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py pasang
Kini pengguna dapat mencari kod antara muka OLED di Raspberry Pi dan anda boleh bermain secara langsung atau menyesuaikannya sendiri. Di sini kita telah menyesuaikan kod contoh untuk demonstrasi. Anda boleh mendapatkan kod Python penuh di akhir artikel.
Penjelasan Pengaturcaraan:
Bahagian pengaturcaraan untuk menghubungkan OLED dengan projek RPi adalah mudah. pertama, kita perlu mengimport beberapa perpustakaan yang diperlukan.
import time import Adafruit_GPIO.SPI sebagai SPI import Adafruit_SSD1306 dari PIL import Imej dari PIL import ImageDraw dari PIL import Subproses proses ImageFont
Selepas ini memulakan paparan
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', (lebar), tinggi)) draw = ImageDraw.Draw (gambar1) draw.rectangle ((0,0, lebar, tinggi), garis besar = 0, isi = 0) padding = -2 atas = bahagian bawah padding = tinggi-padding x = 0 fon = ImageFont.load_default () Setelah ini, kita dapat mengirim data atau gambar ke OLED dengan menggunakan kod yang diberikan
# Tulis dua baris teks. disp.clear () disp.display () draw.text ((x, top), "OLED Interfacing", font = font, fill = 255) draw.text ((x, top + 8), "Circuit Digest", font = font, isi = 255) draw.text ((x, atas + 16), "Untuk lebih banyak Video", font = font, isi = 255) draw.text ((x, teratas + 25), "Lawati di", font = font, isi = 255) draw.text ((x, atas + 34), "www.circuitdigest.com", font = font, isi = 255) # Paparkan gambar. disp.image (image1) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img1.png'). ubah ('1') lain: gambar = Gambar. buka ('img1.png'). tukar ('1') disp.image (gambar) disp.paparkan () time.sleep (2) jika disp.height == 64: image = Image.open ('img3.jpg'). tukar ('1') yang lain: image = Image.open ('img3.jpg'). tukar ('1')
Ini OLED datang dalam dua varian satu adalah 128 * 32 dan lain-lain adalah 128 * 64 sehingga pengguna boleh memilih sesiapa sewajarnya semasa memulakan OLED. Di sini kami telah menulis kod ini untuk kedua-duanya. Pengguna hanya perlu menginisialisasi OLED untuk 128 * 64 piksel seperti:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Semua kod dan fungsinya mudah difahami dan tidak perlu penjelasan lebih lanjut. Cukup mulakan dan cuba bermain dengan ketinggian, lebar & gambar dan cuba fungsi lain untuk membuat beberapa bentuk geometri yang lebih keren.
Kod python penuh dan Video Demonstrasi diberikan di bawah dan di sini anda dapati gambar-gambar yang telah kami gunakan dalam program ini.
Periksa juga OLED Interfacing dengan Arduino.