xszdx
Dependencies: mbed TCS3472_I2C MCP23017 VL6180 DebounceIn WattBob_TextLCD
Revision 2:7c34106159c8, committed 2020-03-15
- Comitter:
- maazshaikh
- Date:
- Sun Mar 15 14:35:32 2020 +0000
- Parent:
- 1:ad7134c4e365
- Commit message:
- jj
Changed in this revision
| main_copy.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main_copy.cpp Fri Mar 06 12:35:11 2020 +0000
+++ b/main_copy.cpp Sun Mar 15 14:35:32 2020 +0000
@@ -18,6 +18,15 @@
VL6180 TOF_sensor(p28, p27);
TCS3472_I2C rgb_sensor(p9, p10);
+DigitalOut servo11 (p8); DigitalOut servo12 (p7);
+DigitalOut servo13 (p6); DigitalOut servo14 (p5);
+
+DigitalOut servo21 (p29); DigitalOut servo22 (p23);
+DigitalOut servo23 (p22); DigitalOut servo24 (p21);
+
+DigitalOut servo31 (p26); DigitalOut servo32 (p25);
+DigitalOut servo33 (p12); DigitalOut servo34 (p11);
+
DigitalOut myled1 (p13); DigitalOut myled2 (p14);
DigitalOut myled3 (p15); DigitalOut myled4 (p16);
@@ -41,10 +50,12 @@
void LEDgame(); //function prototype of LED game
void reset(); //to reset level
void light(int); //turn on LEDs
+void Maint(); // maintainence mode
int Dist(); //check distance sensor
int MAX(int,int,int); //find max rgb value
int main()
+
{
pb1.mode(PullUp); pb2.mode(PullUp);
pb3.mode(PullUp); pb4.mode(PullUp);
@@ -54,14 +65,13 @@
par_port->config(0x0F00, 0x0F00, 0x0F00); //configure MCP23017 chip on WattBob
lcd = new WattBob_TextLCD(par_port);
BACK_LIGHT_ON(par_port);
-
TOF_sensor.VL6180_Init();
rgb_sensor.enablePowerAndRGBC();
rgb_sensor.setIntegrationTime(100);
-
int rgb_read[4], maxrgb;
- //char c = PC.getc();
- //(c == 'o')
+ while (1){
+ char c = PC.getc();
+ if (c == 'o'){
while(1)
{
rgb_sensor.getAllColors(rgb_read);
@@ -75,11 +85,79 @@
tries = 1;
LEDgame();
}
- if (Dist() > D) level = 1; //resets game if card is removed.
+ if (Dist() > D) {
+ level = 1;
+ myled1=0; myled2=0; myled3=0; myled4=0;
+ } //resets game if card is removed.
}
}
-
+ else if (c== 'm'){
+ while (1){
+ char d = PC.getc();
+ if (d=='D') {PC.printf("%d", Dist());}
+ if (d=='C'){
+ rgb_sensor.getAllColors(rgb_read);
+ maxrgb = MAX(rgb_read[1],rgb_read[2],rgb_read[3]);
+ if (maxrgb == rgb_read[1]) PC.puts("Red");
+ else if (maxrgb == rgb_read[2]) PC.puts("Green");
+ else if (maxrgb == rgb_read[3]) PC.puts("Blue");
+ }
+ else if (d=='r') myled1=1;
+ else if (d=='y') myled2=1;
+ else if (d=='g') myled3=1;
+ else if (d=='w') myled4=1;
+ else if (d=='s') {LEDgame();}
+ else if (d=='d') {myled1=0; myled2=0; myled3=0; myled4=0; }
+ else if (d=='o'){
+ while(1){
+ char p=PC.getc();
+ if (p=='f') servo11=1;
+ else if (p=='s') servo12=1;
+ else if (p=='t') servo13=1;
+ else if (p=='F') servo14=1;
+ else if (p=='R'){
+ servo11=0; servo12=0; servo13=0; servo14=0;
+ break;
+ }
+ }
+ }
+ else if (d=='S'){
+ while(1){
+ char p=PC.getc();
+ if (p=='f') servo21=1;
+ else if (p=='s') servo22=1;
+ else if (p=='t') servo23=1;
+ else if (p=='F') servo24=1;
+ else if (p=='R'){
+ servo21=0; servo22=0; servo23=0; servo24=0;
+ break;
+ }
+ }
+ }
+ else if (d=='t'){
+ while(1){
+ char p=PC.getc();
+ if (p=='f') servo31=1;
+ else if (p=='s') servo32=1;
+ else if (p=='t') servo33=1;
+ else if (p=='F') servo34=1;
+ else if (p=='R'){
+ servo31=0; servo32=0; servo33=0; servo34=0;
+ break;
+ }
+ }
+ }
+
+
+ else if (d=='R') {break;}
+
+
+
+}
+}
+}
+}
void LEDgame()
{
@@ -178,4 +256,6 @@
else max = G;
if (B > max) max = B;
return max;
-}
\ No newline at end of file
+}
+
+