xszdx

Dependencies:   mbed TCS3472_I2C MCP23017 VL6180 DebounceIn WattBob_TextLCD

Revision:
2:7c34106159c8
Parent:
1:ad7134c4e365
--- 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
+}
+
+