Krok 1: Wykonaj to
Co to jest?
Zrób elektroniczną świeczkę, którą możesz zdmuchnąć! Wbudowany mikrofon nowego micro:bita wykrywa dźwięk Twojego oddechu i wyłącza świeczkę - i włącza ponownie.
Wprowadzenie
Przewodnik po kodowaniu
Czego nauczysz się
- Jak używać liczb losowych, aby zapalić losowo diody LED
- Jak przełączać wyjścia w odpowiedzi na wejścia z czujnika
- Jak używać logiki Boole'a, aby naprzemian włączać i wyłączyć przełącznik za pomocą jednego zdarzenia
Jak to działa
- Liczba losowa między 1 i 3 jest przechowywana w zmiennej o nazwie flicker.
- Ta liczba jest używana do losowego włączania i wyłączania diod LED, aby wyglądały jak migocący płomień.
- Diody LED micro:bit są ułożone w siatkę złożoną z kolumn i wierszy numerowanych od 0 do 4. Program włącza i wyłącza różne diody LED w górnym rzędzie w zależności od losowej liczby zachowanej w zmiennej flicker .
- Współrzędne diod LED są zawsze podawane najpierw kolumna (oś x), a następnie wiersz (oś y). Środek płomienia znajduje we współrzędnych 2, 0.
- Pętla 'na zawsze' podtrzymuje działanie animacji.
- Program używa również zmiennej o nazwie lit do śledzenia, czy świeca jest zapalona, czy nie. To jest zmienna logiczna. Zmienne logiczne mogą mieć tylko dwie wartości: true (prawda, włączony) lub false (fałsz, wyłączony).
- Gdy czujnik mikrofonu wykrywa głośny dźwięk, na przykład, gdy na niego dmuchasz, kod przełącza wartość lit przez ustawienie jej na not lit. A zatem kiedy dmuchasz na mikrofon, jeśli lit jest true (prawda), staje się false (fałsz) i ekran jest czyszczony, wyłączając diody LED.
- Jeśli lit była false (fałsz), staje się true (prawda) i ponownie włączamy animację.
Czego potrzebujesz
- micro:bit
- MakeCode lub edytor Pythona
- pakiet baterii (opcjonalnie)
Krok 2: Zakoduj to
1from microbit import *
2import random
3
4lit = True
5
6while True:
7 if microphone.was_event(SoundEvent.LOUD):
8 lit = not lit
9 sleep(500)
10 if lit:
11 display.show(Image(
12 "00900:"
13 "09990:"
14 "09990:"
15 "09990:"
16 "09990"))
17 sleep(150)
18 flicker = random.randint(1, 3)
19 if flicker != 2:
20 display.set_pixel(2,0,0)
21 display.set_pixel(flicker,0,9)
22 sleep(150)
23 else:
24 display.clear()
Krok 3: Ulepsz to
- Stwórz własny projekt animacji, włączanej i wyłączanej dźwiękiem.
- Możesz sprawić, by blok 'gdy dźwięk głośny' był bardziej lub mniej wrażliwy poprzez dodanie bloku 'ustaw dźwięk głośny na poziomie' do bloku 'podczas uruchamiania'. Znajdź ten blok w kategorii 'Wejście' i ...'więcej'. Użyj mniejszych liczb dla cichych dźwięków, większych liczb dla głośniejszych dźwięków.
- W Pythonie, aby zmienić próg głośnych dźwięków, użyj
microphone.set_threshold(SoundEvent. LOUD, 128)
tuż przed pętląwhile True:
, zmieniając liczbę 128 na żądaną głośność dźwięku. Może to być dowolna liczba między 0 i 255, przy czym 255 to dźwięk najgłośniejszy.
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.