페이지

2026년 6월 19일 금요일

5.3.3. 버튼으로 출력 메시지 변경하기





CODE 5.6 | 버튼으로 LCD 메시지 변경하기
01#include <LiquidCrystal_I2C.h>
02 
03LiquidCrystal_I2C lcd(0x20, 16, 2); // I2C 주소, 16칸, 2줄 설정
04 
05int btnPin = 2; // 푸시 버튼을 연결한 디지털 핀
06int lastState = HIGH; // 버튼의 이전 상태 저장
07 
08void setup() {
09  lcd.init(); // LCD 초기화
10  lcd.backlight(); // LCD 화면 배경 켜기
11 
12  pinMode(btnPin, INPUT_PULLUP); // 버튼 핀에 내부 풀업 저항 사용
13 
14  lcd.setCursor(0, 0); // 첫 번째 줄의 첫 번째 칸으로 위치 이동
15  lcd.print("Waiting..."); // 초기 메시지 출력
16}
17 
18void loop() {
19  int currentState = digitalRead(btnPin); // 버튼 상태 읽기
20 
21  // 버튼 상태가 바뀌었을 때만 화면 갱신
22  if (currentState != lastState) {
23    lcd.clear(); // LCD 화면 지우기
24    lcd.setCursor(0, 0); // 첫 번째 줄의 첫 번째 칸으로 위치 이동
25 
26    // 버튼이 눌리면 LOW 신호가 입력됨
27    if (currentState == LOW) {
28      lcd.print("Button Pressed!");
29    }
30    // 버튼을 누르지 않으면 HIGH 신호가 입력됨
31    else {
32      lcd.print("Waiting...");
33    }
34 
35    delay(50); // 0.05초 대기
36  }
37 
38  lastState = currentState; // 현재 상태를 이전 상태로 저장
39}



 

댓글 없음:

댓글 쓰기