Skip to content

활동

무선 문열림 경보기

고급 | MakeCode, Python | LED, 라디오, 자기 센서 | 라디오 파, 선택 실행, 센서, 자기력, 조건/관계 연산자, 통신

1단계: 만들어 보세요.

프로젝트 소개

무선 문열림 경보기를 이용해서 문이 열렸는지, 문이 닫혔는지 알아내 보세요.

만드는 방법

  • 각각 다른 코드가 있는 micro:bit 가 두 개 필요합니다. 한 micro:bit 는 무선 송신기 역할을 하고 다른 하나는 무선 수신기 역할을 합니다.
  • 송신기 micro:bit 와 배터리 팩을 문틀 모서리에 부착하고 문 모서리에 가까운 곳에 자석을 부착합니다.
  • 수신기 micro:bit 를 근처 아무 곳에나 놓으세요.
  • 예상대로 알람이 작동하지 않으면 송신기 코드에서 자기력 강도 숫자를 변경해야 할 수도 있습니다. 버튼 A를 누르면 현재의 자기력 측정값이 표시됩니다. 이를 사용하여 문이 열려 있을 때와 닫혀 있을 때의 측정값을 측정하여 임계값 숫자를 결정합니다.

설명

  • 송신기 프로그램은 micro:bit 를 사용합니다 나침반 (자력계) 입력 센서r 그리고 고리 2초마다 자기장의 강도를 측정합니다.
  • 사용합니다 선택 따라서 자기장 강도가 특정 수준(임계값) 이하로 떨어지면 다음을 보냅니다 라디오 '열림' 신호. 자기 측정값이 임계값을 넘으면 '닫힘' 신호가 전송됩니다.
  • 수신기 micro:bit 가 '열림' 신호를 받으면 LED 디스플레이에 십자가 모양이 나타나고 경보음이 울립니다. '닫힘' 신호를 받으면 LED 디스플레이에 체크 표시가 나타나고 소리가 나지 않습니다.

준비물

  • 두 개의 micro:bit 과 최소 하나의 배터리 팩
  • 자석 1개
  • 문에 자석을 고정하고 문틀에 micro:bit 을 고정하기 위한 접착 퍼티
  • V1 micro:bit 가 있고 경보음을 듣고 싶다면 옵션 헤드폰, 부저 또는 스피커 및 악어 클립 리드를 연결하세요.

2단계: 프로그래밍 해보세요.

센서 / 신호 전송기:

1from microbit import *
2import radio
3radio.config(group=17)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(compass.get_field_strength())
9    if compass.get_field_strength() < 100000:
10        display.show(Image.DIAMOND_SMALL)
11        radio.send('open')
12    else:
13        display.clear()
14        radio.send('closed')
15    sleep(2000)
16

경보기 / 신호 수신기:

1from microbit import *
2import music
3import radio
4radio.config(group=17)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'open':
11            display.show(Image.NO)
12            music.play(["C4:4"])
13        if message == 'closed':
14            display.show(Image.YES)
15

3단계: 더 좋게 만들어 보세요.

  • 여러 대의 micro:bit 를 사용하고, 각각의 micro:bit 에서 서로 다른 무선 라디오 메시지를 전송하도록 하면, 각각의 문을 구분해서 문열림을 감지 할 수 있습니다. 예시. ‘back door open’
  • 문이 열려 있었던 시간을 기록하는 변수를 사용해 보세요. - 냉난방 에너지를 절약하는데 도움이 되지 않을까요?