(1)M5Stack BasicとM5Stamp Pico 、UIFlowでダイソー「ピンポンブザー」を早押し対応にする - はじめに
ダイソーに「ピンポンブザー」という商品があります。300円商品ですが、別会社から販売されている同様の商品は、1000円を超えるので、コストパフォーマンスが高いと思います。(全く同じ作りではないかもしれませんのでそこは考慮ください)特に、複数購入して使用する場合にその差が大きくなってくると思います。
発端
ことの発端は、職場近くのダイソーで、大量入荷(数十個単位)されていたこの商品を見つけたところからです。それまで、存在は知っていましたが、実際に見かけるのは初めてのことでした。
これだけ大量入荷されているのなら、「いくつか買っていって、授業の中で、班対抗のクイズ大会とかやったら面白いかな……」ということで6台ほど、買っていきました。
で、封を開けて、動作確認をしてみましたが、なかなかいい音で「ピンポン」と鳴って、「○」の札が上がって結構楽しい感じがします。
これだけでもオススメ。
ただ、実際に使用シーンを想像してみたときに、誰が一番早く押したのかは、目視での確認になり、「6台もあるとタイミングが重なったときに判断がつかないな、こりゃ大変だぞ……」と思いました。
そこで、(どうせ中ではブザーのスイッチが押されているだけだろうという予想のもと)スイッチの押下を検出して誰が一番早く押したのかを判断するシステムを、組んでみようと思い至ったのです。
事前調査
ということで、巷ではどんな感じの早押し機があるのかを調べてみました。とはいうものの、「早押し 装置」とかで検索しただけなのですが。
出てくるものは、わりと個人制作、受注制作のものが多いようです。基本的に有線で、パトランプ(回転灯)がついているもの、送り機能(最初の回答者が不正解だった場合、次に早かった人に回答権を送る)がついているもの、いろいろあるようです。
また、需要がない?せいなのか、比較的高価で、本体数万円、ボタンを増やすたびに子機が数千円みたいな感じが相場、なのでしょうか。
構想
とりあえず、ボタンとブザーは、今回の製品のものを使用するとして、有線タイプはごちゃごちゃするので、できれば避けたいのと、教室で使うのにも取り回しが難しそうなので、無線にしたいと考えました。
ということで、考えた仕組みは「子機のボタン押下をトリガとして、無線で信号を送って、親機に信号が届いた順で判別」
世間一般(?)のものが有線タイプなのは多分、「早押し」という性質上、精度を求めた結果なのでしょうが(無線だと子機の遅延の個体差や受信漏れなどが心配)、もともと、肉眼での確認の代用なので、この際その辺は気にしないことにします。ちなみに、この時点で懸念材料としては、「複数台同時の送信に親機がきちんと対応してくれるか」です。こればっかりは実際にやってみないことには分かりません。
また、子機側が送る無線信号は、「親機が他の信号と誤検知しない」「安価で無線信号を送ることができる」ということを考慮して、何がいいか考えた結果、EspNowを使用し、子機側をM5Stamp Pico、親機をM5Stack Basicとすることにしました。
子機のM5Stamp Picoは組み込み向けで、画面がついていない代わりにサイズが小さいのと、GPIO(入出力端子)がある程度確保されているのが利点です。あとM5製品の中では単価が安い。
親機はM5StickC Plusでもいいんですが、今回は親機は1台でよく、個数を用意しなくていいこと(個数を用意するならM5Stack Basicより単価が安いM5StickC Plusのほうが有利)と、将来的に複数台の順番を表示するようにしていくなら、表示領域が広い方がいいかな、と思ってM5Stack Basicとしています。別にM5StickC Plusでも問題ないです。
M5Stamp Pico
●M5Stack公式、スイッチサイエンス
切手(Stamp)サイズのM5製品。5枚入もあります。
M5Stack社の国内代理店であるスイッチサイエンスさんからだと1枚¥1,001。5枚入もあるけど、¥5,566でなぜか高くなっている(2023/07/28)。送料は¥3,000円以上で無料。
公式だと1枚$5.00(¥696.26)で、5枚$23.90(¥3,328.10・1枚¥665.62)送料$4.93(¥686.63)を考えても公式から買ったほうがなぜか安かったです(ただ時間はかかりますが)。
無線機器を国内で使用する場合、技適が通っていることが必要なのですが、技適はシール(ステッカー)タイプで、どっちから買ってもついてきます。
大抵の製品で、スイッチサイエンスさんは、公式で買うのとほぼ同程度の金額で提供してくださっているので、そっちから買うことが多いのですが、M5Stamp Picoの場合は、そうでもないようなので、「すぐ欲しい」、「海外通販が嫌(国内通販の方が安心)」とかでなければ公式から買うといいです。
あと、ArduinoIDEなどからのUSBプログラム転送や、UIFlowならファームウェアの更新なんかで、パソコンとM5Stamp Picoが通信するために「USB-TTLシリアル変換器」が1つ欲しいです。普通のM5製品には内蔵されている部分です。M5Stamp Picoは省略されています(それもあって小さくて安い)。今回は昔、ESP32用に買ったのがあったので、それを流用しました。「USB-TTLシリアル変換器」のピン配置は製品によって違い、今回は流用のためその辺は気にしないで間に噛ませたケーブルで調整しましたが、ピン配置がStamp側と揃っている、M5Stack社の「ESP32 ダウンローダキット」がM5Stamp Picoの端子に差すだけで使いやすくていいかもしれません(だいたい¥1,000くらい)。
●M5Stack公式、スイッチサイエンス
お値段
親機
M5Stack Basic(もともと持ってた/買うと¥6,000くらい?)
¥0子機
ダイソー ピンポンブザー(6個)
¥1,980M5Stamp Pico(6個)
¥5,000くらい(公式、送料込み)ESP32ダウンローダキット(買うと¥1,000くらい)
¥0
ということで、6台でだいたいブザー本体+Picoの¥7,000くらいで済みました。1台あたり¥1,000ちょっと。ゼロから揃えると¥14,000くらいだろうか(1台あたり¥2,000?)。
今回、お金の話がわりと出ましたが、学習指導要領上の、三つの「育成を目指す資質・能力」を受け、中学校技術科では、「技術の見方・考え方を働かせ,ものづくりなどの技術に関する実践的・体験的な活動を通して,技術によってよりよい生活や持続可能な社会を構築する資質・能力を次のとおり育成することを目指す。」を目標に掲げています。この中の、「技術の見方・考え方」においては、人によって捉え方が違うとまずいので、きちんと定義されていて、「生活や社会における事象を,技術との関わりの視点で捉え,社会からの要求,安全性,環境負荷や経済性などに着目して技術を最適化すること。」と整理されています。この記事における問題解決のための材料の選定において「経済性」を気にしていた、ということです。まぁ、「いくら機能が実現できていても、高かったらちょっとね…」というわけです。
次回から製作に入ります。