Tutorial penggunaan beberapa LCD 16×2 I2C

Ada kalanya kita perlu menampilkan banyak data melalui layar LCD. Data ini bisa berupa hasil pengukuran dari sensor-sensor yang kita gunakan. Tentunya, secara ideal kita bisa menampilkan datanya hanya pada 1 layar LCD. Namun jika data terlampau banyak dan tidak bisa ditampilkan sekaligus, data bisa disajikan secara bergantian berdasarkan pengaturan waktu.

Alternatif lainnya adalah kita juga bisa menggunakan layar LCD yang lebih besar. Misalnya LCD 20×4 atau beberapa jenis LCD TFT.

Video ini menjelaskan bagaimana kita bisa menggunakan lebih dari LCD 16×2 untuk menampilkan konten data dan menyambungkannya ke mikro controller papan Arduino Uno.

Kode program aplikasi scanner alamat I2C

// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
  Serial.begin (9600);
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;
  
  Wire.begin();
  for (byte i = 8; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response
  } // end of for loop
  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");
}  // end of setup

void loop() {}

Kode program beberapa LCD 16×2 I2C

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd1(0x27, 16, 2); // Set Alamat I2C khusus untuk 0x27 dan Ukuran LCD
LiquidCrystal_I2C lcd2(0x26, 16, 2); // Set Alamat I2C khusus untuk 0x26 dan Ukuran LCD
LiquidCrystal_I2C lcd3(0x21, 16, 2); // Set Alamat I2C khusus untuk 0x21 dan Ukuran LCD

void setup() {
  lcd1.begin();
  lcd1.backlight();
  lcd1.setCursor(0, 0);
  lcd1.print("Berikan Like");
  lcd1.setCursor(0, 1);
  lcd1.print("jika video keren");
  lcd2.begin();
  lcd2.backlight();
  lcd2.setCursor(0, 0);
  lcd2.print("Please ");
  lcd2.setCursor(0, 1);
  lcd2.print("Subscribe");
  lcd3.begin();
  lcd3.backlight();
  lcd3.setCursor(2, 0);
  lcd3.print("ProgressTech");
  lcd3.setCursor(5, 1);
  lcd3.print("Mantap");
  delay(4000);
}

void loop() {
  lcd1.clear();
  lcd1.setCursor(0, 0);
  lcd1.print("Kami Mencari");
  lcd1.setCursor(0, 1);
  lcd1.print("Programmer");
  lcd2.clear();
  lcd2.setCursor(0, 0);
  lcd2.print("Arduino");
  lcd2.setCursor(0, 1);
  lcd2.print("Raspberry Pi");
  lcd3.clear();
  lcd3.setCursor(0, 0);
  lcd3.print("Silahkan");
  lcd3.setCursor(0, 1);
  lcd3.print("Melamar");
  delay(1000);
}

Skema breadboard

skema bread board beberapa LCD 16x2 I2C

Leave a Reply

Your email address will not be published. Required fields are marked *