버튼 센서 입력 제어로 작동하는 디지털 스위치 만들기

지난 차시까지는 아두이노 보드가 LED나 부저에 일방적으로 명령을 내리는 ‘출력’ 제어를 배웠습니다. 하지만 진정한 스마트 기기가 되려면 외부의 자극이나 사용자의 명령을 스스로 받아들이는 ‘입력’ 과정이 필수적입니다. 주변의 신호를 컴퓨터로 들여오는 첫걸음이 바로 버튼(푸시 스위치) 센서입니다. 본 포스팅에서는 초등 1~3학년 학생들의 눈높이에 맞춰 디지털 입력의 개념을 알아보고, 버튼을 누를 때만 LED 불이 켜지는 디지털 스위치 시스템을 구현하는 코딩 실습 과정을 소개합니다.

버튼 센서의 디지털 입력(0과 1) 개념 잡기

엠블록 ‘만약 ~ 이라면’ 조건문 블록 결합하기

디지털 출력이 보드에서 전기를 내보내는 것이었다면, 디지털 입력은 외부에서 들어오는 전기의 유무를 아두이노 보드가 알아채는 것입니다. 아이들에게는 “버튼을 누르지 않았을 때는 신호가 0(LOW)이지만, 손가락으로 버튼을 꾹 누르면 전기가 흘러 들어가면서 보드가 1(HIGH)이라는 신호로 인지한다”고 설명합니다.

이렇게 들어온 0과 1의 신호를 판별하기 위해, 제어 카테고리의 [만약 ~ 이라면, 아니면] 블록을 사용합니다. 이 조건문 블록은 코딩에서 아주 중요한 ‘생각하는 길잡이’ 역할을 합니다. 조건식 칸에 [9번 디지털 핀 읽기 = 1] 블록을 결합하여, 버튼이 눌렸을 때와 눌리지 않았을 때 컴퓨터가 서로 다른 행동을 하도록 알고리즘의 뼈대를 만듭니다.

버튼을 누르면 불이 켜지는 직관적인 시스템 구현

조건문 분기를 통한 하드웨어 양방향 제어

이제 조건문 블록 내부에 출력 블록을 조립하여 완벽한 스위치 제어 코드를 완성해 봅니다. 예를 들어 버튼 센서는 9번 핀에, LED 모듈은 10번 핀에 연결합니다.

[만약 9번 디지털 핀 읽기 = 1 (버튼을 눌렀다면)] 바로 아래 칸에는 [10번 디지털 핀 출력 높음(LED ON)] 블록을 넣어주고, 그 아래 [아니면 (버튼을 누르지 않았다면)] 칸에는 [10번 디지털 핀 출력 낮음(LED OFF)] 블록을 조립합니다. 마지막으로 이 조건 검사가 단 한 번만 실행되고 끝나지 않도록 전체 블록을 [무한 반복하기] 내부에 쏙 넣어주어야 합니다. 이 실습을 통해 아이들은 우리가 매일 쓰는 거실 전등 스위치나 엘리베이터 버튼이 어떤 소프트웨어 논리로 작동하는지 원리를 완벽하게 깨닫게 됩니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