バーチャル空間における入力を色々なものに置き換えることに興味を持っていた私は、手始めにmicro:bitでclusterコントロールしてみることにしました。
*clusterはバーチャルSNSのひとつ。
PC版の移動はキーボード、ボタンclickによるリアクション機能等あり。
完成品:https://youtu.be/zWOsLJudnfs
仕組みとしてはmicro:botの情報(ボタンと加速度)をシリアル通信でPCに送り
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
さんが
2021/02/24
に
編集
をしました。
(メッセージ: 初版)
-
myaon
さんが
2021/02/24
に
編集
をしました。
-
myaon
さんが
2021/02/24
に
編集
をしました。
-
myaon
さんが
2021/02/24
に
編集
をしました。
-
myaon
さんが
2021/12/23
に
編集
をしました。
ログインしてコメントを投稿する