ROCO 104 / Mbed 2 deprecated ROCO104_base_Template

Dependencies:   mbed motor

Revision:
6:eac1e6a55274
Parent:
5:756dc04a891c
Child:
7:a96163893291
--- a/main.cpp	Fri Feb 14 14:34:04 2020 +0000
+++ b/main.cpp	Fri Apr 03 15:02:43 2020 +0000
@@ -29,12 +29,12 @@
 DigitalIn myButton(USER_BUTTON);  //USER_BUTTON is the Blue Button on the NUCLEO Board
 
 DigitalOut led(LED3);             //LED1 is the Green LED on the NUCLEO board
-                                  //N.B. The RED LED is the POWER Indicator
-                                  //and the Multicoloured LED indicates status of the ST-LINK Programming cycle
+//N.B. The RED LED is the POWER Indicator
+//and the Multicoloured LED indicates status of the ST-LINK Programming cycle
 
 Serial pc(USBTX,USBRX);           //Instance of the Serial class to enable much faster BAUD rates then standard 9600 i.e. 115200
-                                  //This is Pseudo RS232 over USB the NUCLEO will appear as a COMx Port see device Manager on PC used
-                                  //Use PuTTY to monitor check COMx and BAUD rate (115200)
+//This is Pseudo RS232 over USB the NUCLEO will appear as a COMx Port see device Manager on PC used
+//Use PuTTY to monitor check COMx and BAUD rate (115200)
 
 
 //Variable 'duty' for programmer to use to vary speed as required set here to #define compiler constant see above
@@ -42,58 +42,78 @@
 //
 int main ()
 {
-  pc.baud(9600);               //BAUD Rate to 9600
-  pc.printf("ROCO104 Demonstration Robot Buggy Plymouth University 2018/19\n\r");
+    pc.baud(9600);               //BAUD Rate to 9600
+    pc.printf("ROCO104 Demonstration Robot Buggy Plymouth University 2018/19\n\r");
 
-  Wheel.Period_in_ms(TIME_PERIOD);//Set frequency of the PWMs
+    Wheel.Period_in_ms(TIME_PERIOD);//Set frequency of the PWMs
 
-  //
-  //--------------------------- your strategy goes between the two dashed lines ---------------------------------------------   
-  //
+    //
+    //--------------------------- your strategy goes between the two dashed lines ---------------------------------------------
+    //
     Wheel.Stop();
-    
-    close_encounter(1);     //tune to play Announce start!
+
+    //close_encounter(1);     //tune to play Announce start!
     //twinkle(1);           //see tunes.h for alternatives or make your own!
     //jingle_bells(1);
-
-    while(myButton==0)
-    {                       //Wait here for USER Button (Blue) on Nucleo Board (goes to zero when pressed)
+    megolavania(1);
+    while(myButton==0) {
+        //Wait here for USER Button (Blue) on Nucleo Board (goes to zero when pressed)
         led=0;              //and flash green LED whilst waiting
         wait(0.1);
-        led=1; 
+        led=1;
         wait(0.1);
         //Test Microswitches with two different tones see tunes.cpp tunes.h or flash (led1 and led2) onboard LEDs
- 
+
     }
-  
-                         //Repeat the following forever NB always true!
+
+    //Repeat the following forever NB always true!
 
 // YOUR LINES OF CODE for your stratagy go between HERE! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- Wheel.Period_in_ms(2);//Set frequency of the PWMs 500Hz
-    while(true)
-    {
-        Wheel.Speed(0.8,0.8);//Forward 80%
-        wait(5.0);
+    Wheel.Period_in_ms(2);//Set frequency of the PWMs 500Hz
+    
+
+    while (true) {
+        
+        while(microswitch1 == 0);
+        {
+            Wheel.Speed(0.8,0.8);
+        }
+
         Wheel.Stop();
-        wait(1.0);
-        Wheel.Speed(-0.8,-0.8);//Reverse 80%
-        wait(5.0);
-        Wheel.Stop();
-        wait(1.0);
+
+        while(microswitch2 == 0)
+        {
+            Wheel.Speed(-0.8,-0.8);
+        }
+
+        //turn right
+        Wheel.Speed(0.8,0.0);
+        wait(0.5);
+
+        //forward
+        Wheel.Speed(0.8,0.8);
+        wait(0.5);
+
+        //turn left
+        Wheel.Speed(0.0,0.8);
+        wait(0.5);
+
+
     }
+    
 
 
 
 // and HERE! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-    } // go back to start of while loop
- //end of int main()
+} // go back to start of while loop
+//end of int main()
 
 
 
 /*
 //Consider these lines of code to Accelerate the motors
       for (float i=0.5f; i<=1.0f; i+=0.01f) //Accelerate  from 50% to 100%
-      { 
+      {
         Wheel.Speed(i,i);
         wait(0.1f);
       }