MD(IR2302) Library

Dependents:   2021_NHK_A_MDandServoSet 2021_NHK_A

Committer:
umekou
Date:
Sat Oct 16 02:09:04 2021 +0000
Revision:
1:7ec578ce548f
Parent:
0:51294a591ee2
Child:
2:bb47e1bb735b
improve doxygen

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 1:7ec578ce548f 15 *サンプルコード :
umekou 0:51294a591ee2 16 *@code
umekou 0:51294a591ee2 17 #include "mbed.h"
umekou 0:51294a591ee2 18 #include "IR2302.h"
umekou 0:51294a591ee2 19 IR2302 ir2302(D5,D6);
umekou 0:51294a591ee2 20 DigitalOut stop(D13);//非常停止
umekou 0:51294a591ee2 21 *
umekou 0:51294a591ee2 22 int main() {
umekou 0:51294a591ee2 23 * stop=1;
umekou 0:51294a591ee2 24 * double s;
umekou 0:51294a591ee2 25 * while(1) {
umekou 0:51294a591ee2 26 * s=1.0;
umekou 0:51294a591ee2 27 * ir2302.SetMotorSpeed(s);
umekou 0:51294a591ee2 28 * //wait(0.01);//入れても入れなくても良い
umekou 0:51294a591ee2 29 * }
umekou 0:51294a591ee2 30 }
umekou 0:51294a591ee2 31 *@endcode
umekou 0:51294a591ee2 32 */
umekou 0:51294a591ee2 33 class IR2302 {
umekou 0:51294a591ee2 34
umekou 0:51294a591ee2 35 public:
umekou 0:51294a591ee2 36 /** コンストラクタ
umekou 0:51294a591ee2 37 *
umekou 0:51294a591ee2 38 * @param pin_a MDのAと繋がっているピン(例:D5)
umekou 0:51294a591ee2 39 * @param pin_b MDのBと繋がっているピン(例:D6)
umekou 0:51294a591ee2 40 * @attention PwmOutピンのみ対応(例:D0~D15等) mbedのNUCLEO説明ページを参照
umekou 0:51294a591ee2 41 */
umekou 0:51294a591ee2 42 IR2302(PinName pin_a, PinName pin_b);
umekou 0:51294a591ee2 43
umekou 0:51294a591ee2 44 /** モーター制御関数
umekou 0:51294a591ee2 45 *
umekou 0:51294a591ee2 46 * モータースピードを-1.0~1.0までの範囲で指定するとモーターを回転させる
umekou 0:51294a591ee2 47 * 0<speed<=1 正回転
umekou 0:51294a591ee2 48 * speed=0 停止
umekou 0:51294a591ee2 49 * -1<speed<=0 逆回転
umekou 0:51294a591ee2 50 * その他の値 停止
umekou 0:51294a591ee2 51 * @param speed モータースピード
umekou 0:51294a591ee2 52 */
umekou 0:51294a591ee2 53 void SetMotorSpeed(double speed);
umekou 0:51294a591ee2 54
umekou 0:51294a591ee2 55 private:
umekou 0:51294a591ee2 56 double speed;
umekou 0:51294a591ee2 57 PwmOut pwm_A;
umekou 0:51294a591ee2 58 PwmOut pwm_B;
umekou 0:51294a591ee2 59
umekou 0:51294a591ee2 60 };
umekou 0:51294a591ee2 61
umekou 0:51294a591ee2 62 #endif