9. 화재경보기 만들기 X 회로 구성하기

【활동 하기】


1. 화재경보기 작동 순서 알아보기

2. 회로 구성하기

3. 화재경보기 코드 작성하기

4. 생각해보기

433,165,072,000 무엇을 의미하는 숫자일까? 소방청의 화재발생총괄표에 따르면 2015년 화재피해액이 앞서 이야기한 433,165,072,000원이라고 한다. 화재 피해는 물품이나 재산에 대한 피해도 크지만 인명피해가 가장 심각하다. 인명피해를 가장 줄일 수 있는 방법은 화재경보기를 사용하는 것인데 우리나라의 화재경보기 설치율은 30% 수준이라고 한다.

이번 단원에서는 마이크로비트로 간단하게 화재경보기를 만들어 보자.

1 화재경보기 작동 순서 알아보기

화재경보기는 어떻게 작동될까? 원리는 상당히 간단하다. 가장 먼저 화재경보기는 계속해서 주변의 온도를 확인한다. 그리고 지정한 온도 이상의 데이터 값이 확인되면 경고등에 불이 들어오고 경보가 울린다.

이미지. 순서도. 화재경보기 시작, 온도 데이터 측정, 입력된 온도가 70도보다 크지 않으면 다시 온도 데이터 측정, 입력된 온도가 70도 보다 크면, 경보등 작동, 경보음 작동.

2 회로 구성하기

화재경보기는 경보등과 경보음 두 가지로 작동된다. 경보등은 마이크로비트의 LED 스크린을 이용하여 구성할 수 있다. 그렇다면 경보음은 어떻게 작동 시킬 수 있을까? 마이크로비트에서 소리를 출력할 수 있는 장치가 없기 때문에 회로를 구성하여 스피커와 연결이 필요하다. 회로는 어떻게 작동하고 무엇으로 만들어야 할까?

우선 회로를 구성하기 위한 재료와 원리를 살펴보자.


① 화재경보기 회로를 구성하기 위한 준비물


1
이미지. 악어클립 사진.

악어 클립


빨간색 1개, 검은색 1개


마이크로비트와 외부 장치들을 연결하여 전기를 공급하거나 데이터를 전달하여 작동하도록 하는 역할을 한다.

2
이미지. 피에조 부조 사진

피에조 부조


1개


소리를 출력할 수 없는 마이크로비트에 1번의 악어 클립을 이용해 회로를 구성하여 소리를 출력할 수 있도록 한다.


② 화재경보기 회로 구성하기


마이크로비트에는 외부 장치와 연결할 수 있는 5개의 큰 핀과 20개의 작은 핀이 있다. 그중 0, 1, 2 번 핀은 상황에 따라 자유롭게 사용할 수 있다. 우선 회로를 연결하기 전 전기의 흐름에 대해 이야기해 보자. 전기는 양극(+극)과 음극(-극)으로 구성되어 있다. +극에서 출발한 전기는 -극으로 흘러 들어간다. 이 흐름 중간 전구를 연결하거나 스피커를 연결하면 전기가 흘러가면서 빛을 내거나 소리를 낸다. 회로를 구성할 때 가장 기본적으로 전기의 흐름을 생각해야 한다.

이미지. 건전지로 표현한 전기의 흐름 그림
1
이미지.  빨간색 악어 클립을 마이크로비트의 0번 핀에 연결한 사진.

화재경보기의 회로를 만들어 보자. 먼저 빨간색 악어 클립을 마이크로비트의 0번 핀에 연결한다.

2
이미지. 빨간색 악어 클립의 반대쪽에 피에조부조 +극에 연결한 사진

빨간색 악어 클립의 반대쪽에 피에조부조 +극에 연결한다. 피에조 부조의 두 다리 중 긴 다리가 +극 이다. 만약 피에조 부조의 다리 길이가 같다면 피에조부조 하단을 보면 확인할 수 있다.

3
이미지. 검은색 악어 클립을 피에조 부조 -극(짧은 다리)와 마이크로비트 GND(-극)에 연결한 사진

