Arduinoを使ってポテンショメータでサーボを制御する
このチュートリアルでは、Arduinoとポテンショメータを使ってサーボモーターを制御する方法を学びます。ポテンショメータによりサーボの角度を滑らかに調整でき、位置をリアルタイムで制御できます。このプロジェクトの最後までに、ポテンショメータの値とそれに対応するサーボ角度を表示する機能的なセットアップが完成します。

ポテンショメータを回すと、サーボモーターの角度は0度から180度まで変化します。Arduinoのアナログ入力でポテンショメータの値を読み取り、その値を簡単な式でサーボの範囲にマッピングします。このプロジェクトは、アナログ入力の動作やそれを使ったモーター制御の仕組みを理解するのに最適です(ビデオの01:45で)。
ハードウェア解説
このプロジェクトでは、Arduinoボード、サーボモーター、そしてポテンショメータが必要です。ポテンショメータは可変抵抗として機能し、その位置に対応する電圧を出力します。この出力はArduinoのアナログ入力で読み取られ、サーボをどれだけ回転させるかを決定できます。
サーボモーターは特定の角度に位置決めできるモーターの一種です。制御信号を受け取り、それによって目的の角度が指示されます。サーボはArduinoから受け取る入力に基づいてその角度まで回転するため、ロボットや遠隔操作機器などのさまざまな用途で役立ちます。
データシートの詳細
| 製造元 | 様々な |
|---|---|
| 部品番号 | 標準サーボ |
| ロジック/IO電圧 | 5 V |
| 供給電圧 | 4.8〜6V |
| 出力電流(チャンネルごと) | 最大1 A |
| ピーク電流(チャンネルあたり) | 最大2 A |
| PWM周波数に関するガイダンス | 50ヘルツ |
| 入力論理閾値 | 0.8 V(低)/ 2.0 V(高) |
| 電圧降下 / Rドレイン-ソース(オン) / 彩度 | 0.5 V |
| 熱制限 | 摂氏85度 |
| パッケージ | 標準サイズ |
| 備考 / バリエーション | さまざまなサイズとトルク定格で入手可能です |
- 電源が許容範囲(4.8〜6 V)内にあることを確認してください。
- ポテンショメータには適切な抵抗値を使用してください(10 kΩ推奨)。
- 逆接続による誤動作を避けるため、接続の極性を確認してください。
- 熱に注意してください。サーボが過負荷になっていないことを確認してください。
- 干渉を減らすために配線を短く保ってください。
- 必要に応じて電源入力にデカップリングコンデンサを使用してください。
- ポテンショメータがアナログピンA0に正しく接続されていることを確認してください。
配線手順

部品を配線するには、まずポテンショメータを接続してください。ポテンショメータの中央のピンはアナログピンに接続してください。A0Arduinoでは、左側のピンを5Vピンに、右側のピンをグラウンド(GND)に接続してください。
次に、サーボモーターを接続します。サーボの接地線(通常は黒または茶色)はArduinoのGNDに接続してください。電源線(通常は赤)はArduinoの5Vピンに接続してください。最後に、制御線(多くは黄色または白色)はデジタルピンに接続してください。9Arduino上で。このセットアップにより、Arduinoはポテンショメータの位置に応じてサーボを制御できるようになります。

コード例と解説
コードの主要な部分を見てみましょう。まず、Servoライブラリをインクルードしてサーボオブジェクトを作成します:
#include
Servo myservo; // create servo object to control a servo
このコードはサーボを初期化し、制御できるように準備します。次のステップではポテンショメータの値を読み取ります:
int val = analogRead(potpin); // reads the value of the potentiometer
ここで、ポテンショメータから読み取った値が変数に格納されますval値は0から1023の間で、ポテンショメータの位置に対応します。次にこの値をサーボの範囲にマッピングします:
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo
この行はポテンショメータの値をサーボモーターに適した範囲に変換します。最後に、計算された位置にサーボを設定します:
myservo.write(val); // sets the servo position according to the scaled value
このコマンドはポテンショメータの位置に基づいてサーボを指定された角度に移動させます。記事の下に完全なコードが掲載されています。
デモンストレーション/当日の見どころ
プログラムを実行すると、ポテンショメータを回すことでサーボモーターの角度がスムーズに調整されます。ノブを回すとシリアルモニタに角度の値が表示されるはずです。サーボが予期せぬ動作をする場合は配線を確認してください。特にポテンショメータとサーボへの接続を確認してください(ビデオの04:30参照)。
サーボはポテンショメータの位置の変化に即座に反応するはずです。遅れやガクつきに気付いた場合は、応答性を改善するためにコード中の遅延(待機時間)を短くすることを検討してください。
必要かもしれないもの
-
アマゾンServo motor on Amazonamzn.to
-
アリエクスプレスPurchase SG90 Servo motor 180 or 360 from AliExpresss.click.aliexpress.com
リソースと参考文献
-
外部SG90 servosamzn.to
ファイル📁
ファイルは利用できません。