【完全版まとめ】量子アニーリングxプラレールで動かす!プラレール制御プロジェクト入門(Windows編)
- Tomohiro Mochida
- 6月23日
- 読了時間: 3分
このブログでは、カメラ映像から座標を取得して、Arduinoでプラレールを動かすという一連のプロジェクトをステップごとに解説します。Python初心者や電子工作に不慣れな方でも再現できるよう、必要な環境構築からハードウェア制御まで丁寧にまとめています。
🛠 環境構築編(仮想環境+必要パッケージ)
Step 1: 仮想環境の作成
python -m venv spyder_env
Step 2: 仮想環境のアクティベート(PowerShell)
.\spyder_env\Scripts\Activate.ps1
Step 3: 必要なパッケージのインストール
pip install --upgrade pip pip install spyder opencv-contrib-python numpy tytan matplotlib pyserial pytorch
Step 4: serialパッケージの再インストール(競合防止)
pip uninstall serial pip uninstall pyserial pip install pyserial
Step 5: Spyderの起動
cd .\spyder_env\Scripts\ .\spyder.exe
※エラーが出る場合は:
python -m spyder
📷 カメラでの座標検出
Step 6: カメラ確認コードの実行
前回のブログのコードをコピペする。
※マーカーが映らない場合は、VideoCapture(0) の数字を変更。
🧭 座標記録とデータ整備
Step 7: 座標.csvを確認
実行後、座標.csv にマーカー位置が記録される。
IDが0や1の行は不要なため削除。
Step 8: 電車を置いて座標記録
電車をレール1に置き、rキーを押して記録。
レール15に移動し、再度rキー。
qキーで記録終了。
座標.csv に2点の座標が追加されていることを確認。
🔧 Arduinoとの連携
Step 9: ポートの設定
3_小メインコース.py の中の以下の行を、自分のArduinoポートに変更:
ser = serial.Serial('COM3', 9600) # Macの場合: '/dev/cu.usbmodemXXXX'
Step 10: Arduinoスケッチ(servo.ino)の準備
Arduino IDEでservo.inoを開き、書き込み済みであることを確認。
🤖 PyTorchの活用(任意)
将来的に座標から移動予測などを行いたい場合は、PyTorchが役立ちます。
import torch
インポートに成功すれば準備完了です。
🚂 実行してみよう!
Step 11: メインプログラムの起動
前回のブログのコードをコピペする。
3_小メインコース.py を実行すると以下の流れが実現します:
カメラでマーカーを検出し位置を取得
対応する座標に達したかを判定
Arduinoにシリアル通信で信号を送信
サーボモーターやLEDが動作!
✅ まとめと次の展開へ
このプロジェクトでは、以下の技術を組み合わせることで、Pythonから物理世界を操作する一連の流れを実現しました。
Python仮想環境 + OpenCVでの映像処理
CSV形式でのデータ記録と活用
Arduinoとのシリアル通信による制御
次のステップでは、座標情報から移動経路の最適化や、PyTorchを活用した動きの予測モデルなども視野に入れて展開していきます。え
「やってみたいけど難しそう」と感じていた方も、まずはこの流れをそのままなぞってみてください!確実に1つずつステップを踏めば、プラレールがあなたのプログラムで動き出します🚄✨
Comments