3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

micro:bitに300円でボイスコマンド機能を追加する

Last updated at Posted at 2025-04-27

はじめに

micro:bitでの工作の際に「特定の言葉(ウエイクワード)でプログラムを起動させたい」と思ったことはありませんか?

例えば、ベッドで動けないケガをした人のために、「ライトをつけて」と声で命令したら部屋の照明が点灯したり、サーボモーターが作動して物理的なスイッチを押してくれたり。
image.png

実は、micro:bitにたった300円の部品を追加するだけで、このような「声」をトリガーにしたアクションを実現できるんです!この記事ではその具体的な方法を紹介します。

キーデバイス:ダイソー「ボイスコントロールライト」

image.png

このアイデアの核となるのが、ダイソーから300円(税抜)で販売されている「ボイスコントロールライト」です。

ボイスコントロールライトとは?

この製品は、USBに接続するとライトが点灯し、特定の音声コマンドでライトのオン・オフができるという、300円とは思えない画期的なガジェットです。

製品説明(パッケージより抜粋)

  • あなたの言葉にライトが反応する。話しかけてね。音声操作ライト。
  • 電圧:DC5V
  • 電流:0.2A
  • 【はじめに】 本品をUSB Type-Aコネクタに差し込むとライトが点きます。ライトに向かって「スマートライト」と呼びかけると、音声を認識した合図でライトが1回点滅します。
  • 【ライトの消し方】 「ライトを消して」という言葉をかけると、ライトが消えます。
  • 【ライトの点け方】 「ライトを点けて」という言葉をかけると、ライトが点きます。

つまり、「スマートライト」というウェイクワードの後に、「ライトを点けて」「ライトを消して」というコマンドで、内蔵LEDを制御できる仕組みになっています。

micro:bitと組み合わせる仕組み

今回のアイデアは、このボイスコントロールライトの「声に反応して光る(または消える)」という特性と、micro:bitの「明るさセンサー」機能を組み合わせることで実現します。

micro:bitのLEDディスプレイ部分は、実は光センサーとしても機能します。

処理フロー

  1. ユーザーが「スマートライト」⇒「ライトを点けて」と発声する。
  2. ダイソーのボイスコントロールライトが反応して光る
  3. micro:bitの明るさセンサー(LED画面)が、ボイスコントロールライトの光を検知する。
  4. micro:bitが光の変化(明るくなったこと)をトリガーとして、あらかじめプログラムされた特定の処理を実行する(例:ブザーを鳴らす、サーボモーターを動かす、別のLEDを光らせるなど)。

mermaid-diagram-2025-04-27-155316.png

コード

image.png

qiita.js
basic.showIcon(IconNames.Heart)
let isLED_ON = 0
music.setVolume(60)
basic.forever(function () {
    if (input.lightLevel() >= 100) {
        isLED_ON += 1
    } else {
        isLED_ON = 0
    }
    basic.pause(100)
    if (isLED_ON >= 3) {
        music.ringTone(330)
    } else {
        music.stopAllSounds()
    }
})

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?