Skip to content

Aktywność

Stoper dotykowy

Średnio zaawansowany | MakeCode, Python | Logo dotykowe, Przyciski, Wyświetlacz LED | Logika boolowska, Operatory arytmetyczne, Pomiary, Wejście/Wyjście, Zmienne

Krok 1: Wykonaj to

Co to jest?

Stwórz prawdziwy stoper, korzystając z czujnika logo dotykowe nowego micro:bita, jako dodatkowego przycisku.

Wprowadzenie

Przewodnik po kodowaniu

Czego się nauczysz

  • Jak używać czujnika logo dotykowe nowego micro:bita jako dodatkowego przycisku w praktycznym projekcie
  • Jak używać zmiennych i działań matematycznych do pomiaru czasu.
  • Jak używać działań matematycznych do konwersji jednostek (z milisekund na sekundy)
  • Co to jest zmienna boolowska (logiczna) i jak może być użyta do sterowania wykonywaniem programu

Jak go używać

  • Wgraj program na nowy micro:bit z wbudowanym głośnikiem.
  • Naciśnij przycisk A, aby uruchomić stoper. Animowane bijące serce jest wyświetlane na wyświetlaczu LED, gdy jest w włączony.
  • Naciśnij przycisk B, aby go zatrzymać. Możesz zacząć i zatrzymać to tyle razy, ile Ci się podoba, i nadal będzie dodawać czas tak, jak prawdziwy stoper.
  • Naciśnij złote logo z przodu micro:bita aby wyświetlić zmierzony czas w sekundach.
  • Aby zresetować czas do zera, naciśnij przycisk resetowania na drugiej stronie micro:bita.

Jak to działa

  • micro:bit mierzy, jak długo był zasilany w milisekundach (tysięczne sekund). Nazywa się to czasem pracy.
  • Po naciśnięciu przycisku A, zmienna o nazwie start jest ustawiona na bieżący czas pracy
  • Po naciśnięciu przycisku B, czas start jest odejmowany od aktualnego czasu pracy, aby określić, ile czasu upłynęło od startu stopera. Ta różnica jest dodana do łącznego czasu, który jest zapisywany w zmiennej o nazwie czas.
  • Po naciśnięciu dotykowego logo, program pokazuje na wyświetlaczu LED całkowity czas, jaki upłynął, przekształca czas z milisekund (tysięcznych sekundy) na sekundy, dzieląc go przez 1000. Wykorzystuje dzielenie całkowite, aby dać wynik w liczbach całkowitych.
  • Program używa również zmiennej logicznej o nazwie uruchomiony do sterowania programem. Zmienne logiczne mogą mieć tylko dwie wartości: True (prawda) lub False (fałsz). Jeśli uruchomiony jest prawdą, to znaczy stoper został uruchomiony. Jeśli uruchomiony jest fałszem, to stoper nie został uruchomiony lub został zatrzymany.
  • Jeśli uruchomiony jest prawdą, pętla utrzymuje animację serca na wyświetlaczu LED.
  • Pokaże czas tylko wtedy, kiedy naciśniesz logo, jeśli stoper został zatrzymany, jeśli uruchomiony nie jestprawdą.
  • Kod zapobiega fałszywym odczytom upewniając się, że zmienna czas jest zmieniona tylko po naciśnięciu przycisku B, gdy stoper została już uruchomiony, jeśli uruchomiony jest prawdą.

Czego potrzebujesz

  • nowy micro:bit z dźwiękiem (lub symulator MakeCode)
  • MakeCode lub edytor Pythona
  • pakiet baterii (opcjonalnie)

Krok 2: Zakoduj to

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

Krok 3: Ulepsz to

  • Zmodyfikuj program tak, aby można było zresetować czas potrząsając micro:bitem.
  • Spraw, aby zegar był dokładniejszy poprzez użycie ułamków zamiast liczb całkowitych.
  • Dodaj funkcję zatrzymania czasu tak, że jeśli dotkniesz logo, gdy stoper jest uruchomiony, to pokaże czas w tym momencie. Pamiętaj, aby upewnić się, że nie jest to dodawane do zmiennej czas