Program LCD 16X2 Dengan Komunikasi
I2C (Inter-Integrated
Circuit) / Two-wire (TWI)
LCD 16X2 I2C (Inter-Integrated Circuit) / Two-wire (TWI) |
A.
Pendahuluan
Salam
Otomatisasi, apa kabar semuanya? Semoga baik-baik saja. Kali ini saya akan
membahas tentang “Program LCD 16X2
Dengan Komunikasi I2C (Inter-Integrated Circuit) / Two-wire (TWI)”.
Sebelumnya jangan lupa singgah ke blog saya à http://festyy.com/wNiBaj
untuk membaca materi-materi lainnya tentang Otomatisasi PLC maupun
mikrokontroler dan juga Subscribe serta
Like
channel youtube saya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA
untuk melihat hasil dari percobaan-percobaan dengan mikrokontroler yang telah
dibuat.
Dalam
pembahas sebelumnya di “Komunikasi I2C
(Inter-Integrated Circuit) / Two-wire (TWI)” kita telah menjabarkan
beberapa bagian yaitu pengertian Komunikasi I2C serta mekanisme kerja
komunikasi I2C. Kali ini contoh sederhana implementasi
komunikasi I2C pada Arduino meliputi gambar rangkaian, program dan penjelasan
singkat sistem yang dibuat.
- Perancangan
Setelah diawal kita membahas lebih dalam tentang
komunikasi I2C mulai dari apa itu komunikasi I2C, proses kerjanya dan logika
kerjanya. Kali ini untuk lebih membuat semua memahami komunikasi I2C, maka
langsung saja kita contohkan dalam implementasi menggunakan sebuah modul PCF8574 yang biasa digabungkan dengan
modul LCD 16X2 maupun LCD dengan dimensi lainnya.
Gambar 01. Rangkaian LCD I2C dengan NodeMCU (http://fungkynotes.blogspot.co.id) |
Catatan: Pastikan sambungan modul LCD I2C ke NodeMCU benar merupakan Port
atau Pin jalur i2c yang disediakan pada NodeMCU. Dan sebelum ke pembuatan
program, terlebih dahulu download Library LCD I2C untuk kelancaran komunikasi
I2Cnya.
Listing program ujinya sebagai berikut:
#include
<Wire.h>
#include
<LiquidCrystal_I2C.h>
// Set the LCD
address to 0x3F for a 16 chars and 2 line display
LiquidCrystal_I2C
lcd(0x3F, 16, 2);
void setup() {
lcd.begin();}
void loop()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("hello, world!");
delay(1000);
}
|
Program
pengujian diatas menggunakan library
khusus untuk dapat menggunakan module
LCD, #include
<LiquidCrystal_I2C.h> merupakan library dari LCD yang dimana
setiap akan menggunakannya library ini harus disertakan. LiquidCrystal_I2C
lcd(0x3F, 16, 2); adalah
konfigurasi hardware dimana interfacing
antara pin NodeMCU dengan pin LCD memiliki alamat 0x3F. Alamat 0x3F merupakan alamat i2c yang digunakan oleh modul
yang disambungkan ke LCD seperti pada pembahasan jalur komunikasi i2c. Alamat
I2C setiap hardware berbeda-beda, maka lakukan proses scanning terlebih dahulu untuk mengetahui alamat yang digunakan
oleh perangkat yang akan kamu gunakan.
Perintah lcd.clear(); ini berfungsi untuk menghapus
seluruh tampilan yang ada di LCD. Baris 1 dan baris 2 yang semula terdapat
tulisan akan terhapus. Perintah lcd.begin(); tersebut adalah inisialisasi ukuran
LCD 16 baris 2 kolom. lcd.print("hello, world!"); menulis ke LCD dengan karakter yang ada dalam tanda
kurung(), perhatikan bahwa ada tanda petik dua, berarti tipe datanya string.
lcd.setCursor(0, 0);
untuk menempatkan cursor pada kolom 1 baris 1, indeks kolom dan baris dimulai
urutan ke nol (0). Program diatas diupload ke NodeMcu ESP8266 dan jika sambungan dari rangkaian LCD
16x2 benar dan alamat i2c sesuai, setelah sistem dinyalakan maka tulisan dari
program yang telah dirancang diatas akan tertampil pada LCD sebagaimana pada Gambar 2.
Gambar 02. Hasil Pengujian Tampilan LCD 16x2 (http://fungkynotes.blogspot.co.id) |
Catatan: Jika kamu gak berhasil, maka perhatikan kode yang ini LiquidCrystal_I2C lcd(0x3F, 16, 2); yang
bagian 0x27 itu adalah alamat i2C kamu, ada kemungkinan alamat kamu bukan yang
itu, bisa jadi 0x3F atau yang lainnya.
- Penutup
Demikian penjabaran singkat tentang “Program LCD 16X2 Dengan Komunikasi I2C
(Inter-Integrated Circuit) / Two-wire (TWI)”.
Untuk selanjutnya, buat yang ingin mempelajari Arduino dan lebih mengenal
Arduino ataupun sistem Automation lainnya silakan follow akun sosial media saya di facebook “fungkyking” juga diblog saya di http://festyy.com/wNiBaj dan jangan
lupa subscribe serta Like
channel youtube saya juga di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk
melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler
yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk
penelitian ataupun alat untuk syarat kelulusan.
Demikian pembahasan singkat yang dapat dibahas, mohon
maaf jika terdapat kesalahan dalam penulisan yang mana semua ini semata-mata
hanya opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan tambahan
dari materi pembahasan yang dibahas silahkan dapat teman-teman sertakan pada
kolom komentar tambahan materi yang ingin disampaikan, sampaikan pertanyaan dan
isi kolom komentar dengan bijak.
Terima Kasih,
Salam Otomatisasi
Afriansyah, S.T.
(Fungky King)
fungkyking01@gmail.com
Kata
Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C,
fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller,
otomatis, pemprograman, programming, plc, NodeMCU, ESP8266, Internet of Things
(IoT), Wi-Fi, PWM, ADC, LED, Blink, I2C (Inter-Integrated
Circuit), Two-wire (TWI), Program LCD 16X2 I2C (Inter-Integrated Circuit)
Referensi / Reference:
- www.arduino.ac.id
- http://festyy.com/wNiBaj
- http://destyy.com/wMatJW
- http://arduino.cc/en/Main/Software
- www.google.com
- https://www.fanselectronics.com
- https://kelasrobot.com/
- 8-bit Atmel Microcontroller
with 128Kbytes In-System Programmable Flash: ATMEGA128
- Atmel, AVR318: Dallas 1-Wire Master on tinyAVR and megaAVR
- Afriansyah. 2012. Pengukur Kadar pH Air Berbasis Mikrokontroler ATMega 8, TE-UGM, Yogyakarta.
- https://fungkynotes.blogspot.com/2019/03/menghubungkan-aplikasi-arduino-ide.html
- https://fungkynotes.blogspot.com/2019/02/instruksi-instruksi-dasar-pada.html
- https://fungkynotes.blogspot.com/2019/02/apa-itu-sketch-arduino.html
- http://arduino.cc/en/Guide/Windows
No comments:
Post a Comment
Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!