FRDM_wahadlo_torsyjne

Dependencies:   mbed BufferedSerial

Fork of FRDM_wahadlo_torsyjne by Wojciech M

Revision:
3:2ba53b9a499a
Parent:
2:78a032749524
Child:
4:16316fb634a4
--- a/main.cpp	Tue Jun 10 08:22:02 2014 +0000
+++ b/main.cpp	Tue Jun 10 09:46:18 2014 +0000
@@ -6,10 +6,15 @@
 DigitalOut direction(PTC7);     //wyjście PTC7 jako kierunek obrotów
 DigitalOut myled(LED_GREEN);    //dioda zielona jako wizualizacja PWM
 AnalogIn ain0(PTB0);            //deklaracja wejść analogowych
-AnalogIn ain1(PTB1);
+//AnalogIn ain1(PTB1);
+
 PwmOut motor(PTA5);             //sygnał PWM do sterowania sterownikiem silnika krokowego
 Serial pc(USBTX,USBRX);         // komunikacja z PC
 
+float get_voltage_in(AnalogIn analog_in) {
+    return analog_in.read() * 2.9035; // kalibracja -0.01% wartości odczytanej
+}
+
 int main() {
     
     motor.period_us(motor_period);
@@ -18,14 +23,23 @@
     if (RotTime>=motor_period){
         
         }
+    int i_start = 0;
+    int SWITCH_DIR = 120;
     
-    while (true) {
-        wait(0.5);
-        pc.printf("a0:%d\n",ain0.read_u16());
-        pc.printf("a1:%d\n",ain1.read_u16());
-
-        myled = !myled;
-        direction= !direction;
+    while (true) {        
+        wait_ms(start);
+        pc.printf("%.4f\n", get_voltage_in(ain0));        
+        
+//        pc.printf("a1:%d\n",ain1.read_u16());
+        i_start++;
+        if (i_start == SWITCH_DIR) {
+            myled = !myled;
+            direction= !direction;
+            if (SWITCH_DIR == 120) SWIYCH_DIR = 240
+            i_start = 0
+            }
+        
+        
         //zmiana czestotliwosci ifami tutaj