엔트리 초음파 센서로 만드는 장애물 감지 스마트 로봇|아두이노 HC-SR04 연동 방법

엔트리 초음파 센서와 아두이노로 구현한 장애물 감지 스마트 로봇

엔트리 초음파 센서는 단순히 코딩 명령을 입력하는 것을 넘어, 현실 세계의 데이터를 컴퓨터가 이해할 수 있도록 변환하는 피지컬 컴퓨팅(Physical Computing)의 대표적인 교육 도구입니다.

HC-SR04 초음파 센서는 초음파를 발사하고 반사되어 돌아오는 시간을 측정하여 물체까지의 거리를 계산합니다. 이렇게 얻어진 거리 데이터는 아두이노를 통해 엔트리(Entry) 플랫폼으로 전달되고, 학생들은 블록코딩을 이용해 실제 움직이는 스마트 로봇 자동차를 제작할 수 있습니다.


엔트리 초음파 센서의 거리 측정 원리와 데이터 처리 과정

HC-SR04 초음파 센서가 거리를 측정하는 방법

HC-SR04는 사람이 직접 거리를 입력하지 않아도 주변 물체와의 거리를 자동으로 측정하는 센서입니다.

센서에는 두 개의 중요한 핀이 있습니다.

역할
Trig초음파 발사 신호 출력
Echo반사되어 돌아온 초음파 수신

동작 과정은 다음과 같습니다.

  1. 아두이노가 Trig 핀에 신호를 전달합니다.
  2. HC-SR04가 40kHz 초음파를 발사합니다.
  3. 초음파가 장애물에 부딪혀 반사됩니다.
  4. Echo 핀이 돌아온 시간을 측정합니다.
  5. 아두이노가 거리를 계산합니다.

거리 계산 공식은 다음과 같습니다.

거리 = 음속 × 시간 ÷ 2

초음파는 장애물까지 이동한 후 다시 돌아오기 때문에 왕복 시간을 측정한 뒤 절반으로 계산합니다.

예를 들어 초음파가 빠르게 돌아오면 가까운 장애물이며, 늦게 돌아오면 먼 거리에 장애물이 있다는 의미입니다.


장애물 감지 로봇 bread map

엔트리 초음파 센서와 Entry Hardware 시리얼 통신 구조

아두이노에서 계산된 거리 값은 엔트리로 바로 전달되지 않습니다.

중간에서 Entry Hardware 프로그램이 데이터 전달 역할을 수행합니다.

전체 구조는 다음과 같습니다.

HC-SR04 센서
      ↓
아두이노 UNO
      ↓
Serial 통신(9600bps)
      ↓
Entry Hardware
      ↓
엔트리 변수
      ↓
블록코딩 실행
      ↓
모터 및 출력 장치 제어

예를 들어 센서가 측정한 값이

거리 = 15cm

라면 엔트리에서는 해당 값을 변수로 받아 다음과 같은 조건을 만들 수 있습니다.

만약 거리 값이 20보다 작다면

자동차 정지
후진
오른쪽 방향 전환

이 과정에서 학생들은 단순 코딩 문법이 아니라 실제 데이터가 입력되고 처리되는 컴퓨팅 사고 과정(Computational Thinking) 을 경험하게 됩니다.


아두이노-초음파 센서-모터 드라이버 연결 구조

아두이노 공식 홈페이지 바로가기

장애물 감지 스마트 로봇 자동차를 제작하기 위해서는 일반적으로 다음 부품이 필요합니다.

  • Arduino UNO
  • HC-SR04 초음파 센서
  • L298N 모터 드라이버
  • DC 모터
  • 로봇 자동차 프레임
  • 배터리 모듈

Arduino UNO와 HC-SR04 핀 연결

부품Arduino 연결
HC-SR04VCC5V
HC-SR04GNDGND
HC-SR04TrigD9
HC-SR04EchoD10

L298N 모터 드라이버 연결

L298N 핀역할Arduino 연결
ENA왼쪽 모터 속도 제어PWM 핀
IN1왼쪽 모터 방향D5
IN2왼쪽 모터 방향D6
IN3오른쪽 모터 방향D7
IN4오른쪽 모터 방향D8
ENB오른쪽 모터 속도 제어PWM 핀

이 구조를 통해 아두이노는 센서 입력을 받고, 모터 출력을 제어하는 하나의 작은 자율주행 시스템을 구성할 수 있습니다.

엔트리 초음파 센서를 활용한 장애물 감지 회피 알고리즘 구현

엔트리 코딩 플랫폼 바로가기

엔트리 초음파 센서 프로젝트에서 가장 중요한 부분은 단순히 센서 값을 확인하는 것이 아니라, 측정된 거리 데이터를 기반으로 로봇이 스스로 판단하고 움직이도록 만드는 제어 알고리즘 설계입니다.

사람이 자동차를 운전할 때 앞에 장애물이 있으면 속도를 줄이고 방향을 바꾸는 것처럼, 스마트 로봇 자동차 역시 센서 데이터를 분석하여 행동을 결정해야 합니다.

이 과정에서 사용되는 핵심 개념은 조건문(Condition), 변수(Data), 반복문(Loop) 입니다.


엔트리 초음파 센서 블록코딩을 활용한 장애물 회피 알고리즘

1. 거리 데이터 변수 생성하기

먼저 HC-SR04 센서가 측정한 거리를 저장할 변수를 만들어야 합니다.

엔트리에서는 다음과 같은 형태로 구성합니다.

변수 생성

거리값

센서에서 측정된 값이 계속 변화하기 때문에 반복적으로 데이터를 받아와야 합니다.

블록 흐름은 다음과 같습니다.

  1. 프로그램 시작
  2. 초음파 센서 거리 측정
  3. 측정값을 거리값 변수에 저장
  4. 현재 거리 확인
  5. 조건에 따라 자동차 움직임 제어

구조로 동작합니다.


2. 장애물 감지 조건 만들기

일반적인 장애물 회피 자동차는 약 15~30cm 정도를 위험 거리로 설정합니다.

예를 들어 다음과 같은 조건을 만들 수 있습니다.

만약 거리값 < 20 이라면

    자동차 멈춤

아니라면

    자동차 앞으로 이동

동작 방식은 다음과 같습니다.

거리 상태로봇 동작
50cm 이상안전 구간, 전진
20~50cm감속 또는 주의
20cm 이하장애물 감지, 회피 동작

이처럼 센서 데이터와 행동 명령을 연결하는 과정이 피지컬 컴퓨팅의 핵심입니다.


센서 데이터 기반 엔트리 확장 프로젝트

기본 장애물 회피 자동차를 완성한 이후에는 다양한 확장이 가능합니다.

1. 자동 주차 로봇 만들기

초음파 센서를 여러 개 추가하면 주변 공간을 인식할 수 있습니다.

예:

  • 앞쪽 센서 → 장애물 감지
  • 왼쪽 센서 → 공간 확인
  • 오른쪽 센서 → 방향 판단

이를 활용하면 자동 주차 알고리즘을 구현할 수 있습니다.


2. 스마트 안전 자동차 구현

초음파 센서를 안전 시스템처럼 활용할 수도 있습니다.

예:

  • 사람이 가까이 접근하면 정지
  • 위험 거리에서 경고음 출력
  • LED로 상태 표시

이는 실제 자동차의 충돌 방지 시스템과 연결되는 개념입니다.


함께 보면 좋은 글

초등학생 무료 코딩 플랫폼 TOP 3|우리 아이 첫 코딩 시작하기

댓글 남기기