Raspberry Pi adalah papan berbasis prosesor arsitektur ARM yang dirancang untuk insinyur elektronik dan penghobi. PI adalah salah satu platform pengembangan proyek paling tepercaya saat ini. Dengan kecepatan prosesor yang lebih tinggi dan RAM 1 GB, PI dapat digunakan untuk banyak proyek profil tinggi seperti Pemrosesan gambar dan IoT.
Untuk melakukan salah satu proyek profil tinggi, seseorang perlu memahami fungsi dasar PI. Kami akan membahas semua fungsi dasar Raspberry Pi dalam tutorial ini. Dalam setiap tutorial kita akan membahas salah satu fungsi PI. Pada akhir Seri Tutorial Raspberry Pi ini, Anda akan dapat melakukan proyek profil tinggi sendiri. Pergi melalui tutorial di bawah ini:
- Memulai dengan Raspberry Pi
- Konfigurasi Raspberry Pi
- LED Blinky
- Antarmuka Tombol
- Generasi PWM
- Mengontrol Motor DC
- Kontrol Motor Stepper
- Interfacing Shift Register
- Tutorial ADC Raspberry Pi
- Kontrol Motor Servo
- Panel Sentuh Kapasitif
Dalam tutorial ini, kita akan Mengontrol Tampilan LCD 16x2 menggunakan Raspberry Pi. Kami akan menghubungkan LCD ke pin GPIO (General Purpose Input Output) PI untuk menampilkan karakter di atasnya. Kami akan menulis program di PYTHON untuk mengirim perintah yang sesuai ke LCD melalui GPIO dan menampilkan karakter yang diperlukan di layarnya. Layar ini akan berguna untuk menampilkan nilai sensor, status interupsi dan juga untuk menampilkan waktu.
Ada berbagai jenis LCD di pasaran. LCD grafis lebih kompleks dari LCD 16x2. Jadi di sini kita akan pergi untuk layar LCD 16x2, Anda bahkan dapat menggunakan LCD 16x1 jika Anda mau. 16x2 LCD memiliki 32 karakter secara total, 16 di 1 st line dan 16 lain di 2 nd line. JHD162 adalah LCD karakter Modul LCD 16x2. Kami telah menghubungkan LCD 16x2 dengan 8051, AVR, Arduino dll. Anda dapat menemukan semua proyek LCD 16x2 kami yang terkait dengan mengikuti tautan ini.
Kami akan membahas sedikit tentang PI GPIO sebelum melangkah lebih jauh.
Ada 40 pin keluaran GPIO di Raspberry Pi 2. Namun dari 40, hanya 26 pin GPIO (GPIO2 hingga GPIO27) yang dapat diprogram. Beberapa pin ini menjalankan beberapa fungsi khusus. Dengan penyisihan GPIO khusus, kami memiliki 17 GPIO tersisa.
Ada pin output daya + 5V (Pin 2 atau 4) dan + 3,3V (Pin 1 atau 17) di papan, ini untuk menghubungkan modul dan sensor lain. Kami akan menyalakan LCD 16 * 2 melalui rel + 5V. Kita dapat mengirim sinyal kontrol + 3.3v ke LCD tetapi untuk bekerja pada LCD kita perlu menyalakannya dengan + 5V. LCD tidak akan bekerja dengan + 3.3V.
Untuk mengetahui lebih banyak tentang pin GPIO dan outputnya saat ini, buka: LED Berkedip dengan Raspberry Pi
Komponen yang Dibutuhkan:
Di sini kami menggunakan Raspberry Pi 2 Model B dengan Raspbian Jessie OS. Semua persyaratan dasar Perangkat Keras dan Perangkat Lunak telah dibahas sebelumnya, Anda dapat mencarinya di Pengenalan Raspberry Pi, selain itu yang kami butuhkan:
- Menghubungkan pin
- 16 * 2 Modul LCD
- Resistor 1KΩ (2 buah)
- Pot 10K
- Kapasitor 1000µF
- Papan tempat memotong roti
Sirkuit dan Penjelasan Kerja:
Seperti yang ditunjukkan pada Diagram Sirkuit, kami memiliki Raspberry Pi Interfaced dengan layar LCD dengan menghubungkan 10 pin GPIO PI ke Pin Kontrol dan Transfer Data LCD 16 * 2. Kami telah menggunakan GPIO Pin 21, 20, 16, 12, 25, 24, 23, dan 18 sebagai BYTE dan membuat fungsi 'PORT' untuk mengirim data ke LCD. Disini GPIO 21 adalah LSB (Least Significant Bit) dan GPIO18 adalah MSB (Most Significant Bit).
Modul LCD 16x2 memiliki 16 pin, yang dapat dibagi menjadi lima kategori, Pin Power, Pin Kontras, Pin Kontrol, Pin Data dan Pin Backlight. Berikut uraian singkat tentang mereka:
Kategori |
Pin NO. |
Nama Pin |
Fungsi |
Pin Daya |
1 |
VSS |
Pin Ground, terhubung ke Ground |
2 |
VDD atau Vcc |
Pin tegangan + 5V |
|
Kontras Pin |
3 |
V0 atau VEE |
Pengaturan Kontras, terhubung ke Vcc melalui resistor variabel. |
Pin Kontrol |
4 |
RS |
Register Pilih Pin, RS = 0 Mode perintah, RS = 1 Mode data |
5 |
RW |
Baca / Tulis pin, RW = 0 Mode tulis, RW = 1 Mode baca |
|
6 |
E |
Aktifkan, pulsa tinggi ke rendah perlu mengaktifkan LCD |
|
Pin Data |
7-14 |
D0-D7 |
Pin Data, Menyimpan Data untuk ditampilkan pada LCD atau instruksi perintah |
Pin Lampu Latar |
15 |
LED + atau A |
Untuk menyalakan Lampu Latar + 5V |
16 |
LED- atau K. |
Tanah Backlight |
Kami sangat menyarankan untuk membaca artikel ini saja untuk memahami LCD yang berfungsi dengan Pin dan Perintah Hex-nya.
Kami akan membahas secara singkat proses pengiriman data ke LCD:
1. E disetel tinggi (mengaktifkan modul) dan RS disetel rendah (memberi tahu LCD bahwa kami memberikan perintah)
2. Memberikan nilai 0x01 pada data port sebagai perintah untuk membersihkan layar.
3. E disetel tinggi (mengaktifkan modul) dan RS disetel tinggi (memberi tahu LCD bahwa kami memberikan data)
4. Membuktikan kode ASCII untuk karakter yang perlu ditampilkan.
5. E disetel rendah (memberi tahu LCD bahwa kami selesai mengirim data)
6. Setelah pin E ini rendah, LCD memproses data yang diterima dan menunjukkan hasil yang sesuai. Jadi pin ini disetel ke tinggi sebelum mengirim data dan ditarik ke bawah setelah mengirim data.
Seperti yang dikatakan kami akan mengirim karakter satu demi satu. Para karakter yang diberikan kepada LCD dengan kode ASCII (American standar Kode untuk Informasi Interchange). Tabel kode ASCII ditunjukkan di bawah ini. Misalnya, untuk menampilkan karakter "@", kita perlu mengirimkan kode heksadesimal "40". Jika kita memberi nilai 0x73 pada LCD maka akan muncul “s”. Seperti ini kita akan mengirimkan kode yang sesuai ke LCD untuk menampilkan string " CIRCUITDIGEST ".
Penjelasan Pemrograman:
Setelah semuanya terhubung sesuai diagram rangkaian, kita dapat MENGAKTIFKAN PI untuk menulis program di PYHTON.
Kami akan berbicara tentang beberapa perintah yang akan kami gunakan dalam program PYHTON, Kami akan mengimpor file GPIO dari perpustakaan, fungsi di bawah ini memungkinkan kami untuk memprogram pin GPIO PI. Kami juga mengganti nama "GPIO" menjadi "IO", jadi dalam program kapan pun kami ingin merujuk ke pin GPIO, kami akan menggunakan kata 'IO'.
impor RPi.GPIO sebagai IO
Terkadang, ketika pin GPIO, yang kami coba gunakan, mungkin melakukan beberapa fungsi lain. Dalam hal ini, kami akan menerima peringatan saat menjalankan program. Perintah di bawah ini memberi tahu PI untuk mengabaikan peringatan dan melanjutkan program.
IO.setwarnings (Salah)
Kita dapat merujuk pin GPIO PI, baik dengan nomor pin di papan atau dengan nomor fungsinya. Seperti 'PIN 29' di papan tulis adalah 'GPIO5'. Jadi kami beri tahu di sini apakah kami akan mewakili pin di sini dengan '29' atau '5'.
IO.setmode (IO.BCM)
Kami menetapkan 10 pin GPIO sebagai pin keluaran, untuk pin Data dan Kontrol LCD.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
sementara 1: perintah digunakan sebagai perulangan selamanya, dengan perintah ini pernyataan di dalam perulangan ini akan dijalankan terus menerus.
Semua fungsi dan perintah lainnya telah dijelaskan di bawah bagian 'Kode' dengan bantuan 'Komentar'.
Setelah program ditulis dan dijalankan, Raspberry Pi mengirimkan karakter ke LCD satu per satu dan LCD menampilkan karakter di layar.