工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DIY 2軸FPVカメラクレードル:Arduinoジョイスティック制御チュートリアル

必要な部品と材料

部品 数量
Arduino UNO 1
SG90 マイクロサーボモーター 2

プロジェクト概要

こんにちは皆さん、今日はジョイスティックモジュールで2軸FPVカメラクレードルを制御する完全チュートリアルを紹介します。カメラクレードルはアクリル製サポート、ネジ、2個のサーボモーターがセットになった小さなパッケージで届きます。

事前知識

ジョイスティックやサーボモーターに慣れていない場合は、以下のチュートリアルを先にご覧ください:

2つの制御モード

  1. 追従モード:サーボがジョイスティックの位置に追従し、スティックを動かすと同時に動く
  2. 方向保持モード:ジョイスティックが指す方向へサーボが動き、スティックを離してもその位置を保持。再度動かすか方向を変えるまで停止

完成イメージは動画をご覧ください。動画では配線やキャリブレーション、コーディングをステップバイステップで解説していますが、ここでは全体の配線と最終版の2つのコードを提供します。

ジョイスティックの軸について:私のジョイスティックは上側がX軸、下側がY軸ですが、回路図では逆になっています。配線は私が使用した通りに記載していますので、サーボピン、ジョイスティック入力、方向などはお好みで変更してください。

コード

コード1:追従モード(動画版)

// 2軸FPVカメラクレードル(2サーボ)+ ジョイスティックモジュール用
// アナログスティックの動きに合わせてクレードルが追従
// 詳細は surtrtech.com を参照
#include 

Servo myservo1;
Servo myservo2;
int YAxis = 1;  // ジョイスティックのX軸・Y軸ピン配線
int XAxis = 0;  // アナログ入力

void setup() {
  Serial.begin(9600);
  pinMode(XAxis, INPUT);
  myservo1.attach(8);
  pinMode(YAxis, INPUT);
  myservo2.attach(9);
}

void loop() {
  int X = analogRead(XAxis);           // X軸ポテンショメーター読み取り
  X = X * 0.1756;                      // 0-1023 → 0-180(サーボ範囲)に変換
  X = 180 - X;                         // 反転補正
  myservo1.write(X);                   // 第1サーボへ出力

  int Y = analogRead(YAxis);           // Y軸読み取り
  Y = Y * 0.1466;                      // 0-1023 → 0-150に変換(サーボ制限に合わせる)
  myservo2.write(Y);                   // 第2サーボへ出力
}

コード2:方向保持モード(動画版)

// 2軸FPVカメラクレードル(2サーボ)+ ジョイスティックモジュール用
// スティックが指す方向へクレードルが動き、限界まで動いたら停止保持
// 詳細は surtrtech.com を参照
#include 

Servo myservo1;
Servo myservo2;
int a, b, X, Y;
int YAxis = 1;
int XAxis = 0;

void setup() {
  Serial.begin(9600);
  pinMode(XAxis, INPUT);
  myservo1.attach(8);
  pinMode(YAxis, INPUT);
  myservo2.attach(9);
}

void loop() {
  a = myservo1.read();  // 前回のサーボ位置を読取(次の位置決定のため重要)
  b = myservo2.read();
  X = analogRead(XAxis);
  Y = analogRead(YAxis);

  if (X > 550) {        // ジョイスティック:左|中立|右の3状態(キャリブレーションなし)
    a = a - 1;          // 読み取り値で方向判定、中立範囲を広めに設定
    myservo1.write(a);
    delay(50);          // delayを変えたり a=a-x でステップ調整可能
  }
  if (X < 450) {
    a = a + 1;          // 逆方向へ移動
    myservo1.write(a);
    delay(50);
  }
  if (Y > 600) {        // 上|中立|下
    b = b + 1;
    myservo2.write(b);
    delay(50);
  }
  if (Y < 450) {
    b = b - 1;
    myservo2.write(b);
    delay(50);
  }
}

回路図

トップサーボとボトムサーボを間違えないでください。

DIY 2軸FPVカメラクレードル:Arduinoジョイスティック制御チュートリアル

製造プロセス

  1. QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
  2. Raspberry Piカメラをバードハウスに設置:ステップバイステップガイド
  3. ESP32-CAMで作る動体検知セキュリティカメラ:Discord通知対応
  4. Arduino Mega搭載UV除菌ロボット:遠隔操作可能な殺菌システム
  5. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  6. 自作Arduino TVリモコン:電池駆動・3Dプリントケース・省電力設計
  7. ArduinoとHC-SR04で作るサーボ駆動障害物回避ロボット
  8. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  9. Arduino Nanoとジョイスティックで2軸ステッピングモーターを制御:Visuinoで簡単プログラミング
  10. Millport SmartLathez 1740 CNC旋盤 – 精度とパワー
  11. ハーコTM8傾斜床旋盤:コンパクト設計、精密制御、多彩な工具対応