Arduino Nanoとジョイスティックで2軸ステッピングモーターを制御:Visuinoで簡単プログラミング
部品と材料
| Arduino Nano R3 ×1(互換ボード可) |
| アナログジョイスティック ×1(37センサーキット付属品等) |
| 28BYJ-48 ステッピングモーター(5V)+ ULN2003ドライバーボード ×2セット |
| K2ブレッドボード電源モジュール(5V出力)+ アダプター ×1 |
| メス-メス ジャンパーワイヤー ×17本 |
アプリとオンラインサービス
- Visuino - Arduino用グラフィカル開発環境
- Arduino IDE
プロジェクトについて
CNCマシン、プロッター、キネティックアートなど、ステッピングモーターを使ったArduinoプロジェクトでは、手動でステッピングモーターを制御したい場面がよくあります。アナログジョイスティックは安価で、可変速制御が可能な優れた入力デバイスです。しかし、従来のArduinoコードで実装するのは意外と面倒です。
このチュートリアルでは、Visuino(ビジュアルプログラミングツール)を使って、Arduino Nanoで2台のステッピングモーターをジョイスティックで直感的に制御する方法を紹介します。コードを書かずにブロックを繋ぐだけで完成します。
ステップ1:部品確認

ステップ2:ステッピングモーターの電源・GND配線

- 各ドライバーボードのGND(黒)とVCC(赤)を接続
- 共通GNDをArduinoのGNDピンへ
- ドライバーボードのVCCをK2電源モジュールの「+」へ、GNDを「-」へ
- K2電源モジュールの電圧選択スイッチを5Vに設定
ステップ3:ステッピングモーターの制御線をArduinoに接続

- モーター1のIN1〜IN4(青・緑・黄・橙)→ Arduino デジタルピン 2,3,4,5
- モーター2のIN1〜IN4(青・緑・黄・橙)→ Arduino デジタルピン 6,7,8,9
ステップ4:ジョイスティックをArduinoに接続

- ジョイスティック GND(黒)→ Arduino GND
- VCC(赤)→ Arduino 5V
- VRx(紫/茶)→ Arduino アナログピン A1
- VRy(灰)→ Arduino アナログピン A0
ステップ5:Visuinoを起動し、ボードタイプを選択

- Arduino IDE 1.6.7以上をインストール(公式サイト)
- Visuinoをインストール(公式サイト)
- Visuino起動 → Arduinoコンポーネントの「Tools」ボタン → 「Arduino Nano」を選択
ステップ6:Visuinoでステッピングモーターコンポーネントを追加・接続

- コンポーネントツールボックスで「step」検索 →「4 Wire Stepper Motor」を2個配置
- Stepper1の「Out」ピンボックスをクリックし、Arduinoコンポーネントの「Digital[2]」入力ピンへドラッグ(自動で2-5ピンに展開)
- Stepper2の「Out」ピンボックスをクリックし、「Digital[6]」入力ピンへドラッグ(自動で6-9ピンに展開)
ステップ7:ステッピングモーターのプロパティ設定と速度制御ピンの追加

- Stepper1選択 → オブジェクトインスペクタで「Steps Per Second」を
0に設定 → ピンボタンから「Float SinkPin」を選択 - Stepper2も同様に設定
ステップ8:デッドゾーン付きスケーリングアナログコンポーネントを追加・接続

ジョイスティックのアナログ値(0.0〜1.0)を±300 steps/secに変換し、中央付近の微小な変動を無視する「デッドゾーン」を設けるため、「Dead Zone Scaled Analog」コンポーネントを2個使用します。
- 「zone」検索 →「Dead Zone Scaled Analog」を2個配置
- DeadZoneScaled1の「Out」→ Stepper1の「StepsPerSecond」
- Arduinoの「Analog[0]」→ DeadZoneScaled1の「In」
- DeadZoneScaled2の「Out」→ Stepper2の「StepsPerSecond」
- Arduinoの「Analog[1]」→ DeadZoneScaled2の「In」
ステップ9:デッドゾーンコンポーネントのプロパティ設定

- DeadZoneScaled1, 2ともに「Output Range」の「Max」を
300、「Min」を-300に設定
ステップ10:コード生成・コンパイル・アップロード

- VisuinoでF9または生成ボタンを押してArduinoコード生成、Arduino IDEが起動
- Arduino IDEで「書き込み」ボタンを押してコンパイル・アップロード
ステップ11:完成! 遊んでみよう

ジョイスティックの上下でモーター1、左右でモーター2が前後回転します。Visuinoプロジェクトファイル(FQM7EG7IPOA2W5T.zip)も添付されているので、Visuinoで開いて即座に試せます。
製造プロセス
- スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- TinyMLで植物の健康状態を診断:実践ガイド
- Arduino Nanoで作る携帯型ガイガーカウンター
- ThimbleKrox: Arduino MicroとMPU-6050を用いた指装着型マウス制御
- ゲーム用カスタムArduinoジョイスティックハンドルの製作
- Arduinoでゴキブリ制御システムを自作 - 30ドル以下で構築
- Arduino UnoとBluetoothでラジコンカーを遠隔操作:ステップバイステップガイド
- Arduinoロボットアーム「LittleArm」をAndroidアプリでBluetooth制御
- Arduino Nanoで作る「食べさせロボット」:超音波センサーで食べ物検知し口を開閉
- Arduino Unoで25kHz 4ピンPWMファンを制御 – 製作・コード・テスト