Njord Project

Build an awesome drone from scratch

モーター

前回は私たちのドローンを作る為に選んだコンポーネントの紹介をしました。前回の記事以来、いつかのコンポーネントの落首しました。私たちがコンポーネントを組み合わせる前に、各員のコンポーネントのライブラリを書くのが良いを思いました。今度の記事の目標は、モーターの管制する為にライブラリを書いた私たちの紹介です。

ライブラリ

下の写真が見せるのように、このモーターはとても細かいです。これから、強いトルクを生めません。けれど、もし私たちの計算が正しいと、あのトルクが足ります。

Moteur_BCC01B

是非、このコンポーネントの使い方が簡単です。モーターが回る為に、それをただ供給しなければなりません。だから、このライブラリも易しいです。一台のモーターは一つのピンと一つの値で組み上がります。始めに、クラスの宣言を見て下さい:


#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の無線通信のコンポーネントについてです。

よろしくお願いします。