![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Create this program
Dependencies: mbed HCSR04 HMC6352 PID TextLCD
dribbler.h@5:e07e380ddb93, 2015-08-08 (annotated)
- Committer:
- KoiShin_Sakana
- Date:
- Sat Aug 08 12:39:18 2015 +0000
- Revision:
- 5:e07e380ddb93
- Parent:
- 3:901d18b901b4
- Child:
- 6:44c3bfbe2553
update kicker.h; add comment; update dribbler.h(mikan)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
KoiShin_Sakana | 3:901d18b901b4 | 1 | /** |
KoiShin_Sakana | 3:901d18b901b4 | 2 | * @file : dribbler.h (0.1) |
KoiShin_Sakana | 3:901d18b901b4 | 3 | * @brief : dribble the ball |
KoiShin_Sakana | 3:901d18b901b4 | 4 | * @author : Shinnosuke KOIKE |
KoiShin_Sakana | 3:901d18b901b4 | 5 | * @date : 2015/08/07 |
KoiShin_Sakana | 3:901d18b901b4 | 6 | */ |
KoiShin_Sakana | 3:901d18b901b4 | 7 | |
KoiShin_Sakana | 3:901d18b901b4 | 8 | #ifndef DRIBBLER_H |
KoiShin_Sakana | 3:901d18b901b4 | 9 | #define DRIBBLER_H |
KoiShin_Sakana | 3:901d18b901b4 | 10 | |
KoiShin_Sakana | 3:901d18b901b4 | 11 | #include "mbed.h" |
KoiShin_Sakana | 5:e07e380ddb93 | 12 | #include "motor.h" |
KoiShin_Sakana | 3:901d18b901b4 | 13 | |
KoiShin_Sakana | 5:e07e380ddb93 | 14 | class Dribbler : public Motor { |
KoiShin_Sakana | 5:e07e380ddb93 | 15 | public: |
KoiShin_Sakana | 5:e07e380ddb93 | 16 | Dribbler(PinName normalDirect, PinName reverseDirect, PinName pwm, PinName dribblerIR_); |
KoiShin_Sakana | 5:e07e380ddb93 | 17 | void dribble(float power); |
KoiShin_Sakana | 5:e07e380ddb93 | 18 | |
KoiShin_Sakana | 5:e07e380ddb93 | 19 | private: |
KoiShin_Sakana | 5:e07e380ddb93 | 20 | DigitalIn dribblerIR; |
KoiShin_Sakana | 3:901d18b901b4 | 21 | }; |
KoiShin_Sakana | 3:901d18b901b4 | 22 | |
KoiShin_Sakana | 5:e07e380ddb93 | 23 | Dribbler::Dribbler(PinName normalDirect, PinName reverseDirect, PinName pwm, PinName dribblerIR) : |
KoiShin_Sakana | 5:e07e380ddb93 | 24 | normal(normalDirect), reverse(reverseDirect), dribblerIR(dribblerIR_) { |
KoiShin_Sakana | 5:e07e380ddb93 | 25 | powerLevel = new PwmOut(pwm); |
KoiShin_Sakana | 5:e07e380ddb93 | 26 | } |
KoiShin_Sakana | 5:e07e380ddb93 | 27 | |
KoiShin_Sakana | 5:e07e380ddb93 | 28 | void Dribbler::dribble(float power) { |
KoiShin_Sakana | 5:e07e380ddb93 | 29 | if (dribblerIR == 0) { |
KoiShin_Sakana | 5:e07e380ddb93 | 30 | run(power); |
KoiShin_Sakana | 5:e07e380ddb93 | 31 | } else { |
KoiShin_Sakana | 5:e07e380ddb93 | 32 | brake(); |
KoiShin_Sakana | 5:e07e380ddb93 | 33 | } |
KoiShin_Sakana | 5:e07e380ddb93 | 34 | } |
KoiShin_Sakana | 5:e07e380ddb93 | 35 | |
KoiShin_Sakana | 5:e07e380ddb93 | 36 | #endif |
KoiShin_Sakana | 5:e07e380ddb93 | 37 | |
KoiShin_Sakana | 5:e07e380ddb93 | 38 | /** |
KoiShin_Sakana | 5:e07e380ddb93 | 39 | * example program |
KoiShin_Sakana | 5:e07e380ddb93 | 40 | |
KoiShin_Sakana | 5:e07e380ddb93 | 41 | #include "mbed.h" |
KoiShin_Sakana | 5:e07e380ddb93 | 42 | #include "dribbler.h" |
KoiShin_Sakana | 5:e07e380ddb93 | 43 | |
KoiShin_Sakana | 5:e07e380ddb93 | 44 | int main(void) { |
KoiShin_Sakana | 5:e07e380ddb93 | 45 | Dribbler dribbler(D4, D7, D9, D0); |
KoiShin_Sakana | 5:e07e380ddb93 | 46 | dribbler.setLimit(0.8); |
KoiShin_Sakana | 5:e07e380ddb93 | 47 | while (1) { |
KoiShin_Sakana | 5:e07e380ddb93 | 48 | dribbler.dribble(0.2); |
KoiShin_Sakana | 5:e07e380ddb93 | 49 | } |
KoiShin_Sakana | 5:e07e380ddb93 | 50 | } |
KoiShin_Sakana | 5:e07e380ddb93 | 51 | */ |