前回は私たちのドローンを作る為に選んだコンポーネントの紹介をしました。前回の記事以来、いつかのコンポーネントの落首しました。私たちがコンポーネントを組み合わせる前に、各員のコンポーネントのライブラリを書くのが良いを思いました。今度の記事の目標は、モーターの管制する為にライブラリを書いた私たちの紹介です。
下の写真が見せるのように、このモーターはとても細かいです。これから、強いトルクを生めません。けれど、もし私たちの計算が正しいと、あのトルクが足ります。
是非、このコンポーネントの使い方が簡単です。モーターが回る為に、それをただ供給しなければなりません。だから、このライブラリも易しいです。一台のモーターは一つのピンと一つの値で組み上がります。始めに、クラスの宣言を見て下さい:
#ifndef Bccm01b_h
#define Bccm01b_h
#include "Arduino.h"
#include <stdint.h>
//Class representing one motor
class Bccm01b {
public:
Bccm01b ( uint8_t pin ); //Constructor
int controlSpeed ( int value ); //Setter speed
int reportSpeed (); //Getter speed
const uint8_t getPin (); //Getter pin
private:
const uint8_t _pin;
int _value; //Speed
};
#endif
一台のモーターがBccm01bのクラスのインスタンスで代表しています(Bccm01bはモーターのモデルです)。このクラスの構図は平明です。一台のモーターが一本のピンと一つのバリューで代表しています。このバリューはモーターの速力です。
コンストラクタとゲターは複雑ではありませんから、速力のセターにだけ集中します。モーターはPWMのピンにつなぎますし、PWMのピンは0から255まで変わりますし、バリューが較差で変わるのはチェックをしなければなりません。もし、較差で変わらなくたら、プログラムがユーザーにエラーのお知らせをします。
勿論、私たちのGitHubでこのライブラリをダウンロード出来ます。
この記事を結論づける為に、これがライブラリのテストのヴィデオです。このテストは一台のモーターの速力を御します。始めに、速力は0から255まで増えます。これから、0まで落ちます。(このテストはライブラリのレポジトリと同じにいます)。
次の記事は2.4GHzの無線通信のコンポーネントについてです。
よろしくお願いします。