페이지

2026년 4월 25일 토요일

6.3.3. 인코더(Encoder) 실습 (4-입력 2-출력)






CODE 6.3 | 인코더 실습
01void setup() {
02  // 출력 핀 설정: LED 연결
03  pinMode(10, OUTPUT); // 상위 비트(Y1) 출력
04  pinMode(11, OUTPUT); // 하위 비트(Y0) 출력
05  
06  // 입력 핀 설정: 버튼 연결 (내부 풀업 저항 사용)
07  pinMode(2, INPUT_PULLUP); // 입력 D0
08  pinMode(3, INPUT_PULLUP); // 입력 D1
09  pinMode(4, INPUT_PULLUP); // 입력 D2
10  pinMode(5, INPUT_PULLUP); // 입력 D3
11}
12 
13void loop() {
14  // 버튼 입력을 논리 상태(눌림=1, 떼어짐=0)로 반전하여 읽기
15  int D0 = (digitalRead(2) == LOW);
16  int D1 = (digitalRead(3) == LOW);
17  int D2 = (digitalRead(4) == LOW);
18  int D3 = (digitalRead(5) == LOW);
19 
20  // [인코더 논리 판별 과정]
21  // Y1은 D2 또는 D3가 입력되었을 때 1(HIGH)이 된다.
22  int Y1 = D2 || D3;
23 
24  // Y0은 D1 또는 D3가 입력되었을 때 1(HIGH)이 된다.
25  int Y0 = D1 || D3;
26 
27  // 결과 출력
28  digitalWrite(10, Y1);
29  digitalWrite(11, Y0);
30}



 

댓글 없음:

댓글 쓰기