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 출력은 입력, 즉 조도 센서로도 작동됩니다.
  • 이 코드는 '만약... 이면... 그렇지 않으면' 구문을 사용합니다. 이것을 선택또는 조건문이라고 합니다. 조도가 50 미만인지 테스트합니다. 50 이하가 맞다면 달이 표시됩니다. 그렇지 않으면, 태양이 표시됩니다.
  • '흔들기' 블록은 micro:bit의 가속도계 센서 입력 정보에 반응합니다. micro:bit를 흔들면 1초간 놀란 표정이 나타납니다.
  • micro:bit V2가 사용하거나 micro:bit에 헤드폰이나 스피커를 연결한 경우, 각각의 입력 이벤트가 발생할 때마다 다른 소리도 들을 수 있습니다.

준비물

  • 2~3명당 최소 micro:bit 1개 필요
  • AAA 배터리 팩 (옵션)
  • 헤드폰과 악어 집게로 micro:bit V1에서 소리 듣기 (선택 사항)
  • micro:bit 워크시트 알아보기 (선택 사항)

micro:bit 워크시트 알아보기

micro:bit 워크시트 알아보기

편집기에서 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를 사용하면 큰 소리에 반응하거나 로고 터치가 가능한가요?