ColorCopy.h | |
---|---|
#ifndef COLORCOPY_H #define COLORCOPY_H #include "mbed.h" #include "ColorLED.h" #include "ColorSensor.h" class ColorCopy : public ColorLED, public ColorSensor { public: ColorCopy(); ColorCopy(PinName r, PinName g, PinName b); ColorCopy(PinName dout, PinName range, PinName ck, PinName gate, int tm); ColorCopy(PinName r, PinName g, PinName b, PinName dout, PinName range, PinName ck, PinName gate, int tm); }; #endif // COLORCOPY_H |
1 2 3 4 5 6 7 8 ColorLEDクラスとColorSensorクラスから継承させる 9 10 11 色々な場合におけるコンストラクタ 12 13 14 15 16 17 18 |
ColorCopy.cpp | |
---|---|
#include "ColorCopy.h" ColorCopy::ColorCopy() : ColorLED(), ColorSensor(p5, p6, p7, p8, 20) { } ColorCopy::ColorCopy(PinName r, PinName g, PinName b) : ColorLED(r, g, b), ColorSensor(p5, p6, p7, p8, 20) { } ColorCopy::ColorCopy(PinName dout, PinName range, PinName ck, PinName gate, int tm) :ColorSensor(dout, range, ck, gate, tm), ColorLED() { } ColorCopy::ColorCopy(PinName r, PinName g, PinName b, PinName dout, PinName range, PinName ck, PinName gate, int tm) : ColorLED(r, g, b), ColorSensor(dout, range, ck, gate, tm) { } |
1 2 3 4 ColorLEDのデフォールトコンストラクタを使用する 5 ColorSensorにピン設定する。 6 他にすることが無いから空 7 8 9 ColorLEDのピンの設定のみする 10 ColorLEDの引数付コンストラクタを使用する 11 ColorSensorにピン設定する。 12 他にすることが無いから空 13 14 15 ColorSensor全てのピンを設定する 16 17 ColorLEDはデフォールトを用いる 18 19 20 21 ColorSensor及びColorLEDは 22 全てのピンを設定する 23 24 25 26 27 |
main.cpp | |
---|---|
int main() { int red, green, blue; int I; pc.baud(115200); pc.printf("color sensor テスト\n"); while(1) { switch(I=ColLED.fJudge()){ case RED: ColLED.setColor(1.0f,0.0f,0.0f); pc.printf("red\n"); break; case GREEN: ColLED.setColor(0.0f,1.0f,0.0f); pc.printf("green\n"); break; case BLUE: ColLED.setColor(0.0f,0.0f,1.0f); pc.printf("blue\n"); break; case SILVER: ColLED.setColor(1.0f,1.0f,1.0f); pc.printf("silver\n"); break; case BLACK: ColLED.setColor(0,0,0); break; default: ColLED.setColor(0,0,0); break; } wait(0.1); } } |
1 上の方は省略 2 3 4 5 6 7 8 9 色を判定するメソッドを呼ぶ。 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |