DigitalIn,Timer を使用した ボール検知用ライブラリ

Dependents:   CatPot_SensorRight_F CatPot_SensorRight_T

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?

UserRevisionLine numberNew 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