Skip to content

활동

당신의 micro:bit 를 만나보세요

초급 | MakeCode, Python | LED, 가속도 센서, 버튼, 사운드 | 반복 실행, 선택 실행, 센서, 순차 실행, 입력/출력

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 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

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

  • 다양한 그림, 애니메이션, 사운드를 사용하여 코드를 수정하여 나만의 'micro:bit 를 만나다' 프로젝트를 만들어 보세요.
  • 추가 입력 추가: micro:bit 가 '흔들기' 외의 다른 제스처에 반응하도록 할 수 있나요? 핀 누르기에 반응하세요? 아니면 스피커가 내장된 micro:bit V2가 있다면 큰 소리에 반응하거나 로고를 터치할 수 있을까요?