AoiSayaのアイコン画像
AoiSaya 2021年05月16日作成 (2022年01月28日更新) © CERN-OHL-P 2
製作品 製作品 Lチカ Lチカ 閲覧数 510
AoiSaya 2021年05月16日作成 (2022年01月28日更新) © CERN-OHL-P 2 製作品 製作品 Lチカ Lチカ 閲覧数 510

お菓子ケース型ガジェットの製作

お菓子ケース型ガジェットの製作

ぶなまめ1号 「obniz in FRISK」

はじめに

obniz BoardをFRISKケースに入れて扱いやすくしてみました。
8連のLED、振動モーター、圧電スピーカーを内蔵しているので、これ単体で遊ぶことができます。
充電池も内蔵しているので、小電流用途なら内蔵電源で動きます。

Grove端子もついているので、センサなどが簡単につなげます。

キャプションを入力できます

ガジェットの外箱として、FRISKケースに入れた状態でobniz Boardの箱に戻せます。

キャプションを入力できます

動作

光ったりブルったり音楽を演奏したりできます。

部品一覧

部品名 型番等 数量 備考
obniz obniz Board 1 amazonで購入
ケース FRISK 1 会社の売店で購入
RGB LEDx8 WS2812系 1 Aliexpressで購入
圧電スピーカー PKLCS1212E4001-R1 1 秋月電子で購入
振動モーター コイン型Φ10mm 1 Aliexpressで購入
リチウムイオン充電池 kei-702 300mAH 1 amazonで購入
充電ケーブル ラジコンヘリ用 1 Aliexpressで購入
バッテリーコネクタ 平型オス 1 yahooで購入
GROVEコネクタ HY2.0-4Pオス 1 aitendoで購入
スライドスイッチ MSK-12C01 2 Aliexpressで購入
マグネット ネオジムΦ8mm 2 ダイソーで購入
その他 はんだ、カプトンテープ 少量 手持ち

ハードウェア

ケースの加工

obnizをFRISKケースに入れるにあたり、obnizの基板は削らず、FRISKケースはいくらでも削っていいルールとしました。
FRISKの内箱(写真上)は右と下のヘリを切り取るとobniz Boardがすっぽり収まります。
外箱(写真下)は、画面表示が外から見えるように四角い穴をあけ、スイッチにあたる場所と配線を指す場所を切り取ります。
工具はハンドニブラーと黒刃カッターナイフを使いました。
キャプションを入力できます

電源回り

充電池は、約40×約25×約3mmのものをobnizの裏面に両面テープで貼りつけました。
絶縁が必要な部分にはカプトンテープを使っています。

充電池の出力電圧は約3.7Vです。本来は昇圧回路で5Vにするべきですが、今回はこのままスライドスイッチを経由してUSB電源の根元につないでいます。このため、IOの電圧も3.7V前後になりますが、大抵の部品はこの電圧でも動作するので自分の使い方では問題はないと判断しました。

キャプションを入力できます

また、リポの充電には、ラジコンヘリ用の充電ケーブルを使うことにしました。
このケーブルは、充電モジュールを内蔵しています。
充電モジュールを外に出すことで、より大きいバッテリを内蔵出来ます。
キャプションを入力できます

作例を参考にされる際は自己責任でお願いします。充電式電池の取扱いには十分ご注意下さい。

その他の部品

振動モーター、8連のLED、圧電スピーカー、Groveコネクタ、バッテリーコネクタ、スライドスイッチです。
キャプションを入力できます

各部品はobnizの外部端子の根元で基板にはんだ付けしました。接続先は以下の通りです。

部品 接続先
振動モーター 5番と本体のGND
8連WS2812B vccは6番, dinは7番,gndは本体のGND
圧電スピーカー 8番と本体のGND
Groveコネクタ vccは9番, 信号は10,11番,gndは本体のGND

スライドスイッチは電源とスピーカー配線のそれぞれに直列に入れました。

Groveコネクタ側の写真です。スイッチ周りは手のあたりがよいように削っています。
キャプションを入力できます

バッテリーコネクタは充電コネクタに接続するためのもので、充電器に直結しています。
電源コネクタ側の写真です。USB端子と充電端子の二階建て構造としています。
電源スイッチは見づらいですが、充電コネクタの右側にあります。
キャプションを入力できます

最後に外部コネクタ側の写真です。
キャプションを入力できます

アプリ作成のポイント

obnizIDが漏れると地球の裏側からでもいたずらされるリスクがあります。人にアプリを披露する際にもobnizIDは極力見せたくありません。そこで、 obniz.resetOnDisconnect(false); を記述しています。
また、USBからの電源供給の代わりに充電池直結としたことで、obnizのLOWバッテリー警告が出やすくなります。そこで obniz.onconnect の直後に警告を出さない設定を追加しています。
具体的な記述例を紹介します。

obnizIDの隠ぺいとLOWバッテリー警告オフ

obniz.onconnect = async function () { obniz.resetOnDisconnect(false); obniz.warning = (msg)=>{}; obniz.error = (msg)=>{}; (以下、他の処理)

8連のLEDと圧電スピーカーは公式のサンプルで動きます。端子設定部分は以下のように記述しています。

内蔵部品の接続

const leds = obniz.wired("WS2812B", {vcc: 6, din: 7}) const speaker = obniz.wired("Speaker", {signal:8, gnd:8 })

振動モータはPWMで制御できます。サンプルコードを紹介します。

振動モータでボレロを表現するコード

var pwm = obniz.getFreePwm(); pwm.start({io:5}); pwm.freq(1000); var beat = [1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 0,0,0,0, 0,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0, 1,0,0,0] pwm.modulate("am", 41.5, beat, 20);

おわりに

ケースに入れたことで、ポケットに入れて簡単に持ち運べるようになりました。
obnizで動く様々なソフトがそのまま動くのはもちろん、定番の部品を搭載したことで配線しなおすことなくいろんなアプリを試すことができます。

また、部品ごとケースに入れたので配線が外れる心配もなく、電池も内蔵しているので某〇5Stickのようにポケットから出してすぐアプリを披露できるのもポイントです。

最後に製作したガジェットを使ったアプリの動作デモを紹介します。
elchikaには動画が貼れないのでTwitterの埋め込みにしたのですが、PCのブラウザだと埋め込みがうまく反映されなかったので、リンクも貼っています。
いずれも内蔵電池で動作しています。

3Dデモ

演奏デモ

そろばんホイールデモ

ご笑覧いただければ幸いです。

免責事項

本記事の正確性については努力しておりますが、当方は利用者が当記事の情報を用いて行う一切の行為について何ら責任を負うものではありません。本記事の情報の利用、内容によって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ご自身の責任においてご利用いただきますようお願いいたします。

Author

GitHub/AoiSaya
Twitter ID @La_zlo

2
AoiSayaのアイコン画像
こころの赴くままに豆をまきます。投稿内容は趣味と煩悩に基づいており、無保証です。また、所属団体を代表するものではありません。
  • AoiSaya さんが 2021/05/16 に 編集 をしました。 (メッセージ: 初版)
  • AoiSaya さんが 2021/05/16 に 編集 をしました。
  • AoiSaya さんが 2021/05/16 に 編集 をしました。 (メッセージ: コメント追加)
  • AoiSaya さんが 2021/05/16 に 編集 をしました。 (メッセージ: 端子接続の詳細とアプリの作り方を追加)
  • AoiSaya さんが 2021/05/16 に 編集 をしました。 (メッセージ: 説明を加筆)
  • AoiSaya さんが 2022/01/28 に 編集 をしました。
ログインしてコメントを投稿する