MD(IR2302) Library
Dependents: 2021_NHK_A_MDandServoSet 2021_NHK_A
IR2302.h@4:c365b792d642, 2021-10-16 (annotated)
- 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?
User | Revision | Line number | New 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 |