DigitalIn,Timer を使用した ボール検知用ライブラリ
Dependents: CatPot_SensorRight_F CatPot_SensorRight_T
IRM2121.h@0:bb38fe5771fb, 2015-02-26 (annotated)
- Committer:
- ryuna
- Date:
- Thu Feb 26 05:30:39 2015 +0000
- Revision:
- 0:bb38fe5771fb
this program is use meny loop . ???????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryuna | 0:bb38fe5771fb | 1 | |
ryuna | 0:bb38fe5771fb | 2 | |
ryuna | 0:bb38fe5771fb | 3 | #ifndef MBED_IRM_H |
ryuna | 0:bb38fe5771fb | 4 | #define MBED_IRM_H |
ryuna | 0:bb38fe5771fb | 5 | |
ryuna | 0:bb38fe5771fb | 6 | #include "mbed.h" |
ryuna | 0:bb38fe5771fb | 7 | |
ryuna | 0:bb38fe5771fb | 8 | #define NAKATA 833 //周期833us |
ryuna | 0:bb38fe5771fb | 9 | #define NOT_F 0 |
ryuna | 0:bb38fe5771fb | 10 | |
ryuna | 0:bb38fe5771fb | 11 | /** IRM2121 class, based on an DigitalIn pin, and a timer |
ryuna | 0:bb38fe5771fb | 12 | * use RoboCup Junior Soccer to find PULSE BALL. |
ryuna | 0:bb38fe5771fb | 13 | |
ryuna | 0:bb38fe5771fb | 14 | |
ryuna | 0:bb38fe5771fb | 15 | * Example: |
ryuna | 0:bb38fe5771fb | 16 | * @code |
ryuna | 0:bb38fe5771fb | 17 | * // Set Digital and read sensor. |
ryuna | 0:bb38fe5771fb | 18 | * #include "mbed.h" |
ryuna | 0:bb38fe5771fb | 19 | * #include "IRM2121.h" |
ryuna | 0:bb38fe5771fb | 20 | * IRM2121 IR(p21); |
ryuna | 0:bb38fe5771fb | 21 | * |
ryuna | 0:bb38fe5771fb | 22 | * int main() { |
ryuna | 0:bb38fe5771fb | 23 | * int length; |
ryuna | 0:bb38fe5771fb | 24 | |
ryuna | 0:bb38fe5771fb | 25 | * while(1) { |
ryuna | 0:bb38fe5771fb | 26 | * |
ryuna | 0:bb38fe5771fb | 27 | * IR.Set(); |
ryuna | 0:bb38fe5771fb | 28 | * wait_ms(20); //check _Busy 1 &_Valid 0 ....config just wait time. |
ryuna | 0:bb38fe5771fb | 29 | * length = IR.Read(); |
ryuna | 0:bb38fe5771fb | 30 | * } |
ryuna | 0:bb38fe5771fb | 31 | * } |
ryuna | 0:bb38fe5771fb | 32 | * @endcode |
ryuna | 0:bb38fe5771fb | 33 | */ |
ryuna | 0:bb38fe5771fb | 34 | class IRM2121 { |
ryuna | 0:bb38fe5771fb | 35 | public: |
ryuna | 0:bb38fe5771fb | 36 | /** Create a IRM2121 object connected to the specified InterruptIn pin |
ryuna | 0:bb38fe5771fb | 37 | * |
ryuna | 0:bb38fe5771fb | 38 | * @param IRM_PIN InterruptIn pin to connect to |
ryuna | 0:bb38fe5771fb | 39 | */ |
ryuna | 0:bb38fe5771fb | 40 | IRM2121(PinName IRM_PIN); |
ryuna | 0:bb38fe5771fb | 41 | |
ryuna | 0:bb38fe5771fb | 42 | unsigned int Read (void); |
ryuna | 0:bb38fe5771fb | 43 | /** Set a IRM2121 Interrupt Pin |
ryuna | 0:bb38fe5771fb | 44 | * |
ryuna | 0:bb38fe5771fb | 45 | * @param none |
ryuna | 0:bb38fe5771fb | 46 | */ |
ryuna | 0:bb38fe5771fb | 47 | |
ryuna | 0:bb38fe5771fb | 48 | /** Read the result |
ryuna | 0:bb38fe5771fb | 49 | * |
ryuna | 0:bb38fe5771fb | 50 | * @param none |
ryuna | 0:bb38fe5771fb | 51 | */ |
ryuna | 0:bb38fe5771fb | 52 | |
ryuna | 0:bb38fe5771fb | 53 | private: |
ryuna | 0:bb38fe5771fb | 54 | |
ryuna | 0:bb38fe5771fb | 55 | DigitalIn _pin; |
ryuna | 0:bb38fe5771fb | 56 | Timer _timer; |
ryuna | 0:bb38fe5771fb | 57 | |
ryuna | 0:bb38fe5771fb | 58 | unsigned int _Time; |
ryuna | 0:bb38fe5771fb | 59 | |
ryuna | 0:bb38fe5771fb | 60 | }; |
ryuna | 0:bb38fe5771fb | 61 | |
ryuna | 0:bb38fe5771fb | 62 | #endif |