Home » Blog » Teks Berjalan dan Animasi Karakter LCD 16×2 I2C – Arduino Tutorial – Bahasa Indonesia

Teks Berjalan dan Animasi Karakter LCD 16×2 I2C – Arduino Tutorial – Bahasa Indonesia

Dalam video ini, terdapat penjelasan mengenai LCD 16×2 I2C dan perbedaan antara LCD 16×2 yang memiliki modul I2C dan yang tidak memiliki modul I2C. Juga tersedia beberapa tutorial dengan menggunakan Arduino MicroController untuk menampilkan konten pada layar LCD 16×2 I2C, diantaranya teks sederhana, gambar karakter dan animasi orang berjalan.

LCD 16×2 telah digunakan pada banyak alat elektronik, baik jam digital, peralatan rumah tangga, mesin-mesin pabrik dan sebagainya. Meskipun kita bisa menggunakan aplikasi dalam smartphone untuk menunjukkan indikator-indikator dari sebuah alat Internet of Things, LCD bisa langsung menunjukkan informasi indikator penting dari sebuah alat tanpa alat tersebut harus terkoneksi ke Internet.

Tutorial ini dibagi menjadi 5 bagian.

Tutorial pertama menjelaskan detil angkah cara menuliskan konten kata ke LCD 16×2, namun konten bersifat statis.

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Mengatur alamat I2C dan ukuran LCD

void setup() {
  lcd.begin(); // Inisiasi LCD I2C
  lcd.backlight(); // Menyalakan backlight LCD
  lcd.setCursor(0, 0); // Menempatkan LCD pada posisi kiri atas
  lcd.print("PROGRESSTECH"); // Menulis konten
  lcd.setCursor(0, 1); // Menempatkan LCD pada posisi kiri bawah
  lcd.print("Protus");
}

void loop() {
  // put your main code here, to run repeatedly:
  lcd.clear(); // Menghapuskan konten pada layar LCD
  lcd.setCursor(0, 0); // Menempatkan LCD pada posisi kiri atas
  lcd.print("PROGRESSTECH"); // Menulis konten
  delay(1000);
  lcd.setCursor(0, 1); // Menempatkan LCD pada posisi kiri bawah
  lcd.print("Protus");
  delay(1000);
}

Tutorial kedua menjelaskan detil langkah cara menuliskan konten yang dinamis atau berulang-ulang berdasarkan pada pengaturan dalam fungsi Loop

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  // put your setup code here, to run once:
  lcd.begin();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("PROGRESSTECH");
  lcd.setCursor(0, 1);
  lcd.print("Protus");
}

void loop() {
  // put your main code here, to run repeatedly:
  lcd.clear();
  lcd.setCursor(2, 0);
  lcd.print("PROGRESSTECH");
  delay(1000);
  lcd.clear();
  lcd.setCursor(5, 1);
  lcd.print("Mantap");
  delay(1000);
}

Tutorial ketiga menjelaskan detil langkah cara menyusun pengaturan pembuatan karakter dengan mengaktifkan kode binary dalam 40 pixel

Tutorial keempat menjelaskan bagaimana kita bisa membuat karakter gambar hati

Tutorial kelima menjelaskan bagaimana kita bisa membuat animasi orang berjalan

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Mengatur alamat I2C dan ukuran LCD

byte customPersonWalk0[8] = {
  0b01110,
  0b01110,
  0b00100,
  0b00111,
  0b01100,
  0b10110,
  0b00101,
  0b11001
};

byte customPersonWalk1[8] = {
  0b01110,
  0b01110,
  0b00100,
  0b10100,
  0b01110,
  0b00101,
  0b01010,
  0b10001
};

void setup() {
  // put your setup code here, to run once:
  lcd.begin(); // Inisiasi LCD I2C
  lcd.backlight(); // Menyalakan backlight LCD
  lcd.createChar(0, customPersonWalk0); // Membuat karakter baru orang berlari
  lcd.createChar(1, customPersonWalk1); // Membuat karakter baru orang berlari
  Serial.begin(9600); // Program komunikasi atau setup untuk serial monitor dan kecepatan komunikasi
}

void loop() {
  // put your main code here, to run repeatedly:
  for(int count = 0; count < 16; count++) {
    lcd.clear();
    if((count % 2) == 0) {
      lcd.setCursor(count,0);
      lcd.write((byte)0);
    } else {
      lcd.setCursor(count,0);
      lcd.write((byte)1);
    }
    delay(1000);
  }
}

Leave a Reply

Your email address will not be published.