No Code AI(肉寇)AI自動化兩日精通|實體6小時+線上6小時
|

【Micro:bit】彼特聲控與燈條控制實作

   

作者:Ted Lee

一般而言,聲音感測的方式有兩種:語音辨識(speech recognition)與音量控制(voice-volume control)。前者是透過下達語音指令(voice command)來控制電子元件,例如:開燈、關燈、⋯⋯;後者是根據音量大小做為電子元件控制的標準,例如:當音量超過門檻值(threshold)時,發出噪音警報、⋯⋯。

首先,我們運用雙層曼陀羅(Mandala)進行創意發想出燈條可能的各種使用場合(露營照明、汽車燈飾、⋯⋯)及其控制方式(遙控、聲控、⋯⋯)。

接著,我們再介紹小彼特和 WS2812B 燈條(strip)的硬體連接方式之後,運用小彼特板載的各種感測器(sensor),例如:麥克風、加速度測器、⋯⋯,來控制燈條閃爍變化的各種樣式(pattern),例如:流水燈、呼吸燈、彩虹燈、⋯⋯。

燈條應用及其控制之創意曼陀羅發想

構造 本文的主角是小彼特外接的顯示(display)元件:世界半導體(Worldsemi)生產的 WS2812B 燈條。這款燈條上採用可程式控制的(programmable)全彩 5V 5050 燈珠(圖 1)。

圖 1:世界半導體生產的串接 5050 燈珠的 WS2812B 燈條

串接(cascade) 各燈珠間以「+5V、DIN(資料輸入,data in)、GND(接地,ground)」的「SVG(Signal Voltage Ground)」方式相串接(圖 2)。其中,前一顆燈珠的控制資料會從 DO(資料輸出,data out)輸出,並將之由下一顆燈珠的 DIN 讀入。

圖 2:WS2812B 的連接端點

小彼特控制:從圖 3 中,我們可以很清楚地知道小彼特內建有八種光、溫度、聲音、……等等感測器(sensor)。

圖 3:小彼特的八種感測器

最後,我們以小彼特的使用場合當做內層,其控制方式做為外層,以 8×8 共 64 格的雙層曼陀羅定出了「聲控汽車燈飾」這個主題(圖 4)。接下來,我們將詳細地說明小彼特聲控及燈條控制兩部份完整的實做步驟。

圖 4:曼陀羅創意發想工具

燈條接線

為了方便小彼特和燈條相接,我們選用了凱斯電子科技的 KSB043 這塊 3V/5V 輸出的 I/O 擴充板(extension board)(圖 5)。

圖 5:3V/5V 雙電源輸出的 I/O 擴充板 KSB043

我們將 WS2812B 接到 KSB043 的 P1 接腳(pin),並採以下的的接線方式連接:

KSB043,WS2812B:黃,DIN、紅,+5V、黑,GND

圖 6:WS2812B 接在 KSB043 P1 的 SVG 排針

小彼特聲控

從圖 3 中我們可以很容容的看出小彼特板載上的硬體能提供光線、溫度、觸碰(touch)、磁力、聲音、重力、聲音等物理量的感測。本文以「聲控」的方式做為燈條的控制開關(switch)。在圖 7 中,MakeCod提供了聲音感測事件(sound event)的控制積木來攔截聲量大小聲的變動情況。

圖 7:聲音事件積木

燈條控制

使用情境 當小彼特收到聲音觸發信號(例如:拍手一下)時,計數器加一並多點亮一顆燈條上的燈珠。當 15 顆燈珠全點亮時,發出警示音效後歸零計數。
在開始實做聲控燈的程式控制之前,我們要先將圖 8 的燈條擴充積木 neopixel 加到 MakeCode 中。

圖 8:燈條控制的擴充積木

接著,我們先學習燈條控制的基本三個步驟。然後學會計步器的計數方法。最後再將這兩個步驟的基元(atom)程式組合成符合上述題目情境的聲控燈控制程式。

  1. 燈條控制三部曲 燈條控制有三個步驟(圖 9)。
    一、燈條初始化:設定燈條的連接腳位(本文使用 P1)及燈條上的燈珠數(本文準備的是 15 顆燈珠的燈條)。
    二、設定顏色(本文使用 indigo 靛青色)或清除(clear)色彩。
    三、顯示(show)色彩變化。

圖 9:燈條控制三部曲

2.計步器

當晃動 micro:bit 主板時,板載的重力加速度感測器(accelerometer)會觸發 shake 事件,我們便可以圖 10 的程式技巧來計算走動的步數。

3.聲控燈參考程式

整合上述燈條控制(圖 9)和計步器(圖 10)兩隻小程式,我們就可以輕輕鬆鬆地組出圖 11 的最終版聲控燈程式了。
其中,因為我們備用的燈條只有 15 顆珠,當聲控計數到 15 顆燈珠全亮後,燈條即不再變化。此時我們讓板載的蜂鳴器發出警示燈後再將計數歸零。完整的展示影片請參考這裡。

圖 11:聲控燈的參考程式

關於燈條的作品集

我們在 2020 年時和台北市仁愛國中體育科的楊昌珣老師共同指導的作品:卡路里大作戰,便是國中健體領域結合小彼特燈條的跨領域示例。此外,我們使用燈條也開發了計步帽一口氣有多長這兩個小型的教具。

最後,在 2022 年時,我們更和前新北市明志國中戴春成校長產學合作,運用小彼特控制燈條而產出了「酷跑遊台灣」這件作品,並在新北市 108 年資訊科技教育成果展展場上受得民眾們即高的評價。

Ted Lee

訂閱MakerPRO知識充電報

與40000位開發者一同掌握科技創新的技術資訊!

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On
468 ad

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *