// education & ai

아두이노 출력 이해하기 (디지털 출력과 PWM)

아두이노 입출력 핀에 전압을 내보내는 출력(Output) 제어는 가장 기본적인 액추에이터 제어 방식입니다.


1. 출력 제어 용어 사전 (Glossary)


2. 디지털 출력 (Digital Output) 실습

// 8번 핀에 연결된 외부 LED를 0.5초 간격으로 점멸
const int ledPin = 8;

void setup() {
  pinMode(ledPin, OUTPUT); // 8번 핀의 모드를 출력(OUTPUT)으로 지정
}

void loop() {
  digitalWrite(ledPin, HIGH); // 8번 핀 5V 출력 (LED ON)
  delay(500);
  digitalWrite(ledPin, LOW);  // 8번 핀 0V 출력 (LED OFF)
  delay(500);
}

3. PWM (펄스 폭 변조) 원리와 analogWrite()

아두이노 우노의 디지털 핀 중 물결표시(~)가 있는 3, 5, 6, 9, 10, 11번 핀은 약 490Hz (5, 6번은 980Hz)의 주파수로 PWM 출력을 지원합니다.

// 9번 PWM 핀을 활용한 LED Fade(숨쉬기) 효과
const int pwmPin = 9;

void setup() {
  pinMode(pwmPin, OUTPUT);
}

void loop() {
  // 밝기가 0에서 255까지 솟구침
  for (int b = 0; b <= 255; b += 5) {
    analogWrite(pwmPin, b);
    delay(20);
  }
  // 밝기가 255에서 0으로 떨어짐
  for (int b = 255; b >= 0; b -= 5) {
    analogWrite(pwmPin, b);
    delay(20);
  }
}

4. 피에조 부저 음계 제어 (tone() / noTone())

tone(pin, frequency, duration) 함수를 사용하면 구형파(Square Wave)를 발생시켜 음계를 연주할 수 있습니다.

음계 (Note) 주파수 (Hz) 비고
도 (C4) 262 Hz 4옥타브 도
레 (D4) 294 Hz
미 (E4) 330 Hz
파 (F4) 349 Hz
솔 (G4) 392 Hz
라 (A4) 440 Hz 표준 음고
시 (B4) 494 Hz
도 (C5) 523 Hz 5옥타브 도
const int buzzerPin = 5;
int melody[] = {262, 294, 330, 349, 392, 440, 494, 523};

void setup() {
  for (int i = 0; i < 8; i++) {
    tone(buzzerPin, melody[i], 250); // 0.25초 동안 해당 음 출력
    delay(300);
  }
  noTone(buzzerPin); // 소리 끄기
}
void loop() {}

5. 자주 묻는 질문 (Q&A)

Q. digitalWrite(13, 128) 같이 숫자를 적으면 어떻게 되나요? A. digitalWrite 함수는 0(LOW)이 아닌 모든 숫자를 단순히 HIGH(5V)로 인지하여 켜버립니다. 아날로그처럼 밝기를 조절하려면 반드시 analogWrite()를 써야 합니다.

🎓 DAVHAVE AI & 모바일 개발 마스터링

AI 및 마스터 가이드 수강 중 도움이 필요하시거나 사내 AI 교육 및 에이전트 도입 컨설팅이 필요하신가요?

AI 마스터 문의하기 →
링크가 클립보드에 복사되었습니다! ✓
← 이전 레슨전기전자 기본 상식 (전압, 전류, 저항, 옴의 법칙) 다음 레슨 →아두이노 입력 이해하기 (디지털 입력과 아날로그 입력)