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
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.