Membuat dan menampilkan karakter Custom pada lcd 16x2 I2C dengan Arduino Uno

Proyek ini menampilkan karakter custom pada lcd 16x2 karakter menggunakan mikrokontroler arduino uno. Dengan ardunio uno sangat mudah untuk menampilkan karakter kustom pada lcd. Di Arduino mereka dibangun dalam struktur untuk menghasilkan karakter khusus seperti banyak fitur lain yang menjadikannya papan yang sempurna untuk proyek sistem tertanam atau proyek diy (lakukan sendiri) dll. 

Apa itu karakter khusus?

Karakter kustom adalah karakter buatan sendiri yang kami desain sendiri. Kami memiliki kendali penuh dalam mendesainnya dengan beberapa kendala yang akan saya bahas nanti. Seperti jika kita ingin menampilkan smiley ada lcd 16x2 . Kami tidak memiliki karakter ASCII untuk smiley untuk ditampilkan pada LCD 16x2. Contoh karakter khusus ada di bawah.     



Contoh karakter custom yang ditampilkan pada LCD 16x2Contoh karakter custom yang ditampilkan pada LCD 16x2


Bagaimana karakter kustom dibuat dan ditampilkan pada LCD 16x2?

Kita dapat menghasilkan / menempatkan 8 karakter dengan ukuran 5 × 8 sekaligus.


















5 × 8 merepresentasikan dimensi matriks di mana karakter tertentu dapat ditampilkan. 5 melambangkan jumlah coulomb dan 8 melambangkan jumlah baris. 5 × 8 digabungkan adalah ukuran matriks. Matriks terdiri dari piksel yang kita aktifkan dan nonaktifkan untuk mewakili atau membuat karakter. Misalnya untuk menampilkan Love 💓.


Untuk setiap matriks 5 × 8 dengan karakter khusus di dalamnya, kita harus menerjemahkannya ke dalam bit yang setara. Misalnya nilai biner baris dalam matriks 5 × 8 ditampilkan di bawah ini. Terhadap setiap nilai biner, kode HEX-nya juga diberikan.


Setiap nilai biner piksel yang diaktifkan adalah ' 1 '.
Setiap nilai biner piksel yang dimatikan adalah ' 0 '.
contoh ke 2 membuat tersenyum 😐


Bagaimana cara membuat dan menampilkan karakter khusus?
Dengan fungsi createChar() ini dimungkinkan untuk membuat dan menampilkan karakter kustom pada LCD. 

Ok langsung saja siapkan peralatan yang dibutuhkan :

  • Arduino
  • LCD 16x2 dan Modul i2C
  • Kabel Jumper Male-Fimalekemudian buat rangkaian seperti gambar dibawah ini :
Untuk pemogramannya menampilkan LOVE :


#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
byte Heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};
void setup() {
lcd.init();
lcd.backlight(); // artinya ada lampu pada lcd
lcd.createChar(0, Heart);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 1);
lcd.write(byte(0));
}

 Untuk pemograman  animasi orang berjalan LCD 16x2:




















#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
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);
lcd.createChar(1, customPersonWalk1);
Serial.begin(9600);
}
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);
}
}


Share:

Related Posts:

Tidak ada komentar:

Posting Komentar

Diberdayakan oleh Blogger.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Bawah Artikel