co:bit Training Kit 기초강좌 7: 초음파센서를 배워보자.

초음파센서란 무엇일까?

초음파센서는 아래 사진과 같이 생긴 장치로, 가까운 거리에 있는 사람 혹은 물체를 감지하고, 거리를 측정하는 센서입니다. 박쥐가 초음파를 이용한 음파 탐지를 통해 먹이와 방향을 찾는 것과 같은 원리입니다.

초음파센서에 대한 이미지 검색결과

준비물

이번 강좌의 준비물은 다음과 같습니다.

  • co:bit Training Kit 베이스 보드 (micro:bit 장착한 상태)
  • 마이크로 USB 케이블
  • 웹브라우저 연결 가능한 PC (맥북, 리눅스 포함) 혹은 크롬북
  • 초음파센서(co:bit Training Kit에 포함되어 있습니다.)

하드웨어를 준비해 봅시다.

우선 co:bit 베이스보드에 micro:bit를 장착합니다. 장착을 할 때는 micro:bit의 LED와 버튼 부분이 위로 가게 합니다.

 

PC와 micro:bit, co:bit 베이스보드를 각각 USB 케이블로 연결합니다. 아래 사진과 같이 연결하면 됩니다. 그리고 PC에서 웹브라우저를 실행합니다. 웹브라우저는 마이크로소프트의 에지 혹은 익스플로러, 구글의 크롬 등 어떤 브라우저라도 상관이 없습니다.

 

이번에는 초음파센서를 co:bit 베이스보드에 연결합니다. 연결할 때 아래 사진의 설명을 그대로 따라야 합니다. 우선 초음파센서를 준비합니다.

초음파센서에 대한 이미지 검색결과

 

co:bit 베이스보드를 자세히 보면 가운데에 “Ultrasonic Sensor” 라고 적힌 핀단자를 볼 수 있습니다. 이 단자에 초음파센서를 연결합니다.

 

연결할 때, 초음파센서의 GND 핀에 연결된 전선이 co:bit 베이스보드의 흰색 사각형이 위치한 부분에 연결되도록 합니다.

위 사진에서 초음파센서의 GND에 연결된 흰색 전선이 co:bit 베이스보드의 흰색 사각형 모양이 위치한 부분에 연결되어 있음을 볼 수 있습니다.(단, 반드시 흰색 전선일 필요는 없습니다.) 이렇게 연결이 되었다면 하드웨어 준비가 완료된 것입니다.

 


코딩과제 1: 초음파센서로 거리를 측정하자.

과제 개요

이번 프로젝트에서는 초음파 센서로 가까이 있는 물체까지의 거리를 측정해 봅시다.

  1. 코드가 실행되면 “Ultrasonic…” 이라는 문자열이 출력됩니다.
  2. 초음파센서를 이용해 거리를 측정하여 LED 스크린에 출력합니다.

정확히 코딩이 되었다면 다음과 같이 동작할 것입니다.

 

 

블럭코딩의 흐름도

 

블럭코딩 하기

이번 프로젝트는 코딩을 하기 위해서 특별한 프로젝트를 사용해야 합니다. 초음파센서를 읽는 확장블럭이 사용되었기 때문입니다. 다음에 링크된 블럭 에디터의 프로젝트를 사용하시기 바랍니다.

https://makecode.microbit.org/_0T3bJDhsEhrC

위 링크로 가면 블럭 에디터에 빈 프로젝트가 화면에 나타날 것입니다. 하지만 다른 비어있는 프로젝트와는 달리 “Cobit-base”라는 확장블럭이 있습니다. 이 “Cobit-base” 확장블럭은 다음과 같습니다.

 

프로젝트에 사용될 블럭 코드들을 살펴봅시다. 완성된 전체 코드는 맨 아래에 있습니다.

“시작하면 실행” 블럭의 코드는 다음과 같습니다. 코드가 실행되면 “Ultrasonic…” 이라는 문자열이 출력됩니다.

 

“무한반복 실행” 블럭의 전체 코드는 다음과 같습니다.

 

“무한반복 실행” 블럭 내 코드들을 살펴봅시다. “거리” 라는 변수를 설정하고, 초음파센서의 입력값을 저장합니다.

 

거리 변수에 저장된 값을 LED 스크린에 출력합니다.

 

전체 프로젝트


코딩과제 2: 초음파센서로 측정된 거리를 그래프로 표현하자.

과제 개요

