Skip to content

Активност

Свећа

Средње | MakeCode, Python | Лед екран, Микрофон | Логичке операције, Одабир, Сензори

Корак 1: Уради

Шта је ово?

Направите електронску свећу коју можете да угасите дувањем! Уграђени микрофон новог micro:bit уређаја детектује звук вашег даха и гаси свећу, а затим је поново пали.

Увод

Водич за програмирање

Шта сте научили

  • Како се користе случајни бројеви да бисте упалили насумичне ЛЕД диоде
  • Како променити излаз као одговор на улазе са сензора
  • Како се користи Булова логика да бисте направили прекидач који се укључује и искључује када га покрене исти догађај

Како то ради

  • Насумични број између 1 и 3 чува се у променљивој која се назива flicker.
  • Овај број се користи за насумично укључивање и искључивање ЛЕД диода како би се симулирао пламен који трепери.
  • ЛЕД диоде micro:bit уређаја распоређене су у мрежу по колонама и редовима нумерисаним од 0 до 4. Програм исцртава (укључује) и уклања цртеже (искључује) различите ЛЕД диоде у горњем реду у зависности од случајног броја сачуваног у променљивој flicker.
  • Координате за ЛЕД диоде су увек дате тако да је дата прво колона (по x-оси), а затим ред горе или доле (по y-оси). Средина пламена је на координати 2, 0.
мрежа која приказује координате micro:bit-овог ЛЕД екрана
  • Бесконачна петља наставља да приказује анимацију.
  • Такође, програм користи променљиву под називомlit како би се пратило да ли је свећа упаљена или не. Ово је логичка (Boolean) променљива. Boolean (логичка) променљива може имати само две вредности: тачно (укључено) или нетачно (искључено).
  • Када сензор микрофона детектује гласан звук, на пример када дувате у њега, мења се вредност променљиве litса осветљено на not lit (није осветљено). Дакле, када дунете у микрофон, ако је вредност променљивеlit тачно, она се мења у нетачно, а ЛЕД диоде се искључују.
  • Ако је вредност променљиве lit нетачно, њена вредност постаје тачно и поново се покреће анимација.

Шта вам је потребно

  • micro:bit
  • MakeCode или Python уређивач
  • батерије (опционално)

Корак 2: Програмирај

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

Корак 3: Унапреди

  • Направите сопствени дизајн за укључивање или искључивање анимације користећи звук.
  • Анимацију можете да покренете коришћењем блока "при гласном звуку" како бисте подесили осветљеност додавањем блока "поставите праг гласног звука" блоку "при покретању". Пронађите ову опцију под Улаз и '...више.' Користите мање бројеве за тиши звук, а веће бројеве за гласније звукове.
  • У Python-у за промену нивоа за гласне звуке користите microphone.set_threshold(SoundEvent.LOUD, 128) непосредно пре петље while True:, мењањем броја128 у жељену вредност. Тај број може да буде било који број између 0 и 255, тако што 255 представља најгласнији звук.