ワクチンの接種も始まりましたが、国民全員に行き渡るのは当分先、変異種も発見され始めており、コロナ対策はまだまだ予断を許しません。プログラミングを用いた社会課題解決の一環として、料理を食べるときに全自動で開閉する実用的(?)なマウスシールドを作成してみよう、というこの連載。第2回の今回は、前回作成したマウスシールドをプログラムで動かしてみましょう。
【新型コロナウイルス感染症対策について】
マウスシールドは、あくまでもコロナウイルス感染症対策の補助的な防御手段です。会食の際は新型コロナウイルス感染症対策推進室(内閣官房)が示す「会食時に注意したいポイント」を守ってください。micro:bitプログラミングの準備
まず、micro:bit(マイクロビット)のセットに入っているUSBケーブルを使って、micro:bitとパソコンを接続します。
micro:bit v2はUSBケーブルからの電力だけでサーボモーターを動かすことができますが、初代のmicro:bitは電池ボックスを繋がないと電力が足りず動かすことができないので注意しましょう。
次にパソコンの設定をしましょう。WebブラウザーでMicrosoft MakeCodeのサイトを開いて、「micro:bit」をクリックします。
「新しいプロジェクト」をクリックして、ここでは「マスク」というプロジェクトを作成します。
新しいプロジェクトが作成できたら、次にmicro:bitと接続します。「ダウンロード」の横の「…」をクリックし、「デバイスを接続する」をクリックします。表示された「BBC micro:bit XXXXX-XXX」を選択して「接続」をクリックしてください。もしも上手く接続できない場合は、一度サーボモーターを外してから接続すると上手くいきます。
最初に、micro:bitのボタンAを押すとシールドが閉じ、ボタンBを押すとシールドが開く、というプログラムを作って、うまく開閉することを確認してみましょう。MakeCodeの「入力」から「ボタンAが押されたとき」のブロックに、「高度なブロック」から「入出力端子」の「サーボ出力する端子P0角度180」のブロックを組み合わせます。ボタンAのブロックを右クリックして「複製する」を使って複製し、ボタンを「B」に、角度を「0」に書き換えると、ボタンBのブロックも簡単に用意できます。
プログラムができたら再び画面左下の「ダウンロード」をクリックして、micro:bitにプログラムをダウンロードします。「Download completed!」のメッセージが表示されたら、micro:bitへのプログラムの転送は成功です。
早速micro:bitのAとBのボタンを押してみましょう。シールドが、ボタンAで閉じる、ボタンBで開くことを確認します。
次に食事を口に運ぼうと前に屈んだ時に自動的にマスクが開くように、micro:bitの傾きの角度(ピッチ)を検知して開閉するプログラムを作ってみましょう。
まずは「基本」から「ずっと」のブロックを取り出しておきます。次に「変数」から「変数を追加する」をクリックして「かたむき」という変数を作成し、「変数かたむきを0にする」のブロックを「ずっと」のブロックに、「入力」の「その他」から「傾斜(°)ピッチ」のブロックを「変数かたむきを~」のブロックに、それぞれ組み合わせてください。傾きを0.5秒に1回検知するようにしたいので、「基本」から「一時停止(ミリ秒)」のブロックを「500」に設定して組み合わせます。
最後に、「傾斜(°)ピッチ」が100度より小さい場合はシールドを閉じ、110度より大きい場合は開くようにプログラミングします。
まず、「論理」から「もし<真>なら~でなければ~」のブロックに、同じく「論理」から「くらべる」の「0<0」のブロックを組み合わせます。「変数」から「かたむき」の変数ブロックの値と比べて、「100」より小さい時は「サーボ出力する端子P0角度180」のブロック、「110」より大きい時は「サーボ出力する端子P0角度0」のブロックを実行するように組み合わせます。
私はこの角度設定がちょうどいいのですが、マスクへのmicro:bitの取付位置や、食事の際にどれくらい頭を傾けるかによっても異なりますので、うまく動かなかった場合には微調整をしてください。
一見するとこれで完成に見える全自動マウスシールドですが、1つ欠点があります。皆さん飲み物を飲むとき、顔はどう傾けますか? そう、前を向いた状態でコップに口をつけて、上を向いて飲みますよね。今回のように、下を向いた角度の検知だけでは、飲み物が飲めないのです。
この欠点を改善するため、次回はAIを使って飲み物を認識し、マスクが自動開閉するようにプログラムを作ってみます。
【第2回の記事の解説動画はこちら】
からの記事と詳細 ( 100円ショップの材料とmicro:bitで作った会食用の全自動マウスシールドをプログラミング - 窓の杜 )
https://ift.tt/3d4X5BF
No comments:
Post a Comment