0Pricing
Arduino & IoT Academy · 강의

INPUT과 INPUT_PULLUP

플로팅 핀이 잘못된 값을 내놓는 이유와 풀업으로 해결하는 방법을 알아봅니다

INPUT과 INPUT_PULLUP은(는) CoddyKit의 무료 Arduino & IoT Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Arduino & IoT Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Arduino & IoT Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

핀도 신호를 받을 수 있습니다

지금까지는 핀이 신호를 밖으로 내보내도록 했습니다. 이제 핀이 대신 듣도록 만들어 보드가 버튼을 감지하고 반응하게 하겠습니다.

핀을 INPUT으로 설정하기

버튼을 읽으려면 먼저 핀이 신호를 받아야 한다고 알려야 합니다. setup() 안에서 핀의 모드를 INPUT으로 설정하면 됩니다.

void setup() {
  pinMode(2, INPUT);
}

떠 있는 핀은 잘못된 값을 냅니다

아무것도 핀을 끌어당기지 않는 INPUT 핀을 부동 상태라고 합니다. 이런 핀은 주변 잡음을 받아 스스로 HIGH와 LOW 사이에서 깜박이듯 바뀝니다.

부동 상태가 문제가 되는 이유

부동 상태인 핀은 버튼에 대한 무작위의 잘못된 값을 냅니다. 아무도 버튼을 누르지 않았는데도 코드가 버튼이 눌렸다고 생각하게 됩니다. ⚡

풀 저항으로 해결하기

풀 저항은 핀을 일정한 전압에 부드럽게 연결합니다. 따라서 버튼이 상태를 바꾸기 전까지 안정적인 기본값을 읽을 수 있습니다.

풀업과 풀다운

풀업은 기본적으로 핀을 HIGH로 유지하고, 풀다운은 LOW로 유지합니다. Arduino에는 편리한 풀업이 칩 안에 내장되어 있습니다.

INPUT_PULLUP 사용하기

추가 저항을 생략하고 모드를 INPUT_PULLUP으로 설정하면 보드가 내부 풀업을 자동으로 활성화합니다.

void setup() {
  pinMode(2, INPUT_PULLUP);
}

논리가 반대로 동작합니다

INPUT_PULLUP을 사용하면 버튼을 놓았을 때 핀이 HIGH를 읽고, 눌렀을 때 LOW를 읽습니다. 의도적으로 논리를 반전한 것입니다.

접지에 연결하기

내부 풀업이 핀을 HIGH로 유지하므로 버튼을 핀과 GND 사이에 연결합니다. 버튼을 누르면 핀이 LOW로 내려갑니다.

배선은 줄이고 오류는 줄이기

INPUT_PULLUP을 사용하면 브레드보드에서 저항 하나를 덜 사용하고 부동 상태인 핀도 없앨 수 있습니다. 대부분의 초보자용 버튼에는 단순히 가장 쉬운 선택입니다.

알맞은 모드 선택하기

회로에 이미 자체 풀 저항이 있을 때만 일반 INPUT을 사용하십시오. 그렇지 않으면 INPUT_PULLUP이 더 안전하고 간단합니다.

빠른 확인

누르지 않은 버튼에서 INPUT_PULLUP이 어떻게 동작하는지 생각해 보십시오.

정리

INPUT 핀은 부동 상태가 되어 잘못된 값을 낼 수 있으며, INPUT_PULLUP이 이를 해결한다는 것을 배웠습니다. 버튼을 놓으면 HIGH, 누르면 LOW입니다. 다음에는 이 값을 실제로 읽어 보겠습니다. 👍

자주 묻는 질문

“INPUT과 INPUT_PULLUP” 강의는 무료인가요?

네 — “INPUT과 INPUT_PULLUP” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Arduino & IoT Academy 강의 전체를 잠금 해제할 수 있습니다. Arduino & IoT Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“INPUT과 INPUT_PULLUP”에서 뭘 배우나요?

플로팅 핀이 잘못된 값을 내놓는 이유와 풀업으로 해결하는 방법을 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Arduino & IoT Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Arduino & IoT Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Arduino & IoT Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“INPUT과 INPUT_PULLUP” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Arduino & IoT Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Arduino & IoT Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. INPUT과 INPUT_PULLUP
  2. 버튼 상태 읽기
  3. if/else: 버튼을 따라가는 LED
  4. 브레드보드에 버튼 연결하기
← Arduino & IoT Academy(으)로 돌아가기