Skip to content

Aktywność

Świeczka

Średnio zaawansowany | MakeCode, Python | Mikrofon, Wyświetlacz LED | Czujniki, Logika boolowska, Wybór

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.
siatka pokazująca współrzędne diod LED wyświetlacza micro:bit
  • 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.