검은색 악어 클립을 피에조 부조 -극(짧은 다리)와 마이크로비트 GND(-극)에 연결한다.


3 화재경보기 코드 작성하기

① 온도 데이터 측정하기


1
이미지. 무한 반복 실행 블록

화재경보기는 언제 일어날지 모르는 상황에 대비해야 하기 때문에 계속해서 주변의 온도를 감지하여 측정한다. 따라서 [무한반복 실행] 블록을 사용한다.

2
이미지. 무한 반복 실행 블록에 연결된 온도에 온도센서 값 저장 블록

온도센서로부터 입력받는 온도에 대한 데이터를 저장할 변수 ‘온도’를 만들고 만들어진 [변수 온도]에 입력 그룹의 [온도센서 값(°C)] 블록으로 저장한다.


② 입력 받는 온도 값 확인하기


1
이미지. A 누르면 실행 블록.

현재의 온도를 확인하기 위해 [A버튼 누르면 실행] 버튼을 눌렀을 때 확인할 수 있도록 [A버튼 누르면 실행] 블록을 사용한다.

2
이미지. A 누르면 실행 블록에 연결된 수 출력 온도 블록

[수 출력] 블록을 사용하여 변수 온도에 저장된 값을 출력한다.


③ 경보가 작동할 조건 입력하기


화재경보기가 작동하기 위해서는 특정 온도 이상의 데이터가 입력되어야 한다. 특정 온도는 원하는 온도를 지정해야 하기 때문에 이 단원에서는 70°C 이상일 때로 지정하여 화재경보기가 작동하는지 확인해 보도록 하자. 실제 실습 시에는 위 ②의 온도 값을 확인하여 조건을 작성해서 작동 여부를 확인하는 것이 좋다.


1
이미지. 무한 반복 실행 블록에 연결된, 온도에 온도 센서 값 저장 블록, 만약 참이면 실행 블록

조건을 부여하기 위해서는 [만약(if) 참(true)이면 (then) 실행] 블록을 사용한다.

2
이미지.  무한 반복 실행 블록에 연결된, 온도에 온도 센서 값 저장 블록, 만약 온도가 70보다 크면 실행 블록

[비교연산] 블록을 사용하여 변수 온도가 70보다 클 때 작동하도록 조건을 입력한다.


④ 경보 음과 경보 등 작동하기


경보음을 울리기 위해서 음악 그룹을 사용한다. 먼저 음악 그룹의 블록을 살펴보자.


1
이미지. 도 1 박자 출력 블록

선택한 음을 선택한 박자만큼 출력한다.

2
이미지. 도(hz) 출력 블록

선택한 음을 출력한다.

3
이미지.1박자 유지 블록

선택한 박자만큼 출력을 유지한다.

4
이미지. 다다둠 멜로디 한번 출력 블록

입력된 멜로디를 원하는 수만큼 반복 출력한다.


위 음악그룹의 블록을 사용하여 경고음이 울리도록 한다.


5
이미지. 무한반복 실행 블록에 연결된, 온도에 온도 센서 값 저장 블록, 만약 온도가 70보다 크면 실행 블록, 바딩 멜로디 한번 출력 블록

위 6단계에서 입력한 조건인 70°C 이상 되면 [바딩 멜로디 한 번 출력] 블록을 사용하여 경고음이 울리도록 한다.

6
이미지. 무한반복 실행 블록에 연결된, 온도에 온도 센서 값 저장 블록, 만약 온도가 70보다 크면 실행 블록, 바딩 멜로디 한번 출력 블록, LED 출력 (전부 켜짐) 블록, LED 출력 (전부 꺼짐) 블록

경보 등을 표현하기 위해 [LED 출력] 블록을 활용하여 경고 등이 깜박이도록 한다.


4 생각해보기

화재가 발생했을 때 주변에 빠르게 알리기 위해 마이크로비트를 사용한다면 어떻게 할 수 있을까?