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