Skip to content

활동

밝은 빛 경보기

고급 | MakeCode, Python | LED, 라디오, 빛 센서, 사운드 | 반복 실행, , 선택 실행, 센서, 에너지, 조건/관계 연산자, 통신

1단계: 만들어 보세요.

프로젝트 소개

누군가가 전등을 켰거나 서랍이나 가방을 열었을 때, 무선 라디오 기능으로 경고를 해주는 밝은 빛 경보기를 만들어 보세요.

왼쪽에 전구가 빛나고 화남 모양이 화면으로 출력되고 있는 micro:bit 와 무선 전파 모양이 그려진 그림.

설명

  • 햇 빛 센서 프로젝트에서와 같이, 이번 프로젝트에서는 micro:bit 의 LED 화면을 빛 센서처럼 사용해서, 주변이 얼마나 밝은지를 측정합니다.
  • 1개의 반복 실행 루프를 사용해서, 10초 마다 밝은 지 어두운 지를 무선 라디오 메시지로 전송합니다. 조건/선택 실행 구조를 사용해서 빛 센서 값이 50 보다 크면 (>)
    ‘lights on’ 메시지를 전송하고, 그렇지 않으면 ‘lights off’ 메시지를 전송합니다. 기준값 50을 주변 빛의 밝기에 따라 적당한 값으로 바꿔야 할 수도 있습니다.
  • A 버튼을 누르면 LED 화면에 빛 센서 값을 출력합니다. 그 값을 참고해서 50으로 설정 되어있는 값을 주변 빛 밝기에 따라 적당한 값으로 바꾸면 됩니다.
  • 라디오 무선 메시지를 수신하면, 경보 프로그램이 동작하게 됩니다. 수신한 메시지가 ‘lights off’ 이면 LED 화면을 지웁니다. 수신한 메시지가 ‘lights on’ 이면 화남 모양을 출력하고, ‘나쁜 멜로디’ 소리를 출력합니다.
  • 센서와 경보기는 같은 무선 라디오 그룹 번호를 사용해야 합니다. - 라디오 그룹 번호는 0 부터 255 까지 사용할 수 있습니다.

준비물

  • micro:bit 2개, 최소 1개의 배터리 팩
  • 잃어버리지 않아야 하는 중요한 물건
  • (옵션) 유선 헤드폰, 부저, 앰프 스피커

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

센서 / 신호 전송기:

1from microbit import *
2import radio
3radio.config(group=5)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(display.read_light_level())
9    if display.read_light_level() > 50:
10        radio.send('lights on')
11    else:
12        radio.send('lights off')
13    sleep(10000)
14

경보기 / 신호 수신기:

1from microbit import *
2import music
3import radio
4radio.config(group=5)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'lights off':
11            display.clear()
12        elif message == 'lights on':
13            display.show(Image.ANGRY)
14            music.play(music.BADDY)
15

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

  • 이번 프로젝트를 흔들림 경보기 프로젝트와 결합시켜서, 중요한 물건을 움직이거나 (OR) 몰래 열어보는 경우에 경보를 울리도록 해보세요.
  • 반대 상황으로 경보가 발생되도록 바꿔보세요. 불 빛이 어두어지면 경보가 꺼지도록 하는 것입니다.
  • 이 프로젝트에서의 방법을 컴퓨터 모니터 에너지 절약을 위해 사용해 보세요.: 예를 들어, 빛이 계속해서 밝게 유지되는 시간(초)을 기록하기 위해 변수를 추가하고, 모니터가 일정 시간 이상 계속 켜져 있는 경우에 경보를 발생시키도록 할 수 있습니다.