1단계: 만들어 보세요.
프로젝트 소개
이 대화형 조사를 통해 BBC micro:bit 가 할 수 있는 일들을 알아보세요.
다음 두 영상에서는 이 기능이 무엇인지, 그리고 어떻게 코딩하는지 보여줍니다.
소개
프로그래밍 가이드
설명
이 프로젝트는 micro:bit 를 처음 접하는 사람들을 위한 소개 탐색 활동으로 사용할 수 있습니다.
코드를 micro:bit 에 복사하고, 그 기능이 무엇인지 조사해보세요. 어떤 이벤트가 micro:bit 의 반응을 유발합니까? 어떤 입력과 출력을 사용하고 있나요? 어떤 프로그래밍 개념이 이것을 작동하게 만들까요?
그런 다음 코드를 검토하여 코드 블록의 명령어가 micro:bit 에 무엇을 해야 하는지 알려주는 방식을 확인하세요.
- '시작 시' 블록의 명령어는 micro:bit 가 재설정되거나 전원이 켜질 때 한 번만 실행됩니다. '아이콘 표시' 블록은 LED 디스플레이 출력에 행복한 얼굴을 표시합니다.
- 이벤트는 다양한 입력 버튼을 눌렀을 때 다양한 일이 발생하도록 합니다. '버튼 A 눌림' 블록은 버튼 A를 눌렀을 때 트리거됩니다. 그러면 micro:bit 가 빠르게 확대되는 사각형을 보여준 다음, 천천히 축소되는 사각형을 보여줍니다.
- 애니메이션은 다양한 이미지를 순서대로보여주는 방식으로 만들어집니다. 더 짧은 시간과 더 긴 시간 동안 멈추면 애니메이션 속도가 제어됩니다.
- 버튼 B를 누르면 micro:bit 가 '문자열 표시' 블록을 사용하여 LED 디스플레이 출력에서 텍스트를 스크롤하는 방법을 보여줍니다. '문자열'은 컴퓨터에 저장된 문자와 기호의 집합을 말합니다.
- 버튼 A와 B를 동시에 누르면 퍼즐이 나타납니다. 당신은 태양이나 달을 볼 수 있을 거예요. 어떤 그림이 표시되는지 결정하는 요인이 무엇인지 알 수 있나요?
- 그것은 micro:bit 에 얼마나 많은 빛이 떨어지는지에 달려 있습니다. micro:bit 의 LED 출력은 입력, 즉 조도 센서로도 작동할 수 있습니다.
- 이 코드는 'if... then... else' 문을 사용합니다. 이것을 선택또는 조건문이라고 합니다. 조도가 50 미만인지 테스트합니다. 그렇다면 그렇다면 달이 표시됩니다. 그렇지 않으면, else 태양을 표시합니다.
- '흔들기' 블록은 micro:bit 의 가속도계 센서 입력에서 오는 정보에 반응합니다. micro:bit 를 흔들면 1초간 놀란 표정이 나타납니다.
- micro:bit V2가 있거나 micro:bit에 헤드폰이나 스피커를 연결한 경우, 각각의 입력 이벤트가 발생할 때마다 다른 소리도 들을 수 있습니다.
준비물
- 2~3명당 최소 micro:bit 하나
- AAA 배터리 팩 (옵션)
- 헤드폰과 악어 클립으로 micro:bit V1 에서 소리를 들어보세요(선택 사항)
- micro:bit 워크시트를 만나보세요 (선택 사항)

micro:bit worksheet를 만나보세요
편집기에서 micro:bit 로 코드를 전송하는 방법에 대해 자세히 알아보려면 micro:bit 로 전송 가이드를 참조하세요.
2단계: 프로그래밍 해보세요.
1# Imports go at the top
2from microbit import *
3import music
4
5
6display.show(Image.HAPPY)
7
8while True:
9 sleep(300)
10 if button_a.is_pressed() and button_b.is_pressed():
11 if display.read_light_level() < 50:
12 music.play(music.POWER_DOWN, wait=False)
13 display.show(Image('00990:'
14 '00099:'
15 '00099:'
16 '00099:'
17 '00990'))
18 else:
19 music.play(music.POWER_UP, wait=False)
20 display.show(Image('90909:'
21 '09990:'
22 '99999:'
23 '09990:'
24 '90909'))
25 elif button_b.is_pressed():
26 music.play(music.BA_DING, wait=False)
27 display.clear()
28 sleep(100)
29 display.scroll('Hello!')
30 elif button_a.is_pressed():
31 music.play(music.PRELUDE, wait=False)
32 for i in range(2):
33 display.show(Image('00000:'
34 '00000:'
35 '00900:'
36 '00000:'
37 '00000'))
38 sleep(100)
39 display.show(Image('00000:'
40 '09990:'
41 '09990:'
42 '09990:'
43 '00000'))
44 sleep(100)
45 display.show(Image('99999:'
46 '99999:'
47 '99999:'
48 '99999:'
49 '99999'))
50 sleep(1000)
51 display.show(Image('00000:'
52 '09990:'
53 '09990:'
54 '09990:'
55 '00000'))
56 sleep(1000)
57 display.show(Image('00000:'
58 '00000:'
59 '00900:'
60 '00000:'
61 '00000'))
62 sleep(1000)
63 elif accelerometer.is_gesture('shake'):
64 music.play(music.JUMP_UP, wait=False)
65 display.show(Image.SURPRISED)
66
67