Interfacing LCD 16×2 dengan Mikrokontroler STM32
Pada postingan kali ini kita akan belajar cara menyambung (interfacing) antara LCD 16×2 dengan Mikrokontroler STM32. Peripheral display LCD ini sering dipakai pada proyek/aplikasi mikrokontroler untuk mempermudah interaksi antara alat dengan pengguna (user). Ada banyak model/tipe LCD Display, tetapi yang lebih umum dan cocok untuk belajar awal adalah LCD 16×2 yang mempunyai ukuran 2 baris dan 16 kolom. Jenis LCD ini adalah LCD text, hanya mampu menampilkan text saja,jenis lainnya adalah LCD grafis yang mampu menampilkan grafis/gambar, tidak terbatas pada text saja.
LCD 16×2 secara hardware terdiri dari 16 pin koneksi yang terletak di bagian atas ditandai dengan nomor 1 – 16. Masing – masing pin mempunyai nama dan fungsi tersendiri.
Tidak perlu semua pin (16 pin) dihubungkan dengan pin Mikrokontroler STM32, cukup beberapa saja yaitu 6 pin (RS, E, D4, D5, D6, D7) ditambah 2 pin untuk sumber tegangan (VSS , VDD).
Nah supaya lebih mengerti langsung saja kita praktek interfacing LCD 16×2 dengan mikrokontroler STM32. Kita pakai development sistem STM32F103C8T6 (blue pill) dengan tutorial dasarnya silakan cek postingan sebelumnya “Mengenal Microcontroller STM32 dan Cara Pemrogramannya”.
Kebutuhan bahan silakan disiapkan :
- Development sistem STM32F103C8T6 (Blue pill)
- USB to TTL / USB to Serial (CH340 atau CP2102)
- LCD 16×2
- Trimpot 10 K
- Breadboard
- Kabel konektor
Selanjutnya kita buat rangkaian Interfacing LCD 16×2 dengan Mikrokontroler STM32 seperti pada gambar berikut ini :
Sebenarnya koneksi jalur data LCD (RS, E, D4, D5, D6, D7) tidak harus seperti di rangkaian itu, boleh diganti ke port yang lain asalkan pada pemrogramannya nanti juga menyesuaikan. Trimpot (kaki tengah) dihubungkan dengan pin VEE LCD, kedua kaki yang pinggir dihubungkan dengan 5V dan GND. Fungsinya untuk mengatur kontras LCD (diputar trimpotnya). Pin RW LCD langsung dihubungkan dengan ground.
Kita lanjutkan ke tahap berikutnya yaitu membuat programnya dengan Arduino IDE. Jika anda masih pertama memakai Arduino IDE untuk memprogram STM32 silakan lihat dulu tutorial ini “Mengenal Microcontroller STM32 dan Cara Pemrogramannya”. Ok buka/jalankan Arduino IDE kemudian tulis kode program berikut ini :
#include <LiquidCrystal.h> LiquidCrystal lcd(PA0, PA1,PA2,PA3,PA4,PA5); void setup() { lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Interfacing LCD"); lcd.setCursor(0, 1); lcd.print("dg STM32 Board"); } void loop() { }
Save kemudian Upload. Nah kalau gak ada errornya pada LCD akan tampil :
Jika belum berhasil silakan cek lagi koneksi kabelnya, juga rangkaiannya. Sesuaikan rangkaian dengan programnya terutama koneksi jalur RS, E, D4, D5, D6 dan D7. Oke, yuk kita bahas sebentar programnya.
Baris pertama merupakan library LCD. Sebenarnya untuk menampilkan ke LCD tidak se-sederhana program tadi, akan tetapi semua ‘kerumitan’ sudah dibuat mudah dalam satu paket pustaka (library) yaitu LiquidCrystal.h. Setiap akan memakai program tampilan LCD library ini wajib ditulis di awal program.
#include <LiquidCrystal.h>
Perintah selanjutnya merupakan seting LCD yaitu koneksi antara LCD dengan STM32 blue pill. Perhatikan rangkaiannya lagi. Caranya dengan menulis perintah :
LiquidCrystal lcd(RS, E, D4, D5, D6, D7 );
Pin RS, E, D4, D5, D6 , D7 diganti dengan port/pin pada STM32 yang terhubung ke LCD.
Pin RS (LCD) terhubung ke PA0 (STM32) , pin E terhubung ke PA1, pin D4 konek ke PA2 demikian sampai D7 terhubung ke PA5 sehingga programnya menjadi :
LiquidCrystal lcd(PA0, PA1,PA2,PA3,PA4,PA5);
Berikutnya pada program utama diawali dengan inisialisasi ukuran LCD yaitu LCD 16×2 :
lcd.begin(16, 2);
Cursor merupakan letak/lokasi dimana huruf/karakter akan ditulis. Posisi baris 1 kolom 1 diatur dengan perintah :
lcd.setCursor(0, 0);
Titik koordinat dimulai dari ‘0’ bukan dari ‘1’.
Untuk menuliskan karakter/tulisan ke LCD cukup mudah :
lcd.print("Interfacing LCD");
Perintah berikutnya untuk meletakkan cursor ke baris 2 kolom ke 1 :
lcd.setCursor(0, 1);
Terakhir menuliskan isi tulisannya :
lcd.print("dg STM32 Board");
Oke sudah selesai pembahasan kita Interfacing LCD dengan STM32, lain kesempatan kita posting pernak – pernik pemrograman LCD seperti membuat animasi dsb.
Semoga bermanfaat.
Ardutech – “ Sahabat Inovasi Anda”