Arduino ile Lcd Ekrana Karakter Yazma

Amaç: Lcd ekran üzerine tükçe karakterler, kalp şekli ve kayan yazı yazdırma

Materyal: 16×02 Lcd, 10K Potansiyometre, Erkek-Erkek Jumper Kablo, Arduino Uno R3, Usb Kablo, Breadboard

Deneyin Yapılışı: İlk olarak devre elamanlarının bağlantısı yapılır (Şekil 1).  

Şekil 1. Devre Şeması
Şekil 2. LCD Bağlantısı
Şekil 3. Deney Düzeneği
Şekil 4. Lcd Ekran Görüntüsü
Şekil 5. Lcd Ekranda Kayan Yazı Görüntüsü

Bağlantı aşaması bittikten sonra sıra kod yazma ve yazılan kodun usb kablo vasıtasıyla Arduino’ya aktarılmasına gelir. Bunun için ilk olarak Arduino programı açılır ve Kart ve Port tanımlaması yapılır. Daha sonra kod girilir. Yükle komutu ile karta yüklenir.

#include <LiquidCrystal.h>
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte sagyarimkalp[8] = {
B00111, B01111, B11111, B11111, B11110, B11100, B11000, B10000};
byte solyarimkalp[8] = {
  B11100, B11110, B11111, B11111, B01111, B00111, B00011, B00001};
byte buyukturkce_c[8] = {
  B01110, B10000, B10000, B10000, B10000, B10000, B01110, B00100};
byte kucukturkce_i[8] = {
  B00000, B00000, B00000, B00100, B00100, B00100, B00100, B00100};
byte kucukturkce_s[8] = {
  B00000, B00000, B01110, B10000, B11110, B00010, B11110, B00100};
byte buyuk_i[8] = {
  B00100, B00000, B01110, B00100, B00100, B00100, B00100, B01110};
byte buyukyumusak_g[8] = {
  B01010, B01110, B00000, B11111, B10000, B10111, B10001, B11111};
byte buyukturkce_u[8] = {
  B01010, B00000, B10001, B10001, B10001, B10001, B10001, B01110};
byte buyukturkce_o[8] = {
  B01010, B00000, B01110, B10001, B10001, B10001, B10001, B01110};
byte buyukturkce_s[8] = {
  B01111, B10000, B10000, B11111, B00001, B00001, B11110, B00100};
byte kucukturkce_c[8] = {
  B00000, B00000, B00000, B01110, B10000, B10000, B01110, B00100};
byte kucukturkce_o[8] = {
  B00000, B00000, B01010, B00000, B01110, B10001, B10001, B01110};
byte kucukturkce_u[8] = {
  B00000, B00000, B00000, B01010, B00000, B01010, B01010, B01110};
byte kucukturkce_g[8] = {
  B01010, B01110, B00000, B01110, B01010, B01110, B00010, B01110};
void setup() {
  lcd.begin(16, 2);
  lcd.createChar(0, sagyarimkalp);
  lcd.createChar(1, solyarimkalp);
  lcd.createChar(2, buyukturkce_c);
  lcd.createChar(3, kucukturkce_i);
  lcd.createChar(4, kucukturkce_s);
  lcd.createChar(5, buyuk_i);
  lcd.createChar(6, buyukyumusak_g);
  lcd.createChar(7, buyukturkce_u);

lcd.setCursor(0,1); lcd.write(byte(2)); lcd.write(byte(5)); lcd.write(byte(6)); lcd.write(byte(7)); lcd.write(char(239)); lcd.write(char(245)); lcd.write(byte(3)); lcd.write(byte(4));
lcd.setCursor(14,1); lcd.write(byte(1)); lcd.write(byte(0));
 delay(1000);
}


void loop(){
int i;

for(i=0; i<16; i++)
{
  lcd.setCursor(i,0);
lcd.print("Selcen "); lcd.write(byte(2)); lcd.print("al"); lcd.write(byte(3)); lcd.write(byte(4)); lcd.print("kan");
delay(1000);
lcd.setCursor(i,0);
lcd.print(" ");
}
 delay(1000);
}

Tablodan özel karakter yazdırmak için “const.byte” kullanmayı denedim fakat istediğim karakterleri bu yolla lcd ekrana getiremedim. Bu sebeple örneğin tablodan “ö” harfinin binary kodunu bularak bu kodu hesap makinesinde decimale çevirdim ve char(239) olarak tanımladım. Diğer oluşturduğum karakterler tabloda olmadığından kodlarını http://maxpromer.github.io/LCD-Character-Creator/ sitesinde çizerek elde ettim.

Yorum yapın