1단계: 만들어 보세요.
프로젝트 소개
할로윈에 친구들을 놀라게 하려면 micro:bits 라디오 기능을 사용하세요.
이 프로젝트를 만들려면 micro:bits 가 두 개 필요합니다. 한 micro:bit 의 버튼을 누르면 두 번째 micro:bit에서 소름 끼치는 아이콘이 나타나고 무서운 소리가 재생됩니다.
당신이 배울 것
이 프로젝트를 진행하면 네트워크에 대해 배우고, 무선으로 전자 장치 간에 정보를 전송하는 방법과 컴퓨터 프로그램에서 선택을 사용하는 방법에 대해 배울 수 있습니다.
설명
- 두 micro:bit에 모두 추가되는 프로그램은 하나뿐입니다.
- 이 프로그램은 라디오 그룹을 31 로 설정합니다. 그룹은 채널과 같으므로 동일한 그룹을 사용하는 모든 micro:bit가 메시지를 받습니다. 0-255 범위에서 원하는 번호를 골라 그룹 번호로 사용할 수 있습니다.
- 무서운 메시지 세 가지 중 하나를 보낼 수 있습니다. 버튼 A를 눌러 '화남'이라는 메시지를 보내고, 버튼 B를 눌러 '해골'이라는 메시지를 보내고, 터치 로고를 눌러 '유령'이라는 메시지를 보냅니다.
- micro:bit 는 숫자나 텍스트로 메시지를 보낼 수 있습니다. 이 프로젝트에서는 문자 메시지를 사용하므로 숫자나 값이 아닌 문자열을 참조하는 라디오 블록을 사용해야 합니다.
- 컴퓨팅에서 문자열은 문자, 숫자, 기호, 공백을 포함할 수 있는 문자 시퀀스입니다.
- 다른 micro:bit 가 라디오 메시지를 수신하면 수신한 메시지에 따라 LED 디스플레이에 화난 얼굴, 해골 또는 유령이 표시되고 다양한 무서운 소리가 재생됩니다.
- 해당 아이콘은 micro:bit 디스플레이에도 표시되므로 메시지가 전송되었음을 확인할 수 있습니다.
준비물
- micro:bit 2대
- MakeCode 편집기
- 배터리 팩(권장)
2단계: 프로그래밍 해보세요.
1from microbit import *
2import radio
3radio.config(group=31)
4radio.on()
5
6while True:
7 message = radio.receive()
8 if message:
9 if message == 'angry':
10 display.show(Image.ANGRY)
11 audio.play(Sound.SOARING)
12 sleep(2000)
13 display.clear()
14 elif message == 'skull':
15 display.show(Image.SKULL)
16 audio.play(Sound.MYSTERIOUS)
17 sleep(2000)
18 display.clear()
19 elif message == 'ghost':
20 display.show(Image.GHOST)
21 audio.play(Sound.HELLO)
22 sleep(2000)
23 display.clear()
24
25 if button_a.was_pressed():
26 radio.send('angry')
27 display.show(Image.ANGRY)
28 sleep(2000)
29 display.clear()
30 elif button_b.was_pressed():
31 radio.send('skull')
32 display.show(Image.SKULL)
33 sleep(2000)
34 display.clear()
35 elif pin_logo.is_touched():
36 radio.send('ghost')
37 display.show(Image.GHOST)
38 sleep(2000)
39 display.clear()
이 프로젝트는 micro:bit V2 용으로 설계되었습니다. 이 프로젝트를 micro:bit V1 에서 실행하려면 터치 로고 대신 A + B 버튼을 사용하고, '솟구치는' 등의 표현적인 사운드 대신 '멜로디 재생' 블록을 사용하세요.
3단계: 더 좋게 만들어 보세요.
- 'LED 표시' 블록을 사용하여 무서운 아이콘을 직접 디자인해 보세요.
- 정적인 아이콘 대신 애니메이션을 추가하세요.
- 두 번째 micro:bit 가 메시지를 받으면 재생되는 소름 끼치는 음악을 작곡해 보세요.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.