Create this program

Dependencies:   mbed HCSR04 HMC6352 PID TextLCD

Committer:
KoiShin_Sakana
Date:
Tue Aug 11 13:11:05 2015 +0000
Revision:
6:44c3bfbe2553
Parent:
5:e07e380ddb93
update dribbler.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KoiShin_Sakana 3:901d18b901b4 1 /**
KoiShin_Sakana 6:44c3bfbe2553 2 * @file : dribbler.h (1.0)
KoiShin_Sakana 3:901d18b901b4 3 * @brief : dribble the ball
KoiShin_Sakana 3:901d18b901b4 4 * @author : Shinnosuke KOIKE
KoiShin_Sakana 6:44c3bfbe2553 5 * @date : 2015/08/11
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 6:44c3bfbe2553 14 class Dribbler {
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 6:44c3bfbe2553 21 Motor dribblerMotor;
KoiShin_Sakana 3:901d18b901b4 22 };
KoiShin_Sakana 3:901d18b901b4 23
KoiShin_Sakana 6:44c3bfbe2553 24 Dribbler::Dribbler(PinName normalDirect, PinName reverseDirect, PinName pwm, PinName dribblerIR_) :
KoiShin_Sakana 6:44c3bfbe2553 25 dribblerIR(dribblerIR_), dribblerMotor(normalDirect, reverseDirect, pwm) {
KoiShin_Sakana 6:44c3bfbe2553 26 dribblerMotor.setLimit(0.8);
KoiShin_Sakana 5:e07e380ddb93 27 }
KoiShin_Sakana 5:e07e380ddb93 28
KoiShin_Sakana 5:e07e380ddb93 29 void Dribbler::dribble(float power) {
KoiShin_Sakana 5:e07e380ddb93 30 if (dribblerIR == 0) {
KoiShin_Sakana 6:44c3bfbe2553 31 dribblerMotor.run(power);
KoiShin_Sakana 5:e07e380ddb93 32 } else {
KoiShin_Sakana 6:44c3bfbe2553 33 dribblerMotor.brake();
KoiShin_Sakana 5:e07e380ddb93 34 }
KoiShin_Sakana 5:e07e380ddb93 35 }
KoiShin_Sakana 5:e07e380ddb93 36
KoiShin_Sakana 5:e07e380ddb93 37 #endif
KoiShin_Sakana 5:e07e380ddb93 38
KoiShin_Sakana 5:e07e380ddb93 39 /**
KoiShin_Sakana 5:e07e380ddb93 40 * example program
KoiShin_Sakana 5:e07e380ddb93 41
KoiShin_Sakana 5:e07e380ddb93 42 #include "mbed.h"
KoiShin_Sakana 5:e07e380ddb93 43 #include "dribbler.h"
KoiShin_Sakana 5:e07e380ddb93 44
KoiShin_Sakana 5:e07e380ddb93 45 int main(void) {
KoiShin_Sakana 5:e07e380ddb93 46 Dribbler dribbler(D4, D7, D9, D0);
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 */