Passo 1: Faz tu mesmo
O que é isto?
Faz um cronómetro a sério usando o sensor do logo táctil do novo micro:bit como botão extra.
Introdução
Guia do código
O que é que vais aprender
- Como usar o sensor de logo de toque do novo micro:bit como um botão extra num projeto prático
- Como usar variáveis e operadores matemáticos para medir o tempo
- Como usar operadores matemáticos para converter unidades (milissegundos para segundos)
- O que é uma variável booleana e como pode ser usada para controlar o desenrolar de um programa
Como usá-lo
- Descarrega o programa no teu novo micro:bit com coluna de som integrada.
- Carrega no botão A para iniciar o cronómetro. Enquanto o tempo está a ser cronometrado, aparece no ecrã de LEDs uma sequência animada de um coração a bate.
- Carrega no botão B para pará-lo. Podes começar e parar a contagem quantas vezes quiseres, que o tempo vai continuar a ser somado como num cronómetro a sério.
- Carrega no logo dourado da parte da frente do micro:bit para mostrar a leitura do tempo em segundos.
- Carrega no botão de reset na parte de trás do micro:bit para reiniciar a contagem do zero.
Como é que funciona
- O micro:bit regista há quanto tempo está ligado em milissegundos (milésimos de segundos). A isto chama-se tempo de execução.
- Quando carregas no botão A, a variável start (início) regista o tempo de execução atual.
- Quando carregas no botão B, o tempo start é subtraído do novo tempo de execução atual, calculando o tempo que passou desde que ativaste o cronómetro. A diferença é adicionada ao tempo total, que é gravado numa variável chamada time.
- Se carregares no logo touch, o programa mostra no ecrã de LEDs o tempo total decorrido. O tempo é dividido por 1000 para ser convertido de milissegundos (milésimos de segundo) em segundos. Usa o operador de divisão de números inteiros para dar um resultado em números naturais (números inteiros).
- O programa também usa uma variável booleana chamada running (em funcionamento) para controlar o programa. Variáveis booleanas só podem ter dois valores: verdadeiro ou falso. Se running for verdade, o cronómetro foi iniciado. Se running é falso, o cronómetro não foi iniciado ou foi parado.
- Se running é verdadeiro, um loop mantém a sequência animada do coração a aparecer no ecrã de LEDs.
- Quando carregas no logo o tempo só aparece se o cronómetro tiver sido parado, se running não é verdadeiro.
- O código evita falsas leituras certificando-se que a variável time só é alterada quando carregas no botão B quando já se deu início ao cronómetro, ou seja, se running é verdade.
Do que é que precisas
- novo micro:bit com som (ou simulador MakeCode)
- Editor MakeCode ou Python
- Suporte de pilhas (opcional)
Passo 2: Cria o teu código
1from microbit import *
2time = 0
3start = 0
4running = False
5
6while True:
7 if running:
8 display.show(Image.HEART)
9 sleep(300)
10 display.show(Image.HEART_SMALL)
11 sleep(300)
12 else:
13 display.show(Image.ASLEEP)
14 if button_a.was_pressed():
15 running = True
16 start = running_time()
17 if button_b.was_pressed():
18 if running:
19 time += running_time() - start
20 running = False
21 if pin_logo.is_touched():
22 if not running:
23 display.scroll(int(time/1000))
Passo 3: Melhora-o
- Modifica o programa para que possas redefinir o tempo agitando o micro:bit.
- Faz com que o temporizador seja mais preciso usando frações de números em vez de números inteiros.
- Adiciona uma função de tempo de maneira a poderes tocar no logotipo táctil para aparecer no ecrã o tempo nesse ponto. Lembra-te de confirmar que esse valor não é adicionado ao total da variável tempo.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.