Raspberry Pi 16×2 LCD I2C dengan Pemrograman Python

 

Tutorial Menampilkan Karakter pada Raspberry Pi



بِسْــــــــــــــــــمِ اللهِ الرَّحْمَنِ الرَّحِيْمِ


Raspberry Pi 16×2 LCD I2C Interfacing dan Pemrograman Python– Kami telah menggunakan LCD 16×2 untuk waktu yang cukup lama di berbagai proyek terkait Arduino dan IoT. Perlu diketahui bahwa LCD memiliki dua jenis LCD 16x2, yang normal menggunakan lebih banyak kabel dan yang lainnya didasarkan pada antarmuka I2C yang hanya membutuhkan dua kabel. 

LCD (Liquid Crystal Display) 16×2 adalah salah satu media penampil yang sangat populer digunakan sebagai interface antara mikrokontroler dengan user nya. Dengan penampil LCD 16×2 ini user dapat melihat/memantau keadaan sensor ataupun keadaan jalanya program. Penampil LCD 16×2 ini bisa di hubungkan dengan Raspberry pi.

            Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Jika tidak memakai I2C Juga bisa untuk menampilkan text pada LCD akan tetapi harus merangkai semua pin yang berada pada LCD ke Raspberry. Jadi disarankan lebih baik menggunakan I2C saja.

Raspberry Pi 

Fitur kuat dari Raspberry Pi adalah deretan pin GPIO (input/output tujuan umum) di sepanjang tepi atas papan. Header GPIO 40-pin ditemukan di semua papan Raspberry Pi saat ini (tidak terisi pada Pi Zero dan Pi Zero W). Sebelum Pi 1 Model B+ (2014), papan terdiri dari header 26-pin yang lebih pendek. konfiurasi pinOUT bisa di cek pada situs resmi raspberry > 

https://www.raspberrypi.org/documentation/usage/gpio/


Catatan: penomoran pin GPIO tidak berurutan; Pin GPIO 0 dan 1 ada di papan (pin fisik 27 dan 28) tetapi dicadangkan untuk penggunaan lanjutan (lihat di bawah).

Tegangan
Dua pin 5V dan dua pin 3V3 ada di papan, serta sejumlah pin ground (0V), yang tidak dapat dikonfigurasi. Pin yang tersisa semuanya adalah pin 3V3 tujuan umum, artinya output diatur ke 3V3 dan input toleran terhadap 3V3.

Keluaran
Pin GPIO yang ditunjuk sebagai pin keluaran dapat diatur ke tinggi (3V3) atau rendah (0V).

Masukan
Pin GPIO yang ditunjuk sebagai pin input dapat dibaca sebagai high (3V3) atau low (0V). Ini menjadi lebih mudah dengan penggunaan resistor pull-up atau pull-down internal. Pin GPIO2 dan GPIO3 memiliki resistor pull-up tetap, tetapi untuk pin lain ini dapat dikonfigurasi dalam perangkat lunak.

Perancangan Raspberry + LCD 2x16 I2c


Sebelum Anda mulai menggunakan layar LCD I2C 16×2 dengan Python, Anda perlu memastikan bahwa protokol I2C diaktifkan pada Raspberry Pi Anda. Anda dapat menggunakan utilitas sudo raspi-config untuk mengatasinya. Program ini dinavigasi menggunakan panah keyboard, tab dan tombol Enter. Cari I2C di opsi antarmuka dan aktifkan. Mengaktifkan I2C membutuhkan reboot.

Masuk pada konfigurasi raspberry 





Setelah sistem kembali, Anda dapat memeriksa apakah bus I2C aktif, protokol I2C mendukung banyak perangkat yang terhubung ke bus yang sama, dan protokol ini mengidentifikasi setiap perangkat berdasarkan alamat perangkat kerasnya. Perintah i2cdetect dapat digunakan untuk melihat apa yang terhubung dan apa alamatnya.


Cara termudah untuk memprogram layar LCD 16×2 I2C ini dengan Python adalah dengan menggunakan perpustakaan khusus. Ada banyak pilihan. Saya suka hal-hal sederhana, jadi library yang kami rekomendasikan adalah rpi_lcd.

Instal Library menggunakan perintah ini

sudo pip3 install rpi_lcd

Note : pip3 untuk python 3.x jika menggunakan python 2.x gbisa gunakan pip


Layar Lcd16x2 i2c dengan kode raspberry pi:

Saatnya menulis program uji!

Dengan Library rpi_lcd pemrograman tampilan sangat mudah hanya beberapa baris kode.
from signal import signal, SIGTERM, SIGHUP, pause
from rpi_lcd import LCD
lcd = LCD()
def safe_exit(signum, frame):
    exit(1)
try:
    signal(SIGTERM, safe_exit)
    signal(SIGHUP, safe_exit)
    lcd.text("Apakah,", 1)
    lcd.text("Raspberry Pi!", 2)
    pause()
except KeyboardInterrupt:
    pass
finally:
    lcd.clear() 

hasilnya kira-kira seperti dibawah ini




Tutorial lengkap Pada Video dibawah ini
<<<<0>>>>







0 Comments