Skip to content

活動

拍手聲控燈

初學者 | MakeCode, Python | LED 螢幕, 麥克風 | 布爾邏輯, 感應器, 選擇

步驟1:製作

它是什麼?

把您的 micro:bit 變成一盞燈,您可以藉由拍手或發出任何大聲的聲音來打開或關閉它。

介紹

編程指引

您將學到什麼

  • 如何根據感測器輸入來切換輸出
  • 如何使用布爾邏輯來製作一個能夠藉由相同事件所觸發來切換開啟或關閉的開關。

運作方式

  • 該程式使用一個名為 lightsOn 的變數來追蹤燈的狀態:它是打開還是關閉的。 我們把它作為一種特別的變數,一個布爾變數。 布爾變數只能有兩個標準值:真(開)或偽(關)。
  • 當麥克風感測器偵測到一聲大的聲響時,程式碼會將 lightsOn 的值切換為 not lightsOn
  • 這代表當您拍手時,如果 lightsOn 是偽(並且燈是關閉的),它就會變成真,並且程式就會點亮 LED。
  • 如果lightsOn為真(而且燈是亮的),它就會變成偽,程式碼會透過清除螢幕來關閉 LED。

你需要的東西

  • 一個micro:bit
  • MakeCode 或, Python 編輯器
  • 電池組(選配)

步驟2:編碼

1from microbit import *
2lightsOn = False
3
4while True:
5    if microphone.was_event(SoundEvent.LOUD):
6        lightsOn = not lightsOn
7        if lightsOn:
8            display.show(Image('99999:'
9                               '99999:'
10                               '99999:'
11                               '99999:'
12                               '99999'))
13        else:
14            display.clear()
15    sleep(100)

步驟3:進階

  • 您可以透過在「on start」區塊上添加「set loud sound threshold」區塊,讓「on loud sound」區塊更靈敏或更不靈敏。 對較小的聲音使用較小的數字,對響亮的聲音使用較大的數字。 上面的程式設計視訊向您展示如何實作。
  • 在 Python 中,要更改聲音的門檻值,請使用 microphone.set_threshold(SoundEvent.LOUD, 128) - 將數字 128 更改為 0 到 255 之間的任何您想要的數字。
  • 讓燈光在開啓時也能播放一段音樂。
  • 使用聲音來控制其他項目,例如連接到您的 micro:bit 上的引腳的照明 LED 或伺服馬達。