myaonのアイコン画像
myaon 2021年02月24日作成 (2021年12月23日更新)
製作品 製作品 閲覧数 958
myaon 2021年02月24日作成 (2021年12月23日更新) 製作品 製作品 閲覧数 958

micro:bitでclusterのコントローラーを作る

micro:bitでclusterのコントローラーを作る

バーチャル空間における入力を色々なものに置き換えることに興味を持っていた私は、手始めにmicro:bitでclusterコントロールしてみることにしました。
clusterはバーチャルSNSのひとつ。
 PC版の移動はキーボード、ボタンclickによるリアクション機能等あり。

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

完成品:https://youtu.be/zWOsLJudnfs

仕組みとしてはmicro:botの情報(ボタンと加速度)をシリアル通信でPCに送り

micro:bit側プログラム

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

PC側のpythonプログラムでそれを受け取りpyautoguiで仮想キー入力に置き換えることで実現しています。
Pythonでキーボード操作!キーを打たずに自動化できちゃう!?

micro_cluster.py

import pyautogui as pgui def Key(word): pgui.typewrite(word) def Click(x,y): pgui.click(x,y) import serial while True: ser = serial.Serial("COM4",115200,timeout=None) line = ser.readline() line = str(line) # マウスカーソル位置確認 # print(pgui.position()) # 加速度の入力を分岐:移動 if(',' in line): l = line.split(',') s = l[0].lstrip("b'") # 左右 if (int(s) > 400): Key("d") elif (int(s) < -400): Key("a") # 前後 if (int(l[1]) > 400): Key("s") elif (int(l[1]) < -400): Key("w") # ボタンA:リアクション1 if(line[2] == "w"): Click(12070,2114) # ボタンB:リアクション2 elif(line[2] == "s"): Click(12350,2114) # ボタンA+B:停止 elif(line[2] == "q"): break ser.close()

これを頭に乗っけて動かしたり
対応する情報とキー入力を入れ替えることでより没入感がアップするかも!?
お試しあれ~!

myaonのアイコン画像
山口の高専専攻科 3Dプリント/VR/IoT トビタテ12期 卓球/ロボコン ひきこもり衆∞ 観測者/Vket5/cluster住民 ひきこもりで生きていくためのものつくる
ログインしてコメントを投稿する