ARDUINO - Tutorial LCD 16x2 I2C
Menggunakan layar LCD dalam proyek Arduino dapat membantu kita menampilkan informasi secara langsung seperti data sensor, waktu, atau pesan. Namun, layar LCD konvensional menggunakan banyak pin, yang dapat menjadi masalah ketika Anda ingin menghemat pin digital pada Arduino. Di sinilah LCD I2C hadir untuk menyederhanakan koneksi dan penggunaan.
Pada artikel ini, kita akan membahas cara menghubungkan dan mengontrol LCD I2C dengan Arduino. Anda juga akan belajar tentang pustaka yang dibutuhkan serta cara membuat proyek sederhana menggunakan LCD I2C.
Mengapa Menggunakan LCD I2C?
LCD I2C menggunakan modul ekspansi komunikasi I2C (Inter-Integrated Circuit) yang memudahkan kita menghubungkan layar LCD ke Arduino hanya dengan 2 pin data, dibandingkan dengan layar LCD konvensional yang membutuhkan hingga 6 pin. Modul ini juga menyediakan pin VCC, GND, dan kontras yang dapat diatur langsung dari kode program atau potensiometer bawaan.
Menghubungkan LCD I2C dengan Arduino
Salah satu keuntungan utama dari LCD I2C adalah penggunaan 4 pin saja untuk koneksi ke Arduino:
- GND: Sambungkan ke GND Arduino.
- VCC: Sambungkan ke 5V Arduino.
- SDA: Sambungkan ke pin A4 Arduino (jalur data I2C).
- SCL: Sambungkan ke pin A5 Arduino (jalur clock I2C).
Sebelum memulai pengkodean, kita perlu menambahkan pustaka untuk mendukung komunikasi dengan LCD I2C. Pustaka yang akan kita gunakan adalah LiquidCrystal_I2C.h. Untuk menginstalnya:
- Buka Arduino IDE.
- Pergi ke Sketch > Include Library > Manage Libraries.
- Di kotak pencarian, ketik LiquidCrystal I2C dan pilih pustaka LiquidCrystal I2C dari hasil pencarian.
- Klik Install.
- Arduino Uno atau board Arduino lainnya.
- Layar LCD 16x2 dengan modul I2C.
- Kabel jumper dan breadboard.
- Sumber daya Arduino (misalnya, kabel USB atau adaptor daya).
#include <Wire.h>#include <LiquidCrystal_I2C.h>#include <DHT.h>#define DHTPIN 7 // Pin untuk sensor DHT11#define DHTTYPE DHT11 // Jenis sensor DHT11DHT dht(DHTPIN, DHTTYPE);LiquidCrystal_I2C lcd(0x27, 16, 2);void setup() {lcd.init();lcd.backlight();dht.begin();lcd.setCursor(0, 0);lcd.print("Suhu: ");lcd.setCursor(0, 1);lcd.print("Kelembapan: ");}void loop() {// Membaca suhu dan kelembapanfloat suhu = dht.readTemperature();float kelembapan = dht.readHumidity();// Tampilkan suhu di baris pertama setelah teks "Suhu: "lcd.setCursor(6, 0);lcd.print(suhu);lcd.print(" C");// Tampilkan kelembapan di baris kedua setelah teks "Kelembapan: "lcd.setCursor(11, 1);lcd.print(kelembapan);lcd.print(" %");delay(2000); // Tunggu 2 detik sebelum pembacaan berikutnya}
Komentar
Posting Komentar