Arduino Joystick ile I2C LCD Ekranda Hareket
Arduino Joystick & I2C LCD Kullanımı konulu yazımı LCD ekranda hareket haline getirdim. Ekrandaki X karakteri sol-sağ, 1.satır-2.satır gezintisi yapıyor.
KOD
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7);
int xPin = A0; // joystick vry pin
int yPin = A1; // joystick vrx pin
int joyButonPin = 2; // joystick sw pin
int xPos = 0;
int yPos = 0;
int joyButonDurum = 0;
int kolon=7; // cursor pos
int satir=0; // cursor pos
void setup() {
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(joyButonPin, INPUT_PULLUP);
lcd.setCursor(kolon, satir);
lcd.print("X");
}
void loop() {
xPos = analogRead(xPin);
yPos = analogRead(yPin);
joyButonDurum = digitalRead(joyButonPin);
serialEkran();
i2c_LCD();
delay(100);
}
void serialEkran(){
Serial.print("X : ");
Serial.print(xPos);
Serial.print(" | Y : ");
Serial.print(yPos);
Serial.print(" | Buton Durum: ");
Serial.println(joyButonDurum);
}
void i2c_LCD(){
if(xPos>800) {kolon=kolon+1;}
if(xPos<200) {kolon=kolon-1;}
if(kolon>16) kolon=16;
if (kolon<0) kolon=0;
if(yPos>800) {satir=0;lcd.setCursor(kolon+1, satir-1); lcd.print(" ");}
if(yPos<200) {satir=1;lcd.setCursor(kolon-1, satir-1); lcd.print(" ");}
if (joyButonDurum==0){lcd.setCursor(kolon, satir);lcd.print("-X-");delay(200);}
lcd.setCursor(kolon, satir);
lcd.print(" X ");
}
KULLANILAN PROGRAMLAYICI: Arduino 1.8.10
Yorumlar
Yorum Gönder