Arduino Joystick & I2C LCD Kullanımı
Arduino ile joysitick kullanımı. Joystick durumunu hem I2C LCD üzerinden hem de Seri Port Ekranından izleyebilirsiniz.
,
#include <LiquidCrystal_I2C.h>
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;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(joyButonPin, INPUT_PULLUP);
}
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(){
lcd.setCursor(0, 0);
lcd.print("X:");
lcd.setCursor(2, 0);
lcd.print(" ");
lcd.setCursor(2, 0);
lcd.print(xPos);
lcd.setCursor(7, 0);
lcd.print("Y:");
lcd.setCursor(9, 0);
lcd.print(" ");
lcd.setCursor(9, 0);
lcd.print(yPos);
lcd.setCursor(0, 1);
lcd.print("Buton:");
lcd.print(joyButonDurum);
if (joyButonDurum==0){lcd.setCursor(8, 1);lcd.print("Basili");}
if (joyButonDurum==1){lcd.setCursor(8, 1);lcd.print(" ");}
}
KULLANILAN PROGRAMLAYICI: Arduino 1.8.10
,
Seri Port Ekranından izlemeyi serialEkran() fonksiyonu içine aldım. LCD ekrandan izlemeyi de i2c_LCD fonksiyonu içine aldım. Kodlar gayet basit. Buradan yola çıkarak pek çok projenize kolayca uyarlayabilirsiniz. :)
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;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(HIGH);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
pinMode(joyButonPin, INPUT_PULLUP);
}
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(){
lcd.setCursor(0, 0);
lcd.print("X:");
lcd.setCursor(2, 0);
lcd.print(" ");
lcd.setCursor(2, 0);
lcd.print(xPos);
lcd.setCursor(7, 0);
lcd.print("Y:");
lcd.setCursor(9, 0);
lcd.print(" ");
lcd.setCursor(9, 0);
lcd.print(yPos);
lcd.setCursor(0, 1);
lcd.print("Buton:");
lcd.print(joyButonDurum);
if (joyButonDurum==0){lcd.setCursor(8, 1);lcd.print("Basili");}
if (joyButonDurum==1){lcd.setCursor(8, 1);lcd.print(" ");}
}
KULLANILAN PROGRAMLAYICI: Arduino 1.8.10
Yorumlar
Yorum Gönder