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.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 😐
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 :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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); | |
} | |
} |
Tidak ada komentar:
Posting Komentar