이번 프로젝트에서는 초음파센서로 측정한 거리를 micor:bit의 LED 스크린에 그래프로 표현해 봅시다.

  1. 코드가 실행되면 “Ultrasonic…” 이라는 문자열이 출력됩니다.
  2. 초음파센서로 물체까지의 거리를 측정합니다.
  3. 측정한 거리를 micor:bit의 LED 스크린에 그래프로 나타냅니다.

정확히 코딩이 되었다면 다음과 같이 동작할 것입니다.

 

블럭코딩의 흐름도

블럭코딩 하기

이번 프로젝트 역시 코딩을 하기 위해서 특별한 프로젝트를 사용해야 합니다. 아래 링크의 블럭 에디터 프로젝트를 사용해 주기 바랍니다.

https://makecode.microbit.org/_0T3bJDhsEhrC

 

프로젝트에 사용될 블럭 코드들을 살펴봅시다. 완성된 전체 코드는 맨 아래에 있습니다.

“시작하면 실행” 블럭의 코드는 다음과 같습니다. 코드가 실행되면 “Ultrasonic…” 이라는 문자열이 출력됩니다.

 

“무한반복 실행” 블럭의 전체 코드는 다음과 같습니다.

 

“무한반복 실행” 블럭 내의 코드를 살펴봅시다. 우선 “거리” 라는 변수를 선언하고, 초음파센서의 입력값을 저장합니다.

 

 

거리 변수에 저장된 값이 30 미만이면, 즉 초음파센서와 물체 사이 거리가 30cm 미만이면 micro:bit의 LED 차트에 초음파센서의 출력값을 그래프로 나타냅니다.

 

전체 프로젝트


코딩과제 3: 초음파센서로 자동차 후방감지기를 만들자.

과제 개요

이번 프로젝트에서는 초음파센서로 자동차 후방감지기를 만들어 봅시다.

  1. 코드가 실행되면 “Car Sensor” 라는 문자열이 출력됩니다.
  2. A 버튼을 누른 후에, 물체가 센서에 20cm 미만의 거리로 접근하면 “솔” 음을 (초음파센서가 감지한 거리)*10 박자로 재생합니다.
  3. 물체가 센서로부터 20cm 밖으로 멀어지거나 B 버튼을 누르면 재생이 정지됩니다.

정확히 코딩이 되었다면, 다음과 같이 동작할 것입니다.

 

 

블럭코딩의 흐름도

블럭코딩 하기

이번 프로젝트 역시 코딩을 하기 위해서 특별한 프로젝트를 사용해야 합니다. 아래 링크의 블럭 에디터 프로젝트를 사용해 주기 바랍니다.

https://makecode.microbit.org/_0T3bJDhsEhrC

 

프로젝트에 사용될 블럭 코드들을 살펴봅시다. 완성된 전체 코드는 맨 아래에 있습니다.

“시작하면 실행” 블럭의 코드는 다음과 같습니다. 코드가 실행되면 “Car Sensor” 라는 문자열이 출력됩니다.

 

“동작” 이라는 변수를 선언하고, A 버튼을 누르면 동작 변수에 1을 저장함과 동시에 웃는 얼굴 모양 아이콘을 출력합니다.

 

B 버튼을 누르면 동작 변수에 0을 저장함과 동시에 X 모양 아이콘을 출력합니다.

 

“무한반복 실행” 블럭의 전체 코드는 다음과 같습니다.

 

“무한반복 실행” 블럭 내 코드들을 살펴봅시다. 우선 “거리” 라는 변수를 선언하고, 초음파센서 입력값을 저장합니다.

 

동작 변수에 저장된 숫자가 1일 때, 거리 변수에 저장된 숫자가 20보다 작으면 “솔” 음을 (거리 변수에 저장된 숫자)*10 박자로 출력합니다.

 

만약 동작 변수에 저장된 수가 1이 아니면, 즉 0이면 버저를 끕니다. 이렇게 하면 B 버튼을 눌렀을 때 버저가 꺼집니다.

 

전체 프로젝트


코딩과제 4: 초간단 초음파 진단기를 만들자.

과제 개요

이번 프로젝트에서는 초음파센서를 이용해 초간단 초음파 진단기를 만들어 봅시다. 

  1. 코드가 실행되면 “Hello!” 라는 문자열이 출력됩니다.

블럭코딩의 흐름도

 

블럭코딩 하기

이번 프로젝트 역시 코딩을 하기 위해서 특별한 프로젝트를 사용해야 합니다. 아래 링크의 블럭 에디터 프로젝트를 사용해 주기 바랍니다.

https://makecode.microbit.org/_0T3bJDhsEhrC

 

프로젝트에 사용될 블럭 코드들을 살펴봅시다. 완성된 전체 코드는 맨 아래에 있습니다.

 

 

전체 프로젝트