본문 바로 가기

학습 Q&A

강의 내용 궁금증! 교수님이 직접 답변 드립니다

  • 홈
  • 교수소개
  • 공학계열
  • 장윤경 교수님
  • 학습 Q&A

ic_qna.png

강의 범위를 벗어난 질문은 답변이 어렵습니다.
비방, 욕설 등 게시판 성격과 무관한 내용은 사전 고지 없이 삭제됩니다.
답변 완료된 게시글은 수정 및 삭제 불가합니다.

jokjjs0216_03.png

게시판 글보기
제목 답변완료 기초
질문유형 강좌내용 교수님 장윤경
과목 아두이노 강좌명 [아두이노] 실습으로 아두이노 한 번에 끝내기 (기초)
작성자 이*은 (n***********************2) 등록일 2026-03-19 22:59

강의 잘 듣고 있습니다


코드 작성 도중 핀을 입력이나 출력으로 사용하더라도 PinMode 작성을 생략하시는 경우가 있는데 이게 가능한 경우는 아날로그 입력인 경우만인가요?

그리고 생략하는 것을 추천하시나요?

답변 완료된 질문과 답변은 수정 및 삭제가 불가합니다.

댓글
0
장*경 교수님

아두이노(ATmega328P 기반 Uno 기준)가 켜질 때, 모든 디지털 핀의 기본값(Default)'입력(INPUT)' 상태로 초기화됩니다. 이 내부 메커니즘 때문에 다음과 같은 상황에서 생략이 가능해집니다.

아날로그 입력 핀을 사용할 때 (analogRead)

가장 자주 보시는 경우입니다. analogRead(A0)를 호출하면 아두이노 내부에 있는 ADC(A/D 컨버터) 하드웨어가 해당 핀을 아날로그 입력 모드로 알아서 전환하여 값을 읽어옵니다. 따라서 pinMode(A0, INPUT);을 쓸 필요가 없습니다.

일반 디지털 핀을 '입력'으로만 쓸 때 (digitalRead)

아두이노의 핀은 부팅 시 기본적으로 INPUT 상태입니다. 예를 들어 2번 핀에 센서를 연결하고 바로 digitalRead(2);를 하더라도 에러 없이 작동합니다. 이미 기본값이 입력 상태이기 때문입니다.

PWM 출력을 할 때 (analogWrite)

디지털 3, 5, 6, 9, 10, 11번 같은 PWM 핀에 analogWrite(3, 125);를 사용할 때도 pinMode 생략이 가능합니다. analogWrite() 함수 내부에 해당 핀을 출력 모드로 자동 설정하는 코드가 내장되어 있기 때문입니다.

  • 2026-06-09