아두이노 함수 쉽게 배우기: pinMode()
와 digitalWrite()
아두이노로 LED를 켜거나 버튼을 눌렀을 때 반응하게 만들려면 pinMode()
와 digitalWrite()
라는 함수를 꼭 알아야 해요. 이 두 가지 함수는 마치 아두이노에게 "무엇을 어떻게 하라고" 지시하는 말과 같아요.
1. pinMode()
함수란?
pinMode()
함수는 아두이노의 핀을 입력(input)으로 사용할지, 출력(output)으로 사용할지를 정해주는 함수예요.
pinMode(핀번호, 모드);
- 핀번호: 아두이노 보드의 핀 번호 (예: 13)
- 모드:
INPUT
,OUTPUT
,INPUT_PULLUP
중 하나
예시:
→ 13번 핀을 출력으로 설정. (LED를 켜는 데 사용 가능)
pinMode(13, OUTPUT);
→ 13번 핀을 출력으로 설정. (LED를 켜는 데 사용 가능)
📌 왜 필요할까?
아두이노는 기본적으로 핀이 입력인지 출력인지 몰라요. 그래서 우리가 알려줘야 해요. 예를 들어, 버튼을 누를 건지(입력) 불을 켤 건지(출력)를 정해줘야 해요.
2. digitalWrite()
함수란?
digitalWrite()
함수는 출력으로 설정된 핀에 전기를 보내거나 끊는 함수예요. 쉽게 말하면, 전구(LED)를 켜거나 끄는 역할을 해요.
digitalWrite(핀번호, 상태);
- 핀번호: 출력으로 설정한 핀 번호
- 상태:
HIGH
(켜짐),LOW
(꺼짐)
예시:
→ 13번 핀에 전기를 보내서 LED를 켬
digitalWrite(13, HIGH);
→ 13번 핀에 전기를 보내서 LED를 켬
예시:
→ 13번 핀의 전기를 끊어서 LED를 끔
digitalWrite(13, LOW);
→ 13번 핀의 전기를 끊어서 LED를 끔
3. 함께 사용한 예제 코드
아래는 아두이노의 13번 핀에 연결된 LED를 1초 간격으로 켰다 껐다 반복하는 예제예요.
void setup() {
pinMode(13, OUTPUT); // 13번 핀을 출력으로 설정
}
void loop() {
digitalWrite(13, HIGH); // LED 켜기
delay(1000); // 1초 기다림
digitalWrite(13, LOW); // LED 끄기
delay(1000); // 1초 기다림
}
pinMode()
는 딱 한 번, 시작할 때만 실행되고digitalWrite()
는 loop()
안에서 계속 반복되며 실행돼요.
4. 쉽게 비유해 보기
pinMode()
는 콘센트를 "스위치용으로 쓸지", "전구용으로 쓸지" 정하는 거예요.digitalWrite()
는 실제로 스위치를 눌러 전기를 켜거나 끄는 동작이에요.
5. 마무리 정리
함수 이름 | 기능 | 예시 |
---|---|---|
pinMode() |
핀을 입력 또는 출력으로 설정 | pinMode(13, OUTPUT); |
digitalWrite() |
출력 핀에 전기(HIGH) 또는 끔(LOW) 설정 | digitalWrite(13, HIGH); |