Skip to content

Atividade

Conhece o teu micro:bit

Principiante | MakeCode, Python | Acelerómetro, Botões, Ecrã LED, Som | Entrada/Saída, Iteração, Seleção, Sensores, Sequência

Passo 1: Faz tu mesmo

O que é isto?

Descobre algumas das coisas que o BBC micro:bit pode fazer com esta investigação interactiva.

Estes dois vídeos mostram-te o que é que ele faz e como programá-lo:

Introdução

Guia do código

Como é que funciona

Podes usar este projeto como uma actividade de introdução exploratória para qualquer pessoa nova no micro:bit.

Copia o código para alguns micro:bits e começa a investigar sobre o que ele faz. A que acções é que o micro:bit responde? Que entradas e saídas estão a ser usadas? Que conceitos de programação estão a fazer com que ele funcioner?

Em seguida, examina o código para ver como é que as instruções nos blocos de código dizem ao micro:bit o que fazer:

  • As instruções no bloco "on start" (ao iniciar) são executadas apenas uma vez, quando se faz reset ao micro:bit ou quando ele é ligado. O bloco "mostrar ícone" (show icon) mostra uma cara feliz na saída de ecrã de LEDs.
  • Acontecem coisas distintas quando carregas nos botões de entrada. O bloco "on button A pressed" é ativado quando carregas no botão A. O teu micro:bit vai mostrar um quadrado a crescer rapidamente e a seguir o quadrado vai reduzir de tamanho devagar.
  • A animação é feita com diferentes imagens em sequência. A velocidade da animação muda conforme as pausas forem mais curtas ou mais longas.
  • Se carregares no botão B o micro:bit usa o bloco "show string" e o texto passa no ecrã de LEDs. "Strings" são o que chamamos de cadeias de caracteres (letras ou símbolos) armazenados num computador.
  • Carrega simultaneamente nos botões A e B para descobrir um quebra-cabeças. Vais ver ou um sol ou uma lua. Consegues perceber o que determina que imagem é mostrada?
  • Depende da quantidade luz que está a incidir no teu micro:bit. A saída LED do micro:bit também pode funcionar como uma entrada, um sensor de luz.
  • O código usa uma declaração "if.. then... else" (se... então... senão). Isto é conhecido como uma seleção, ou uma declaração condicional. O nível de luz é testado para saber se (if) está abaixo de 50. If it is, then it shows a moon. Otherwise, else, it shows a sun.
  • O bloco "ao abanar" (on shake) reaje à informação da entrada do sensor de acelerómetro do micro:bit. Quando abanas o teu micro:bit, aparece por um segundo uma cara supreendida.
  • Se tiveres um micro:bit V2 podes ligar uns auriculares ou uma coluna, podendo ouvir diferentes sons quando se produzem diferentes eventos de entrada.

Do que é que precisas

  • Pelo menos um micro:bit para cada 2-3 pessoas
  • Suporte de pilhas (opcional)
  • Auriculares e cabos com pinças de crocodilo para ouvir som no micro:bit V1 (opcional)
  • Meet your micro:bit worksheet (optional)

Meet your micro:bit worksheet

Meet your micro:bit worksheet

You may also find our Transfer to the micro:bit guide useful to learn more about how to transfer code from the editor to a micro:bit.

Passo 2: Cria o teu código

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

Passo 3: Melhora-o