| 제목 | 답변완료 기초 | ||
|---|---|---|---|
| 질문유형 | 강좌내용 | 교수님 | 장윤경 |
| 과목 | 아두이노 | 강좌명 | [아두이노] 실습으로 아두이노 한 번에 끝내기 (기초) |
| 작성자 | 이*은 (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























