ServoTimer2ライブラリの使用方法(簡単な説明)Servo Sweep
コンポーネントと消耗品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
はじめに
私は最近、ヒューマノイドロボットを作ろうとしています。つまり、サーボモーターを扱うことを意味します。ロボットをTALKにしようとする直前は、すべてうまくいきました。 TMRpcmライブラリを使用する必要がある場合。しかし、
のようないくつかのライブラリがあります #TMRpcm.h#VirtualWire.h
ArduinoのTimer1を使用するライブラリです。両方が同じタイマーを使用している2つのデバイスを同時に使用することはできないようです...したがって、私のロボットが話している場合、サーボは機能しません。 Servo.hとTMRpcmはどちらもArduinoTImer1で動作するためです。これはめちゃくちゃです。両方を機能させたい場合は、サーボ用に別のライブラリを使用する必要があります。 ServoTimer2ライブラリはどれですか?これはArduinoでTimer2を使用しています...残念ながらインターネット上では、このServoTimer2ライブラリが実際にどのように機能するか、およびコードでどのように使用するかを理解するためのチュートリアルは見つかりませんでした。そこで、私のような人が理解しやすいようにチュートリアルを作ることにしました。このライブラリで1つのサーボモーターを使用し、簡単なサーボスイープコードを作成します
理解を深めるためにビデオを見ることができます。
ステップ1:部品と組み立て:
主要部分はサーボモーターです。
私はマイクロサーボsg90を使用していますが、どのモデルでも問題ありません。
次に、写真2のようにサーボアームを取り、それを硬いボール紙に接着し(これは、程度をよく把握するためです)、写真4のようにサーボモーターにアームを追加します。
ステップ2:ServoTimer2ライブラリをダウンロードしてArduinoに追加する
まず、ここhttps://github.com/nabontra/ServoTimer2からライブラリをダウンロードして、Arduinoライブラリフォルダーに貼り付ける必要があります。
次に、sketch> includelibrary>ライブラリフォルダからzip.fileを追加します。
これで準備完了です。
ステップ3:単純な回路を構築する
これが最も簡単な部分です
- Arduino vcc(5v)へのサーボレッドワイヤー
- 灰色-Gnd
- オレンジ-デジタル6
ステップ4:コード。
ServoTimer2コードを理解する前に、Servo.hライブラリスイープを振り返ってみましょう。
(モーターは0度から90度まで回転します-1秒間待ちます-次に180度まで-1秒間待ちます)
#include Servoservo1; void setup(){servo1.attach(6); //セットアップコードをここに配置して1回実行} void loop(){//メインコードをここに配置して繰り返し実行する:servo1.write(0); delay(1000); servo1.write(90); delay( 1000); servo1.write(180); delay(1000);}
このライブラリでわかるように、サーボを特定の位置に回転させたい場合は、次数を書き込むだけで、サーボは問題なく動作します。ただし、ServoTimer2ライブラリでは、サーボのパルス幅を書き込む必要があり、サーボはそれを使用してその位置に移動します。最も一般的には1500は90度を意味します。最大パルス幅は2250で、最小パルス幅は750です。つまり、750は0度、2250は180度です。しかし、私に言わせてください、これはサーボごとに異なります。値を送信して、何が起こるかを確認してください。これによってサーボモーターが少し破壊されたり損傷したりすることはありません。
次に、ServoTimer 2に対して同じコードを作成します。これにより、実際の違いがわかります。
#include "ServoTimer2.h" ServoTimer2servo1; void setup(){servo1.attach(6); } void loop(){//メインコードをここに配置して、繰り返し実行します:servo1.write(750); // 0度の最小パルス幅delay(1000); servo1.write(1500); // 90度のパルス幅delay(1000); servo1.write(2250); //約180度の最大パルス幅delay(1000);}
ここで、arduinoに電力を供給し、サーボがどれだけ回転するかを度目盛りで確認します。そして、これを行うことで、プロジェクトを進めることができます。 Happy Making.o2700でそれを成し遂げましょう。
ステップ5:最後-Arduinoの電源を入れて実験する
ここで、arduinoに電力を供給し、サーボがどれだけ回転するかを度目盛りで確認します。そして、これを行うことで、プロジェクトを成功させることができます。ハッピーメイキング。
コード
- サーボseep.code
- ServoTimer2.sweep.code
サーボseep.code C / C ++
#includeServoservo1; void setup(){servo1.attach(6); //セットアップコードをここに配置して1回実行} void loop(){//メインコードをここに配置して繰り返し実行する:servo1.write(0); delay(1000); servo1.write(90); delay( 1000); servo1.write(180); delay(1000);}
ServoTimer2.sweep.code C / C ++
#include "ServoTimer2.h" ServoTimer2servo1; void setup(){servo1.attach(6); } void loop(){//メインコードをここに配置して、繰り返し実行します:servo1.write(750); // 0度の最小パルス幅delay(1000); servo1.write(1500); // 90度のパルス幅delay(1000); servo1.write(2250); //約180度の最大パルス幅delay(1000);}
回路図
ServoTimer2.sweep.code
https://github.com/ashraf-minhaj/Arduino-ServoTimer2-basic-sweep-/tree/code-sweep製造プロセス