Okayu が 2021年02月25日22時55分42秒 に編集
初版
タイトルの変更
非接触自動ダイスロールマシンを作った
タグの変更
Arduino
秋葉原2021
メイン画像の変更
本文の変更
ボードゲームやTRPGで使える、非接触でサイコロを振るハードウェアを制作しました。 材料 - - Arduino - サーボモーター(SG90) - 距離モジュール(GP2Y0A21YK) - 適当な箱 - ガチャガチャのカプセル - 電源 つなぎ方 - 下記の通りにサーボモーターや距離モジュールをArduinoに接続します。 **サーボモーター** **Arduino** PWM(黄) → D10 Vcc(赤) → 3.3V GND(茶) → GND **距離モジュール** **Arduino** Vcc(黒) → 5V GND(黄) → GND Vo(白) → A10 プログラム - ArduinoをPCに接続しArduinoIDEで下記のようにプログラミングします。 距離モジュールに10cm以上手を近づけるとモーターが動作するプログラムです。 ```arduino:aruduino #include "Servo.h" Servo myservo; void setup() { myservo.attach(10,500,2400); } void loop(){ int value = analogRead(0); int distance = (6787/(value-3))-4; myservo.write(30); if(distance <= 10){ myservo.write(30); delay(200); myservo.write(190); delay(200); } else{ myservo.write(30); } delay(3000); } ``` 完成品 - 動作の確認を終えたら、カプセルをサーボモーターに固定して、カプセルの中にサイコロを入れます。 箱の上面に距離モジュールを、側面にモーターやArduinoなどを固定して完成です。 ![キャプションを入力できます](https://camo.elchika.com/8e79d4f72de6a1c1b178ce2af3766ecee8405f24/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38306536343534352d656130382d343430642d396235612d3730646665336235303263302f31363436663562652d366439632d343033632d623266372d623131356335613562366330/) カプセルの中身を変えることで様々なダイスに対応可能です。 また、モバイルバッテリーがあればPCの電源なしに動作可能です。