ジョイスティックで精密制御:Arduino UNOと28BYJ-48ステッピングモーター
必要なパーツと用品
| パーツ | 数量 |
|---|---|
| Arduino UNO | 1 |
| 28BYJ-48 5V ステッピングモーター (ULN2003ドライバーボード付き) | 1 |
| ブレッドボード | 1 |
| ジャンパーワイヤー | 1式 |
| アナログジョイスティック | 1 |
プロジェクト概要
ハードウェア構成
- Arduino UNOボード
- 28BYJ-48ステッピングモーター (ULN2003Aドライバーボード付き)
- ジョイスティック
- 5V電源
- ブレッドボード
- ジャンパーワイヤー
回路接続
すべてのGNDは共通接続します。
ステッピングモータードライバー (ULN2003A) 接続:
- IN1 → Arduino ピン11
- IN2 → Arduino ピン10
- IN3 → Arduino ピン9
- IN4 → Arduino ピン8
- ドライバーボードの電源は外部5V供給
ジョイスティック接続:
- GND → GND
- +5V → 5V
- VRX (X軸出力) → Arduino アナログピン A0
- VRY (Y軸出力) → 今回は未使用 (2台目のモーター制御用)
- SW (プッシュスイッチ) → 未使用
X軸とY軸のポテンショメーターを使えば、2台のステッピングモーターを独立して制御できます。
ソースコード
ステッピングモーター制御スケッチ (C/C++)
Arduino標準の Stepper.h ライブラリを使用します。
// 作者: BEASTIDREES62
#include <Stepper.h>
#define STEPS 32 // 1回転あたりのステップ数 (28BYJ-48は内部ギア比で約2048ステップ/回転だが、ライブラリ用に32を指定)
#define IN1 11
#define IN2 10
#define IN3 9
#define IN4 8
// Stepperライブラリ初期化 (ピン順序: IN4, IN2, IN3, IN1 の順で正しく動作)
Stepper stepper(STEPS, IN4, IN2, IN3, IN1);
#define joystick A0
void setup() {
// ピンモード設定はライブラリ内部で行われる
}
void loop() {
int val = analogRead(joystick); // 0〜1023
// ジョイスティック中央付近 (500〜523) ではモーター停止
if (val > 500 && val < 523) {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
} else {
// 前進方向 (値が大きい方)
while (val >= 523) {
int speed_ = map(val, 523, 1023, 5, 500); // 5〜500 RPMにマッピング
stepper.setSpeed(speed_);
stepper.step(1); // 1ステップ進める
val = analogRead(joystick);
}
// 逆方向 (値が小さい方)
while (val <= 500) {
int speed_ = map(val, 500, 0, 5, 500);
stepper.setSpeed(speed_);
stepper.step(-1); // 1ステップ戻す
val = analogRead(joystick);
}
}
}
回路図
「このプロジェクトが気に入ったら、フォローといいねをお願いします!」
製造プロセス
- QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
- DIY自律型ナーフセントリーガン:ステッピングモーター、カメラ、Arduinoでスマートナーフガンを自作
- スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
- Arduino用バイポーラステッピングモーターライブラリ – 産業グレードの制御機能
- ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
- ArduinoとステッピングモーターでTinder/Bumbleを自動スワイプする装置
- ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
- 高度なモータ制御回路:ラッチング、停止、タイムディレイ技術
- ステッピングモーター:種類、特性、実用応用
- Millport SmartLathez 1740 CNC旋盤 – 精度とパワー
- フィールド指向制御(FOC):滑らかで効率的なEVモータ性能の鍵