Joystick modülünün x eksenindeki hareket özelliğini kullanarak lcd ekran üzerinde imleci sağa sola hareket ettireceğiz. Y eksenindeki hareket ile de oluşturduğumuz dizi içerisindeki harfleri lcd ekrana yazdıracağız. Bu sayede adınızdan tutun da bir çok kelimeyi lcd ekrana kolaylıkla yazabileceksiniz.
#include ;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char Buyukveri[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I','J','K','L','M','N','O','P','R','S','T','U','V','Y','Z'};
char veri[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i','j','k','l','m','n','o','p','r','s','t','u','v','y','z'};
int elemanSayisi = sizeof(veri);
int xPin=A0;
int yPin=A1;
int Sw=8;
int cr=0; int str=0;
int alfabeSira=0;
bool butonDurum=false;
void setup() {
pinMode(xPin,INPUT);
pinMode(yPin,INPUT);
pinMode(Sw,INPUT_PULLUP);
Serial.begin(9600);
lcd.begin(16, 2);
lcd.cursor();
lcd.setCursor(str, cr);
}
void loop() {
int x=analogRead(xPin);
int y=analogRead(yPin);
int S=digitalRead(Sw);
if(S==LOW){
if(butonDurum==false){butonDurum=true; }else{butonDurum=false;}
delay(300);
}
if(x==1023){
if(cr==15 && str==1){cr=0; str=0; lcd.setCursor(cr, str);
}else{
if(cr==15){str++; cr=0;lcd.setCursor(cr, str);
}else{
cr++; lcd.setCursor(cr, str);}
}
alfabeSira=0;
delay(250);
}
if(x==0){
if(cr==0 && str==0){cr=15; str=1; lcd.setCursor(cr, str);}
else if(cr==0 && str==1){str--; cr=15; lcd.setCursor(cr, str);}
else{cr--; lcd.setCursor(cr, str); }
alfabeSira=0;
delay(250);
}
if(y==0){
if(butonDurum==false){
lcd.write(veri[alfabeSira]);
lcd.setCursor(cr, str);
alfabeSira++; if(alfabeSira>elemanSayisi){alfabeSira=0; lcd.write(veri[alfabeSira]); lcd.setCursor(cr, str); }
delay(250);
}else{
lcd.write(Buyukveri[alfabeSira]);
lcd.setCursor(cr, str);
alfabeSira++; if(alfabeSira>elemanSayisi){alfabeSira=0; lcd.write(Buyukveri[alfabeSira]); lcd.setCursor(cr, str); }
delay(250);
}
}
if(y==1023){
if(butonDurum==false){
alfabeSira--;
if(alfabeSira 0 alfabesira--="" alfabesira="" cr="" delay="" else="" if="" lcd.setcursor="" lcd.write="" pre="" str="" uyukveri="" veri=""