MD(IR2302) Library

Dependents:   2021_NHK_A_MDandServoSet 2021_NHK_A

Committer:
umekou
Date:
Sat Oct 16 06:23:45 2021 +0000
Revision:
4:c365b792d642
Parent:
2:bb47e1bb735b
improve full space to half space

Who changed what in which revision?

UserRevisionLine numberNew contents of line
umekou 0:51294a591ee2 1 /** @IR2302.h
umekou 0:51294a591ee2 2 *
umekou 0:51294a591ee2 3 * これはMD(IR2302)のライブラリです
umekou 0:51294a591ee2 4 * @author 梅沢 晄平
umekou 0:51294a591ee2 5 * @date 2021/10/16
umekou 0:51294a591ee2 6 * @note 現在はPwmOutピンのみが使えますが、需要があればすべてのピンで使えるようにしたいと思います
umekou 0:51294a591ee2 7 */
umekou 1:7ec578ce548f 8
umekou 1:7ec578ce548f 9 #ifndef IR2302_H
umekou 1:7ec578ce548f 10 #define IR2302_H
umekou 1:7ec578ce548f 11
umekou 1:7ec578ce548f 12 #include "mbed.h"
umekou 1:7ec578ce548f 13
umekou 1:7ec578ce548f 14 /** IR2302
umekou 2:bb47e1bb735b 15 *モータースピードを指定してモーターを動かす 
umekou 1:7ec578ce548f 16 *サンプルコード :
umekou 0:51294a591ee2 17 *@code
umekou 0:51294a591ee2 18 #include "mbed.h"
umekou 0:51294a591ee2 19 #include "IR2302.h"
umekou 0:51294a591ee2 20 IR2302 ir2302(D5,D6);
umekou 0:51294a591ee2 21 DigitalOut stop(D13);//非常停止
umekou 0:51294a591ee2 22 *
umekou 0:51294a591ee2 23 int main() {
umekou 0:51294a591ee2 24 * stop=1;
umekou 0:51294a591ee2 25 * double s;
umekou 0:51294a591ee2 26 * while(1) {
umekou 0:51294a591ee2 27 * s=1.0;
umekou 0:51294a591ee2 28 * ir2302.SetMotorSpeed(s);
umekou 0:51294a591ee2 29 * //wait(0.01);//入れても入れなくても良い
umekou 0:51294a591ee2 30 * }
umekou 0:51294a591ee2 31 }
umekou 0:51294a591ee2 32 *@endcode
umekou 0:51294a591ee2 33 */
umekou 0:51294a591ee2 34 class IR2302 {
umekou 0:51294a591ee2 35
umekou 0:51294a591ee2 36 public:
umekou 0:51294a591ee2 37 /** コンストラクタ
umekou 0:51294a591ee2 38 *
umekou 0:51294a591ee2 39 * @param pin_a MDのAと繋がっているピン(例:D5)
umekou 0:51294a591ee2 40 * @param pin_b MDのBと繋がっているピン(例:D6)
umekou 0:51294a591ee2 41 * @attention PwmOutピンのみ対応(例:D0~D15等) mbedのNUCLEO説明ページを参照
umekou 0:51294a591ee2 42 */
umekou 0:51294a591ee2 43 IR2302(PinName pin_a, PinName pin_b);
umekou 0:51294a591ee2 44
umekou 0:51294a591ee2 45 /** モーター制御関数
umekou 0:51294a591ee2 46 *
umekou 0:51294a591ee2 47 * モータースピードを-1.0~1.0までの範囲で指定するとモーターを回転させる
umekou 0:51294a591ee2 48 * 0<speed<=1 正回転
umekou 0:51294a591ee2 49 * speed=0 停止
umekou 0:51294a591ee2 50 * -1<speed<=0 逆回転
umekou 0:51294a591ee2 51 * その他の値 停止
umekou 0:51294a591ee2 52 * @param speed モータースピード
umekou 0:51294a591ee2 53 */
umekou 0:51294a591ee2 54 void SetMotorSpeed(double speed);
umekou 0:51294a591ee2 55
umekou 0:51294a591ee2 56 private:
umekou 0:51294a591ee2 57 double speed;
umekou 4:c365b792d642 58 PwmOut A;
umekou 4:c365b792d642 59 PwmOut B;
umekou 0:51294a591ee2 60
umekou 0:51294a591ee2 61 };
umekou 0:51294a591ee2 62
umekou 0:51294a591ee2 63 #endif