LCD biasanya digunakan sebagai output tampilan sederhana pada sebuah sistem mikrokontroller. Sebuah LCD bisa menampilkan karakter alfanumerik, beda dengan seven segment (7 segment) yang hanya menampilkan karakter angka saja. Untuk output tampilan yang animatif, LCD ini layak untuk dipertimbangkan dalam project elektronika Anda.
Di pasaran, yang paling banyak tersedia dan paling terjangkau harganya adalah LCD 16×2 yang artinya ada 2 baris tampilan dengan perbarisnya ada 16 kolom atau 16 karakter. Jadi total ada 32 karakter yang dapat tertampil dalam LCD 16×2 (ya iyalah 16×2 anak SD juga tahu kalo hasilnya 32 he he he).
[AdSense-B]
Sebagai persiapan, rangkailah prototipe rangkaian sebagai berikut. Jika Anda membeli LCD 16×2 (bukan yang bertipe modul), Anda harus sedikit mensolder bagian pinout untuk nantinya dihubungkan ke Arduino atau protoboard.
Gambar rangkaian :
Hardware yang dibutuhkan :
– Arduino Uno + kabel USB tipe B
– LCD 16×2
– potensiometer/trimpot 10K
– resistor 10k
– beberapa kabel jumper
– protoboard
Koneksi wiring :
– pin RS LCD <–> pin 12 Arduino
– pin Enable (E) LCD <–> pin 11 Arduino
– pin D4 LCD <–> pin 5 Arduino
– pin D5 LCD <–> pin 4 Arduino
– pin D6 LCD <–> pin 3 Arduino
– pin D7 LCD <–> pin 2 Arduino
– pin R/W LCD <–> ground
– pin VSS LCD <–> ground
– pin VCC LCD <–> 5V
– wiper potensiometer/trimpot <–> pin VO LCD
Kurang lebih prototipe rangkaian setelah selesai dirakit adalah sebagai berikut :
Setelah rangkaian hardware sudah selesai, upload-lah sketch Arduino sebagai berikut :
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); lcd.print("hello, world!"); } void loop() { lcd.setCursor(0, 1); lcd.print(millis() / 1000); }
Inti dari sketch di atas terletak pada library ‘LiquidCrystal.h’. Library ini adalah library bawaan dari Arduino, sehingga Anda bisa langsung menggunakannya. Jika Anda sudah mendeklarasikan library ini, Anda akan memiliki sebuah objek yang bernama ‘lcd’ yang memiliki beberapa method yang akan memudahkan Anda menangani hardware LCD Anda. Contoh-contoh method tersebut adalah :
lcd.begin (baris,kolom); –> untuk inisialisasi LCD sesuai tipenya (contoh LCD 16×2, maka perintahnya adalah lcd.begin (16,2);
lcd.print (karakter); –> untuk menampilkan karakter di LCD. Parameter ‘karakter’ harus bertipe string
lcd.setCursor (baris,kolom); –> mengeset lokasi dengan koordinat (baris,kolom) untuk karakter yang akan ditampilkan.
[AdSense-B]
Setelah Anda upload sketch di atas, kemudian perhatikan tampilan LCD. Sudah tertampilkah karakter ‘hello world’ di sana? Jika belum, Anda perlu mengatur brightness karakter dengan memutar-mutar potensiometer/trimpot yang terhubung dengan pin Vo. Jika sekarang sudah tertampil, selamat, Anda sudah berhasil membuat tampilan di LCD 16×2 dari Arduino. Cukup mudah bukan? Dengan adanya library ‘LiquidCrystal’ dari Arduino membuat semuanya jadi lebih mudah. Anda tidak perlu mengeset satu persatu alamat memori LCD dan mengisinya dengan karakter yang akan ditampilkan. Pada artikel berikutnya akan saya jelaskan lebih detail mengenai cara kerja LCD dan bagaimana cara menanganinya secara programatikal.
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
gan kalau gada potensiometer untuk membuati tu bisa ?
ntar susah ngatur kecerahan (brigthness) LCD gan
Mas maaf mau tanya kenapa ya lcd yg saya rangkai tidak mau menyala ?
Terima kasih
coba atur brightness-nya di pin no 3, dengan mengatur potensiometer sesuai gambar rangkaian di atas. Cek juga backlight LCD di pin 15 (+V) dan 16 (GND)
siang pak ajie, saya coba menggabungkan untuk membaca data serial di port 0 dan 1 di adruino dan ditampilkan di LCD namun mengalamai kegagalan. data karakter yang dikirimkan sudah masuk tapi karakternya berbeda saya coba kirim karakter melalui program demo dari delphi comport – cport310, ComportExample.exe. jika saya mengirimkan karakter 1 di LCD tampil g, 2 di LCD tampil 3, karakter a di LCD tampil 0. Baudrate juga sudah saya samakan. namun tetap saja data yang terbaca tidak sama berikut ini saya tampilkan programnya #include char vdata; LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); int backlight = 13; void… Read more »
coba delay (100); dan while (Serial.avaialble()>0) dihilangkan mas
ini sudah saya hilangkan pak ajie, namun masih tidak sama kalau saya kirimkan. ini kemarin perintah lcd.write(vdata) juga saya hilangkan dan saya ganti perintahnya serial.print(vdata); hasilnya memang kalau di simulator serial adruino juga karakternya kacau. oh ya pak ajie, saya pakai USB to Serial apakah penyebabnya ini ya? jadi datanya loss ?
kalo karakternya kacau biasanya karena baudrate-nya tidak sama.
Coba pake arduino uno dulu, jgn langsung pake usb to serial
Halo pak.. Saya baru coba coding punya bapak. Tapi saat saya hubungkan arduino ke lcd nya, kenapa port arduino jadi tidak terdeteksi di laptop? Mohon bantuannya, Pak. Terimakasih.
coba dicek lagi wiring kabelnya ya
hay gan. saya sudah coba rangkai smuanya tetapi karakter lcd belum juga tampil. kira-kira kesalahannya dimana ya. harap bantuannya
coba atur potensionya gan, itu mengatur brightness karakter LCD. Punya agan mungkin sudah keluar karakternya, cuma ngga kelihatan aja (gelap)
Selamat sore mas Aji, untuk LCD ngambil sumber 5 V itu eksternal ya? Bisa nggak digabung dengan 5v Arduino ?
bisa mas
kalau di lcd nya hanya terlihat kotak putih – putih itu knp mas?, helloworld nya tidak tampil mas, potensio sudah posisi max
potensiometer brightness-nya coba diputar2 mas, jangan pada posisi max, ntar jadinya malah putih kyk gitu
mas saya coba lcd 16×2 arduino, pake sumber 5V langsung dari power supply tp kok karakternya g bisa muncul ya ? tp waktu power supply 5v dari arduino bisa muncul. saya pake sumber langsung dari power supply soalnya 5V dari arduino kurang mencukupi kebutuhan daya buat banyak output.
kemungkinan ground power supply belum terkoneksi dengan ground arduino
Malam gan, cara menghubungkn rangkaian jembatan whetastone ke arduino gimna crax gan.
setiap parameter analog yg akan diukur arduino harus dikonversi menjadi tegangan dan masuk ke pin analog arduino
Hallo mas, saya sudah coba rangkai sesuai dengan skema , tapi yang tampil di lcd hanya kotak2 putih ? apakah lcd yg rusak? mhn masukannya. terimakasih
coba trimpot yang ada di V0 diputar-putar mas