FRDM_wahadlo_torsyjne

Dependencies:   mbed BufferedSerial

Fork of FRDM_wahadlo_torsyjne by Wojciech M

Revision:
12:103f3fbeab78
Parent:
11:b3bd4b86f914
Child:
13:8810ad3ccc04
--- a/main.cpp	Sat Jun 14 11:15:33 2014 +0000
+++ b/main.cpp	Sat Jun 14 11:52:02 2014 +0000
@@ -1,18 +1,17 @@
 #include "mbed.h"
 #include "TSISensor.h"
-#include "Timer.h"
+//#include "Timer.h"
 
 Ticker triger1;                                             //przerwanie sterowania silnikiem
 Ticker triger2;                                             //przerwanie wysyłania danych
-TSISensor tsi;                                              //sensor dotykowy
+//TSISensor tsi;                                              //sensor dotykowy
 
 int motor_PWM_period_us = 200;                              //okres sygnału PWM (w mikrosekundach) wyzwalającego kolejny krok silnika
 int EXC_angle = 3200/4;                                     //360 stopni to 3200 krok. przy mkrok. = 1.8/16
 float switch_dir_time=(float)((float)EXC_angle/500.0)*((float)motor_PWM_period_us/1000.0);  
-                                                            //czas po któym następuje zmiana obrotów (żeby nie liczyć po każdej zmianie kierunku w pętli)
-int DIR_switched = 0;                                       
-int SWITCH_DIR = EXC_angle;
-    
+int zero_analog_IN_0 = 0;
+int zero_analog_IN_1 = 0;
+ 
 DigitalOut direction(PTC7);                                 //zmiana wartości logicznej na wyjściu PTC7 powoduje zmianę kieruneku obrotów
 DigitalOut myled(LED_GREEN);                                //dioda zielona sygnalizuje zmianę kierunku obrotów
 AnalogIn analog_IN_0(PTB0);                                 //odczyt napięcia z wejścia analogowego 0 (kąt obrotu kolumny)
@@ -20,7 +19,7 @@
 PwmOut motor(PTA5);                                         //sygnał PWM do sterowania sterownikiem silnika krokowego
 Serial pc(USBTX,USBRX);                                     //komunikacja z PC
 
-Timer timer;
+//Timer timer;
 
 float get_voltage_in(AnalogIn analog_in, float zero_analog_in) {
     return (analog_in.read() - zero_analog_in) * 2.9035;    //przesunięcie do zera i skalowanie napiecia do zakresu
@@ -31,11 +30,9 @@
 } 
 
 void task2() { 
-    int zero_analog_IN_0 = analog_IN_0.read();
-    int zero_analog_IN_1 = analog_IN_1.read();
-
     get_voltage_in(analog_IN_0, zero_analog_IN_0);
-    pc.printf("%.3f\t\n", get_voltage_in(analog_IN_0, zero_analog_IN_0));
+    get_voltage_in(analog_IN_1, zero_analog_IN_1);
+    pc.printf("%.3f\t%.3f\n", get_voltage_in(analog_IN_0, zero_analog_IN_0), get_voltage_in(analog_IN_1, zero_analog_IN_1));
 } 
 
 int main() {    
@@ -43,13 +40,16 @@
     motor = 0.5;                                // wypełnienie PWM sygnału CLK
     pc.baud(115200);                            // największa szybkość standardowa, jaką można zadać to 19200  
                                                 //dla 115200 mamy mniejsze czasy wysyłania (możemy wysyłać częściej- co 10ms
-    //int zero_analog_IN_0 = analog_IN_0.read();
-    //int zero_analog_IN_1 = analog_IN_1.read();
+    zero_analog_IN_0 = analog_IN_0.read();
+    zero_analog_IN_1 = analog_IN_1.read();
     wait(5);                                    //czas na ustawienia początkowe 5 sek.   
     triger2.attach(&task2, 0.02);
     triger1.attach(&task1, switch_dir_time);  
 
     while (true) {
+//        if (tsi.readPercentage() < 0.5)
+//            motor = 0.5;
+//        else motor = 0.0;
         wait(10);     // "nic nierobienie, żeby się nie zawiesił"  
     }
 }
\ No newline at end of file