Create this program

Dependencies:   mbed HCSR04 HMC6352 PID TextLCD

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?

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