#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);
/* Bir taslakta en fazla sekiz karakter oluşturulabilir. Bir karakter 5 x 8 pikseldir.*/
byte kalp[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000
};
byte gulenYuz[8] = {
0b00000,
0b00000,
0b01010,
0b00000,
0b00000,
0b10001,
0b01110,
0b00000
};
byte kollarAsagi[8] = {
0b00100,
0b01010,
0b00100,
0b00100,
0b01110,
0b10101,
0b00100,
0b01010
};
byte kollarYukari[8] = {
0b00100,
0b01010,
0b00100,
0b10101,
0b01110,
0b00100,
0b00100,
0b01010
};
void setup() {
lcd.begin(16, 2);
lcd.createChar(0, kalp);
lcd.createChar(1, gulenYuz);
lcd.createChar(2, kollarAsagi);
lcd.createChar(3, kollarYukari);
lcd.setCursor(0, 0); // İmleci sol üste konumlandır.
lcd.print("I" );
lcd.write(byte(0)); // 0. karakter byte olarak çağırılır.
lcd.print("Arduino! ");
lcd.write(1);
}
void loop() {
int pot = analogRead(A0); // Pot bağlanabilir, boş da bırakılabilir.
int sure = map(pot, 0, 1023, 200, 1000); // Pot’la animasyon hızını ayarla.
lcd.setCursor(7, 1); // İmleci alt ortaya konumlandır.
lcd.write(2); // Kollar aşağı.
delay(sure);
lcd.setCursor(7, 1);
lcd.write(3); // Kollar yukarı.
delay(sure);
}