페이지

2025년 12월 28일 일요일

3.3.1. 초음파 센서 알아보기

안녕하세요! 여러분의 AI-IT 멘토, '파이컴'입니다. 😊

오늘은 아두이노를 처음 시작할 때 많은 분이 헷갈려 하시는 '버튼 연결'에 대해 깊이 파고들어 보려고 해요. "그냥 버튼 연결하면 되는 거 아니야?"라고 생각할 수 있지만, 안정적인 신호를 받기 위해서는 '풀업 저항'과 '풀다운 저항'이라는 개념을 꼭 알아야 한답니다. 오늘은 그중에서도 '풀업 저항' 연결 방식에 대해 차근차근, 완벽하게 알려드릴게요!

자, 그럼 슬라이드와 함께 아두이노 버튼의 세계로 떠나볼까요?

Slide 1: 03. 버튼의 풀업 저항 연결

아두이노 풀업 저항 연결 개념

오늘의 주인공은 바로 '버튼의 풀업(Pull-up) 저항 연결'입니다.

이전 시간에 '풀다운(Pull-down)' 저항에 대해 배웠었죠? 풀업은 풀다운과 회로 구성이 조금 다르지만, 버튼의 상태를 안정적으로 읽어온다는 핵심 목표는 같아요. 이름에서 힌트를 얻을 수 있듯이, 풀업은 평소에 신호를 '위로 끌어올려(Pull-up)' 놓는 방식이랍니다. 어떻게 그게 가능한지, 지금부터 함께 알아보시죠!

Slide 2: 버튼의 풀업 저항 연결 실습

아두이노 풀업 저항 회로도 및 코드

백문이 불여일견! 이론에 앞서 먼저 실습 회로를 보며 감을 잡아볼게요.

📌 회로 구성

슬라이드 오른쪽의 회로도를 자세히 봐주세요. 풀다운 방식과 저항과 버튼의 위치가 바뀐 것을 알 수 있어요.

  • 저항5V(+ 전원)에 연결해요.
  • 버튼GND(- 전원)에 연결해요.
  • 신호선(아두이노 10번 핀)은 저항과 버튼 사이에 연결해요.

이렇게 연결하면 평소에는 저항을 통해 5V 전기가 신호선으로 흘러서 'HIGH' 상태를 유지하게 됩니다.

📌 소스 코드

놀랍게도 코드는 풀다운 저항 방식과 완전히 똑같아요!

CODE 3.1 | 핀 모드 설정
01 pinMode(10, INPUT); // 10번 핀을 입력 모드로 설정

pinMode() 함수로 핀을 입력으로 설정하는 것은 동일해요. 달라지는 것은 회로뿐, 코드는 그대로 사용하면 된답니다. 이게 어떻게 가능한 걸까요? 바로 '결과'가 반대로 나오기 때문이에요.

📌 결과

풀업 방식의 가장 큰 특징은 결과가 풀다운과 정반대라는 점이에요.

  • 평소 (버튼 안 누름): 1 (HIGH) 신호가 출력돼요.
  • 버튼 누름: 0 (LOW) 신호가 출력돼요.

풀다운이 '누르면 1'이었다면, 풀업은 '누르면 0'이 되는 거죠. 이 원리만 알면 어떤 방식을 사용하든 코드로 충분히 제어할 수 있겠죠?

Slide 3: 전기 흐름의 원리 (1) - 풀다운 방식 복습

풀다운 저항 방식의 전기 흐름 원리 복습

풀업 방식을 제대로 이해하려면, 먼저 풀다운 방식의 원리를 다시 한번 짚어보는 게 좋아요. 비교하면서 보면 이해가 훨씬 쉽거든요!

✅ 풀다운(Pull-down) 방식

  • 버튼을 뗐을 때: 신호선이 저항을 통해 GND에 연결되어 있어요. 그래서 평소 상태는 LOW(0) 입니다. 이때 5V 전기는 버튼이 눌리지 않아 길이 끊겨 있으므로 아무런 영향을 주지 못해요.
  • 버튼을 눌렀을 때: 5V로 가는 길이 연결되죠! 이때 신호선은 저항이 있는 GND와 저항이 없는 5V 양쪽 길에 모두 닿게 돼요.

💡 핵심 원리

여기서 가장 중요한 원리가 등장합니다! "전기는 저항이 없는 편한 길을 선택한다."
버튼이 눌리면 신호선 입장에서는 저항을 거쳐 GND로 가는 힘든 길보다, 아무 방해 없이 5V로 직행하는 편한 길이 열리는 거예요. 그래서 신호선은 곧바로 HIGH(1) 상태가 됩니다.

Slide 4: 전기 흐름의 원리 (2) - 풀업 방식

풀업 저항 방식의 전기 흐름 원리 설명

자, 이제 오늘의 진짜 주인공! 풀업 방식의 원리를 파헤쳐 볼 시간입니다.

✅ 풀업(Pull-up) 방식

  • 버튼을 뗐을 때: 신호선이 저항을 통해 5V에 연결되어 있어요. 그래서 평소 상태는 HIGH(1) 입니다. 이름 그대로 신호를 위(5V)로 '끌어올려(Pull-up)' 놓은 상태죠.
  • 버튼을 눌렀을 때: GND로 가는 길이 연결됩니다! 이때 신호선은 저항이 있는 5V와 저항이 없는 GND 양쪽 길에 모두 닿게 돼요.

💡 핵심 원리

여기에도 똑같은 원리가 적용돼요. "전기는 저항이 없는 편한 길을 선택한다."
버튼이 눌리면 신호선에 흐르던 전기는 저항을 거슬러 5V로 가는 힘든 길 대신, 저항 없이 바로 연결되는 GND라는 편한 길로 모두 빠져나가 버립니다. 마치 댐 수문을 열면 물이 모두 아래로 쏟아지는 것처럼요! 그 결과, 신호선의 전압은 순식간에 0에 가까워지며 LOW(0) 상태가 되는 것이죠.

어떠셨나요? '풀업'과 '풀다운', 이제 확실히 구분이 되시나요? 😊

두 방식은 단지 저항과 버튼의 위치를 바꾸고, 그로 인해 HIGH/LOW 신호가 반대로 나올 뿐, '플로팅 현상'을 막고 안정적인 버튼 신호를 읽는다는 본질은 같습니다.

  • 풀다운 (Pull-down): 평소 LOW, 누르면 HIGH
  • 풀업 (Pull-up): 평소 HIGH, 누르면 LOW

어떤 방식을 선택할지는 개발자의 취향이나 회로의 전체적인 설계에 따라 달라질 수 있어요. 중요한 것은 두 방식의 원리를 모두 이해하고, 상황에 맞게 코드를 작성할 수 있는 능력이랍니다.

오늘 배운 내용을 바탕으로 직접 브레드보드에 풀업 회로를 꾸며보고, 시리얼 모니터로 0과 1이 반대로 찍히는 것을 꼭 확인해보세요! 궁금한 점이 있다면 언제든 댓글로 질문 남겨주시고요.

그럼 다음에도 더 유익한 IT/기술 이야기로 찾아오겠습니다! 👋

이 포스팅의 내용은 교재 [주니어 공학교실 아두이노의 기초] **-** 페이지에 수록된 내용입니다.

댓글 없음:

댓글 쓰기