본문 바로가기
카테고리 없음

아두이노 함수 쉽게 배우기: pinMode()와 digitalWrite()

by AI 세상, 2025. 4. 12.

 

 

아두이노 함수 쉽게 배우기: pinMode()digitalWrite()

아두이노로 LED를 켜거나 버튼을 눌렀을 때 반응하게 만들려면 pinMode()digitalWrite()라는 함수를 꼭 알아야 해요. 이 두 가지 함수는 마치 아두이노에게 "무엇을 어떻게 하라고" 지시하는 말과 같아요.

1. pinMode() 함수란?

pinMode() 함수는 아두이노의 핀을 입력(input)으로 사용할지, 출력(output)으로 사용할지를 정해주는 함수예요.

pinMode(핀번호, 모드);
  • 핀번호: 아두이노 보드의 핀 번호 (예: 13)
  • 모드: INPUT, OUTPUT, INPUT_PULLUP 중 하나
예시:
pinMode(13, OUTPUT);
→ 13번 핀을 출력으로 설정. (LED를 켜는 데 사용 가능)

📌 왜 필요할까?

아두이노는 기본적으로 핀이 입력인지 출력인지 몰라요. 그래서 우리가 알려줘야 해요. 예를 들어, 버튼을 누를 건지(입력) 불을 켤 건지(출력)를 정해줘야 해요.

2. digitalWrite() 함수란?

digitalWrite() 함수는 출력으로 설정된 핀에 전기를 보내거나 끊는 함수예요. 쉽게 말하면, 전구(LED)를 켜거나 끄는 역할을 해요.

digitalWrite(핀번호, 상태);
  • 핀번호: 출력으로 설정한 핀 번호
  • 상태: HIGH(켜짐), LOW(꺼짐)
예시:
digitalWrite(13, HIGH);
→ 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);