Create this program

Dependencies:   mbed HCSR04 HMC6352 PID TextLCD

Committer:
KoiShin_Sakana
Date:
Fri Aug 07 06:34:36 2015 +0000
Revision:
3:901d18b901b4
Parent:
2:a8bbf677e774
Child:
5:e07e380ddb93
update communication.h and infrared.h; create dribbler.h, kicker.h and line.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
KoiShin_Sakana 2:a8bbf677e774 1 /**
KoiShin_Sakana 2:a8bbf677e774 2 * @file : infrared.h (0.1)
KoiShin_Sakana 3:901d18b901b4 3 * @brief : examine point the ball exist
KoiShin_Sakana 2:a8bbf677e774 4 * @author : Shinnosuke KOIKE
KoiShin_Sakana 2:a8bbf677e774 5 * @date : 2015/08/04
KoiShin_Sakana 2:a8bbf677e774 6 */
KoiShin_Sakana 2:a8bbf677e774 7
KoiShin_Sakana 2:a8bbf677e774 8 #ifndef INFRARED_H
KoiShin_Sakana 2:a8bbf677e774 9 #define INFRARED_H
KoiShin_Sakana 2:a8bbf677e774 10
KoiShin_Sakana 2:a8bbf677e774 11 #include "mbed.h"
KoiShin_Sakana 2:a8bbf677e774 12
KoiShin_Sakana 2:a8bbf677e774 13 class Infrared {
KoiShin_Sakana 3:901d18b901b4 14 public:
KoiShin_Sakana 3:901d18b901b4 15 Infrared(PinName front, PinName frontLeft, PinName left, PinName backLeft,
KoiShin_Sakana 3:901d18b901b4 16 PinName back, PinName backRight, PinName right, PinName frontRight);
KoiShin_Sakana 3:901d18b901b4 17 char findBallPos(void);
KoiShin_Sakana 3:901d18b901b4 18
KoiShin_Sakana 3:901d18b901b4 19 private:
KoiShin_Sakana 3:901d18b901b4 20 BusIn infraredData;
KoiShin_Sakana 3:901d18b901b4 21 };
KoiShin_Sakana 3:901d18b901b4 22
KoiShin_Sakana 3:901d18b901b4 23 class AnalogInfrared {
KoiShin_Sakana 3:901d18b901b4 24 public:
KoiShin_Sakana 3:901d18b901b4 25 AnalogInfrared(PinName front, PinName frontLeft, PinName left, PinName backLeft,
KoiShin_Sakana 3:901d18b901b4 26 PinName back, PinName backRight, PinName right, PinName frontRight);
KoiShin_Sakana 3:901d18b901b4 27 void findBallPosAndDist(char data[]);
KoiShin_Sakana 3:901d18b901b4 28
KoiShin_Sakana 3:901d18b901b4 29 private:
KoiShin_Sakana 3:901d18b901b4 30 AnalogIn analogFront;
KoiShin_Sakana 3:901d18b901b4 31 AnalogIn analogFrontLeft;
KoiShin_Sakana 3:901d18b901b4 32 AnalogIn analogLeft;
KoiShin_Sakana 3:901d18b901b4 33 AnalogIn analogBackLeft;
KoiShin_Sakana 3:901d18b901b4 34 AnalogIn analogBack;
KoiShin_Sakana 3:901d18b901b4 35 AnalogIn analogBackRight;
KoiShin_Sakana 3:901d18b901b4 36 AnalogIn analogRight;
KoiShin_Sakana 3:901d18b901b4 37 AnalogIn analogFrontRight;
KoiShin_Sakana 2:a8bbf677e774 38 };
KoiShin_Sakana 2:a8bbf677e774 39
KoiShin_Sakana 3:901d18b901b4 40 Infrared::Infrared(PinName front, PinName frontLeft, PinName left, PinName backLeft,
KoiShin_Sakana 3:901d18b901b4 41 PinName back, PinName backRight, PinName right, PinName frontRight):
KoiShin_Sakana 3:901d18b901b4 42 infraredData(front, frontLeft, left, backLeft, back, backRight, right, frontRight) {
KoiShin_Sakana 3:901d18b901b4 43 }
KoiShin_Sakana 3:901d18b901b4 44
KoiShin_Sakana 3:901d18b901b4 45 char Infrared::findBallPos(void) {
KoiShin_Sakana 3:901d18b901b4 46 char data = infraredData;
KoiShin_Sakana 3:901d18b901b4 47 return data;
KoiShin_Sakana 3:901d18b901b4 48 }
KoiShin_Sakana 3:901d18b901b4 49
KoiShin_Sakana 3:901d18b901b4 50 AnalogInfrared::AnalogInfrared(PinName front, PinName frontLeft, PinName left, PinName backLeft,
KoiShin_Sakana 3:901d18b901b4 51 PinName back, PinName backRight, PinName right, PinName frontRight):
KoiShin_Sakana 3:901d18b901b4 52 analogFront(front), analogFrontLeft(frontLeft), analogLeft(left), analogBackLeft(backLeft),
KoiShin_Sakana 3:901d18b901b4 53 analogBack(back), analogBackRight(backRight), analogRight(right), analogFrontRight(frontRight) {
KoiShin_Sakana 3:901d18b901b4 54 }
KoiShin_Sakana 3:901d18b901b4 55
KoiShin_Sakana 3:901d18b901b4 56 void AnalogInfrared::findBallPosAndDist(char data[]) {
KoiShin_Sakana 3:901d18b901b4 57 data[0] = analogFront;
KoiShin_Sakana 3:901d18b901b4 58 data[1] = analogFrontLeft;
KoiShin_Sakana 3:901d18b901b4 59 data[2] = analogLeft;
KoiShin_Sakana 3:901d18b901b4 60 data[3] = analogBackLeft;
KoiShin_Sakana 3:901d18b901b4 61 data[4] = analogBack;
KoiShin_Sakana 3:901d18b901b4 62 data[5] = analogBackRight;
KoiShin_Sakana 3:901d18b901b4 63 data[6] = analogRight;
KoiShin_Sakana 3:901d18b901b4 64 data[7] = analogFrontRight;
KoiShin_Sakana 3:901d18b901b4 65 }
KoiShin_Sakana 3:901d18b901b4 66
KoiShin_Sakana 2:a8bbf677e774 67 #endif