Display ST7789 Raspberry PI | SPI | Pemrograman python

Selamat datang Teman-teman. Hari ini kita akan mengupas tentang topik yakni Display ST7789 Raspberry PI | SPI | pemrograman python

Hai, hari ini saya kembali dengan tutorial lain tentang tampilan TFT dengan Raspberry Pi. Hari ini kami melakukan ST7789 dengan Raspberry Pi. Pemrograman dan kode dilakukan dengan Python. Kami akan menggunakan versi paling dasar dari TFT yang tersedia. Saya juga menunjukkan tutorial di Raspberry Pi Pico. Jika mau, Anda dapat merujuk ke halaman itu dengan mengklik halaman ini. Jadi untuk topik menarik hari ini, mengapa membuang waktu. Mari kita mulai!!!

Display ST7789:

IC ST7789 adalah driver tampilan TFT. Jenis monitor ini diproduksi dalam berbagai ukuran. 128 × 240, 240 × 240, 240 × 320 adalah resolusi yang tersedia. Juga ukuran 1.3, 1.54 dan 2.0. Ini memiliki resolusi 240 x 240 dan ukuran 1,3 inci. Untuk informasi lebih lanjut, Anda dapat melihat lembar data driver IC (jika diinginkan) dengan mengklik di sini. ST7789 Antarmuka Raspberry PI dalam tutorial ini.

Monitor menggunakan komunikasi SPI untuk mentransfer data antara mikrokontroler dan monitor. Pin yang digunakan dalam koneksi adalah SCK (SCL), MOSI (SDA), RST dan DC. Ada pin lain yang bisa digunakan untuk fungsi tertentu, yaitu pin BLK atau Backlight. Pin ini mengaktifkan lampu latar tampilan, yang menyebabkan tampilan hidup atau mati.

Selain itu, layar juga memiliki berbagai mode, salah satunya adalah mode tidur. Anda dapat sangat mengurangi konsumsi daya dengan menggunakan mode tidur. Jenis fitur ini berguna saat Anda membuat perangkat seluler atau proyek yang menggunakan baterai kecil dan Anda perlu menghemat listrik untuk mencadangkan baterai dengan lebih baik.

Bahan yang dibutuhkan:

  • Raspberry Pi dengan keyboard dan mouse
  • 240 × 240, layar ST7789 1,8 inci (thinkrobotics)
  • Kabel jumper
  • Papan roti

Desain sirkuit:

ST7789 Raspberry PI

Pemrograman:

Memprogram monitor SPI ini tampaknya mudah tetapi sesederhana yang Anda pikirkan. Jika Anda terbiasa dengan jenis driver IC ini, Anda dapat menemukan masalahnya. Namun jika tidak, akan sangat sulit untuk dilakukan pada awalnya. Jadi di sini saya membahas masalah yang mungkin Anda temui saat memprogram tampilan IC tipe SPI ini. Sekarang pasang layar ke pinout yang dijelaskan dalam diagram sirkuit di atas.

Setelah itu, jika Anda mengikuti langkah-langkah yang tercantum di situs web resmi Adafruit untuk pemrograman tampilan Python ST7789. Untuk ini saya mengatakan bahwa ini adalah buang-buang waktu. Kode dan pustaka itu tampaknya berfungsi, tetapi tidak untuk saya atau Anda. Jadi pertama sebelum pemrograman saya akan mengatakan bahwa jika Anda belum mengunjungi layar antarmuka pengguna Arduino ini. Kemudian silakan lihat karena pasti akan membantu Anda memahami masalah.

Pertama kita perlu mengunduh beberapa repositori atau pustaka yang menjalankan kode (terminal terbuka):

 sudo pip3 install st7789  

Anda juga perlu mengunduh beberapa file lagi untuk menjalankan modul ini. Untuk itu langsung saja download semua ini:

sudo apt-get install python3-rpi.gpio  
 sudo apt-get install python3-spidev  
 sudo apt-get install python3-pil  
 sudo apt-get install python3-numpy  

Setelah Anda menginstal semua ini, Anda akan baik-baik saja.

kode:

Pertama kita import modul st7789 yang baru saja kita download dari internet. Kami juga mengimpor beberapa modul lain yang diperlukan dalam kode.

Kami kemudian membuat layar objek yang menyimpan informasi inisialisasi tampilan. Di samping:

 display._spi.mode=3  

Komunikasi SPI memiliki 4 mode komunikasi, yaitu 0, 1, 2, 3. Untuk informasi lebih lanjut tentang mode SPI, lihat halaman ini.

Jika Anda dapat mengubah masalah dalam kode Adafruit asli dan sekarang anggap itu berfungsi dengan baik. Jadi Anda salah, saya mencoba segalanya dan akhirnya sampai pada kesimpulan ini.

Sekarang setelah ini, kami mengatur ulang tampilan dan menginisialisasi untuk mengatur mode komunikasi spi ke 3.

Kemudian kita membuat gambar baru untuk ditampilkan. (Mengatur semua fungsi sebagai gambar)

Kami mencoba beberapa kode seperti:

Isi layar dengan warna merah dan tampilkan beberapa gambar di layar.

kode:

Ini kode lengkapnya, lihat dan coba.

import ST7789  
 from PIL import Image  
 from time import sleep  
 display=ST7789.ST7789(port=0,cs=0,rst=6,dc=5,backlight=4,spi_speed_hz=160000000)  
 display._spi.mode=3  
 display.reset()  
 display._init()  
 image=Image.new('RGB',(240,240),(255,0,0))  #('RGB',(240,240),(r,g,b))
 display.display(image)  
 sleep(2)  
 image=Image.open("image5.jpg")  
 image=image.resize((240,240),resample=Image.LANCZOS)  
 display.display(image)