Ticker added

Dependencies:   HIDScope MODSERIAL QEI mbed

Fork of Tau_new_ticker_toevoegen by V D

Revision:
4:e22508afc194
Parent:
3:48397c80d0e4
Child:
5:9b5ab304fe64
--- a/main.cpp	Wed Nov 01 14:13:48 2017 +0000
+++ b/main.cpp	Thu Nov 02 08:44:58 2017 +0000
@@ -2,6 +2,7 @@
 #include "HIDScope.h"
 #include "QEI.h"
 #include "iostream"
+#include "MODSERIAL.h"
 
 //Leds
 DigitalOut ledb(LED_BLUE);
@@ -18,68 +19,86 @@
 // HIDscope
 HIDScope scope(1);
 
+//Ticker
+Ticker tick;
+float f = 0.2;
+
 // Encoder
-//Ticker tick;
-float X = 32;
-float N = 131;
+float X = 32.0;
+float N = 131.0;
 float pulse_count;
 float angle_motor;
-QEI Encoder(A0,A1,NC,N);
-
-//Minimum wait time between rolls
-float t = 1;
+QEI Encoder(D8,D9,NC,N);
+MODSERIAL pc(USBTX,USBRX);
 
-// Encoder measurement function
-void Measure()
-{
-    // Get pulses and send to HIDScope
-    pulse_count = Encoder.getPulses();
-    
-    int angle_pp =360/(X * N);
-    
-   int angle = pulse_count*angle_pp;
-    
-    scope.set(0, angle);
-    scope.send();
-}
+//ticker function
 
-//Dice rolling function
-void Roll()
-{  
-    //motor1DC = 0;
-    
-    ledg = 1; // green led off
-    ledr = 0; // red led on = rolling
-    
-    motor1PWM = 1; // motor on -> roll dice
-    wait(3.0);
-    motor1PWM = 0; // motor off
+//void send(angle)
+//{ 
 
+//    scope.set(0, angle);
+//    scope.send();
+//}
 
-    //motor1DC = abs(motor1DC-1); // rotate other way next time
-    
-    //ledr = 1; // red led off
-    //ledb = 0; // blue led on
-    
-    //Encoder.reset();
-}
 
 int main()
 {
-    motor1DC = 0;
+
+    pc.baud(9600);
+    pc.printf("Hello world");
+    motor1DC = -1;
     ledb = 1;
     ledr = 1;
     ledg = 0;
-    
-    while (true) 
-    {
-        if(button1==0)
-        { 
-            Roll();
-            wait(t); // wait before next roll to protect motors
+
+    while (true) {
+
+        //angle=0;
+
+        if(button1==false) {
+            
+            
+            
+            wait(1.0); // wait before next roll to protect motors
+            //ledr = 1;
+            ledb = 1;
+            //ledg = 0; // green led on = ready to roll
+
+            ledg = 1; // green led off
+            ledr = 0; // red led on = rolling
+
+            motor1PWM = 1; // motor on
+            wait(3.00); //1.025
+            motor1PWM = 0; // motor off
+
+            wait(1.0);
+            ledr = 1;
             ledb = 1;
-            ledg = 0; // green led on = ready to roll
-        } 
-        Measure();     
+            ledg = 0;
+            // green led on = ready to roll
+
+            // Get pulses and send to HIDScope
+            pulse_count = Encoder.getPulses();
+
+            float angle_pp =360/(X * N);
+            float angle = pulse_count*angle_pp;
+
+            pc.printf(" pulse count: %f angle: %f \r \n ", pulse_count, angle);
+            
+            //tick.attach(&send(angle), f);
+
+            scope.set(0, angle);
+            scope.send();
+
+            Encoder.reset();
+            
+            
+        }
+
     }
-}
\ No newline at end of file
+
+
+
+}
+
+// screen /dev/tty.usbmodem1412 9600
\ No newline at end of file