FRDM_wahadlo_torsyjne
Dependencies: mbed BufferedSerial
Fork of FRDM_wahadlo_torsyjne by
main.cpp@4:16316fb634a4, 2014-06-10 (annotated)
- Committer:
- wojtekmir
- Date:
- Tue Jun 10 09:50:41 2014 +0000
- Revision:
- 4:16316fb634a4
- Parent:
- 3:2ba53b9a499a
- Child:
- 5:1e2e73ac4bed
DIRECTION_V2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wojtekmir | 1:a4f9276a0f35 | 1 | #include "mbed.h" |
wojtekmir | 1:a4f9276a0f35 | 2 | |
wojtekmir | 2:78a032749524 | 3 | int motor_period = 300; //deklaracja zmiennych |
wojtekmir | 2:78a032749524 | 4 | int RotTime; |
wojtekmir | 1:a4f9276a0f35 | 5 | |
wojtekmir | 2:78a032749524 | 6 | DigitalOut direction(PTC7); //wyjście PTC7 jako kierunek obrotów |
wojtekmir | 2:78a032749524 | 7 | DigitalOut myled(LED_GREEN); //dioda zielona jako wizualizacja PWM |
wojtekmir | 2:78a032749524 | 8 | AnalogIn ain0(PTB0); //deklaracja wejść analogowych |
Pawel_13 | 3:2ba53b9a499a | 9 | //AnalogIn ain1(PTB1); |
Pawel_13 | 3:2ba53b9a499a | 10 | |
wojtekmir | 2:78a032749524 | 11 | PwmOut motor(PTA5); //sygnał PWM do sterowania sterownikiem silnika krokowego |
wojtekmir | 2:78a032749524 | 12 | Serial pc(USBTX,USBRX); // komunikacja z PC |
wojtekmir | 1:a4f9276a0f35 | 13 | |
Pawel_13 | 3:2ba53b9a499a | 14 | float get_voltage_in(AnalogIn analog_in) { |
Pawel_13 | 3:2ba53b9a499a | 15 | return analog_in.read() * 2.9035; // kalibracja -0.01% wartości odczytanej |
Pawel_13 | 3:2ba53b9a499a | 16 | } |
Pawel_13 | 3:2ba53b9a499a | 17 | |
wojtekmir | 1:a4f9276a0f35 | 18 | int main() { |
wojtekmir | 1:a4f9276a0f35 | 19 | |
wojtekmir | 2:78a032749524 | 20 | motor.period_us(motor_period); |
wojtekmir | 2:78a032749524 | 21 | motor = 0.5f; //wypełnienie zawsze 50% |
wojtekmir | 2:78a032749524 | 22 | pc.baud(115200); |
wojtekmir | 2:78a032749524 | 23 | if (RotTime>=motor_period){ |
wojtekmir | 2:78a032749524 | 24 | |
wojtekmir | 2:78a032749524 | 25 | } |
Pawel_13 | 3:2ba53b9a499a | 26 | int i_start = 0; |
Pawel_13 | 3:2ba53b9a499a | 27 | int SWITCH_DIR = 120; |
wojtekmir | 1:a4f9276a0f35 | 28 | |
Pawel_13 | 3:2ba53b9a499a | 29 | while (true) { |
wojtekmir | 4:16316fb634a4 | 30 | wait_ms(SWITCH_DIR); |
Pawel_13 | 3:2ba53b9a499a | 31 | pc.printf("%.4f\n", get_voltage_in(ain0)); |
Pawel_13 | 3:2ba53b9a499a | 32 | |
Pawel_13 | 3:2ba53b9a499a | 33 | // pc.printf("a1:%d\n",ain1.read_u16()); |
Pawel_13 | 3:2ba53b9a499a | 34 | i_start++; |
Pawel_13 | 3:2ba53b9a499a | 35 | if (i_start == SWITCH_DIR) { |
Pawel_13 | 3:2ba53b9a499a | 36 | myled = !myled; |
Pawel_13 | 3:2ba53b9a499a | 37 | direction= !direction; |
wojtekmir | 4:16316fb634a4 | 38 | if (SWITCH_DIR == 120) SWITCH_DIR = 240; |
wojtekmir | 4:16316fb634a4 | 39 | i_start = 0; |
Pawel_13 | 3:2ba53b9a499a | 40 | } |
Pawel_13 | 3:2ba53b9a499a | 41 | |
Pawel_13 | 3:2ba53b9a499a | 42 | |
wojtekmir | 1:a4f9276a0f35 | 43 | //zmiana czestotliwosci ifami tutaj |
wojtekmir | 1:a4f9276a0f35 | 44 | |
wojtekmir | 2:78a032749524 | 45 | |
wojtekmir | 1:a4f9276a0f35 | 46 | } |
wojtekmir | 1:a4f9276a0f35 | 47 | } |