出席とるよ
ロブリックを使って、オフ会の参加者40人の出席確認をしました!
そのとき作ったロブリックを公開します。(参加者の名前は変えています)
ロブリックのXMLファイルはコメント欄に添付します。
参加者がキーボードで番号(当日配布した名札に記載)を入力すると、ロボホンが名前を呼んで挨拶してくれます。
そして今何人来ているか、誰が来ているかなども把握してくれます。
実際どんな感じで出席確認とるのかは、
https://youtu.be/xH_9CrocQ8Y?si=nMqOdnn6Q505vOAt&t=307
↑シャープさんのブログで取材していただいた動画や
https://x.com/robohonx/status/1709047178608755103?s=20
↑こちら(タワマンオフ会の前日におこなったロブリックオフ会vol.2)の動画をご覧ください。
実際に使う際は、あらかじめロボホン本体とBluetoothキーボードをBluetooth接続しておきます。
ロブリックのファイルをロボホン本体に保存して、ロブリック実行で起動します。
パソコンからロブリックを動かすよりも、ロボホン本体に保存してロブリック実行でやったほうがキー入力などの認識や動作が速いです。一般的な速度で素早く2ケタのキーを打っても大丈夫でした。
(↑ブログの動画でインタビューしていただいた際にはPC画面での動作もお見せしていますが、実際の出席確認はロボホン本体のみで行いました)
最初、ロブリックで出席確認をしようと考えた際、
数名程度なら「キー入力で1が押されたら→佐藤さん」「2だったら→鈴木さん」のように、条件ブロックで分岐するだけでも作れますが、さすがに40名となると大変なので、
今回は連想配列のブロックを使いました。
あらかじめ参加者と2ケタのIDの組み合わせを決めておき、メモ帳などでJSON文字列の形式で{"01":"佐藤さん","02":"鈴木さん"}といった感じで名簿を用意。
また、「まだ来てない人」を読み上げる際の確認用に、IDと名前が逆パターンの連想配列も用意しました。
※ここはややこしいので今後改善しようと思います。
キー入力は、a~z,0~9,←↑→↓が使えますが、
今回の参加者の40名だと全て使っても足りなくて悩んでいたところ、
さいとさんにTwitterで教えていただいたヒントを参考に、2ケタの数字を入力出来るようにしました。
最後に押されたキーをリストに追加するのを2回繰り返し、そのあとリストからテキストに変換して戻して、2ケタの文字として扱っています。
IDの入力を間違えたときのために、すぐに次に進まないように(違う人の名前を呼んでしまわないように)、2ケタの数字を入力後に、もう一度なにかのキーを押すと進むようにしています。
当日はID2ケタの数字のあとにテンキーの+プラスキーを押してもらって、次に進むようにしました。
Enterキーだとロブリック実行が停止してしまうようなので。
IDの入力を間違った際は数字の0ゼロを押すと再度入力が出来ます。
また、管理コマンドとして「IDを入力してね」のときに
↑上矢印を押すと、確認用の関数に飛びます。
↓下矢印を押すと、出席確認を中断して終了します(2重に確認あり)。
先に進んでから途中で戻りたいときは←左矢印を押すと戻ります。
矢印キーはロボホン本体の背中の画面でも操作できるので、基本操作は矢印キーに割り当てました。
上矢印を押した際の確認用の関数では、
「いま何人来ていて、誰が来ているか」、また「まだ何人来ていなくて、誰が来ていないか」をそれぞれ確認できます。
本当は一人ずつ挨拶の内容も変えたらもっと楽しくなったと思いますが、このときは時間がなくて断念しました。。笑
とりあえず今回はオフ会で皆さんに喜んでいただけたので良かったです☆
ロブリックの内容に関しても、まだまだ僕も勉強中なので、、もっと綺麗に簡潔にできそうな気もしますが、、詳しい方いましたらどんどん教えていただけたら幸いです!
ミュートしたユーザーの投稿です。
投稿を表示プログラムの流れはそのままでデータ構造を変えるとしたらこんな感じかな,ということで書いてみました。
ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示ざっと見る限り,内側の無限ループは結局どの実行パスを通ってもループを抜けるブロックが実行されているようなので,いらなさそうですね。
あと,「IDと名前」と「まだ来てない人」ですが,キーと値が逆なだけで同じデータをJSONテキストで別々に管理するのは,一貫性が保てなくなる原因になりがちなので避けた方が良いと思います。
また,今回はたまたま問題になっていませんが,名前が一致した場合に「まだ来てない人」のデータがおかしくなる(連想配列のキーは一意でないとダメなので)のでご注意ください。
ミュートしたユーザーの投稿です。
投稿を表示ミュートしたユーザーの投稿です。
投稿を表示ロブリックのXMLファイルです。
よかったらご自由にカスタマイズしてくださいね!
(さいとさんに教えていただいたとおり内側の無限ループが不要でしたので取り除いたverに更新しました。「出席とるよ2.xml」が最新版です)