아두이노, LCD와 조이스틱 예제
글. 오상문 sualchi@daum.net
핀 연결 방법입니다.
LCD는 4핀 드라이버가 달린 것입니다.
<아두이노>
LCD: GND -------------------- GND
VCC -------------------- 5V
SDA -------------------- A4
SCL -------------------- A5
조이스틱: GND ---------------- GND
+5V ----------------- 5V
VRX ----------------- A0
VRY ----------------- A1
SW ----------------- 디지털 5번 핀
다음은 예제 코드입니다.
조이스틱 위치 값을 가져와서 디스플레이에 출력합니다.
#include <Wire.h> // LCD I2C 통신 헤더파일
#include <LiquidCrystal_I2C.h> // I2C 시리얼 LCD 헤더파일
const int AXIS_X = A0;
const int AXIS_Y = A1;
const int SW_P = 2;
// 0x27 주소 2열 LCD 객체 생성 (4열 LCD는 0x20 지정)
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() { // LCD 초기화 설정 작업을 합니다.
lcd.init(); // I2C LCD 초기화
lcd.backlight(); // LCD 백라이트 on
Serial.begin(9600);
pinMode(SW_P,INPUT_PULLUP);
}
void loop() {
// 디스플레이 출력
lcd.setCursor(0,0); // 0번 칸 첫 줄로 이동
lcd.print("X: ");
lcd.setCursor(3,0); // 3번 칸 첫 줄로 이동
lcd.print(analogRead(AXIS_X)); // 디스플레이 출력
lcd.setCursor(0,1); // 0번 칸 둘째 줄로 이동
lcd.print("Y: ");
lcd.setCursor(3,1); // 3번째 칸 둘째 줄로 이동
lcd.print(analogRead(AXIS_Y)); // 디스플레이 출력
// 시리얼 창에 출력
Serial.print("X: ");
Serial.println(analogRead(AXIS_X));
Serial.print("Y: ");
Serial.println(analogRead(AXIS_Y));
Serial.print("SW: ");
Serial.println(digitalRead(SW_P));
delay(200);
}
<이상>
'아두이노, 라즈베리파이' 카테고리의 다른 글
아두이노, 릴레이로 꼬마전구 외부전원 제어하기 (0) | 2019.10.29 |
---|---|
아두이노, 초음파 센서와 부저 예제 (0) | 2019.07.18 |
아두이노, LiquidCrystal_I2C_Hangul : LCD 한글 출력 라이브러리 (0) | 2019.07.04 |
아두이노, 수위 센서와 LED 예제 (0) | 2019.07.04 |
아두이노, 사운드 센서와 부저 출력 예제 (0) | 2019.07.04 |