Sinus regulirani
Dependencies: mbed
main.cpp@0:5f6ae7d97455, 2015-12-10 (annotated)
- Committer:
- DorijanMacek
- Date:
- Thu Dec 10 14:15:08 2015 +0000
- Revision:
- 0:5f6ae7d97455
Sinus regulirani
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DorijanMacek | 0:5f6ae7d97455 | 1 | #include "mbed.h" |
DorijanMacek | 0:5f6ae7d97455 | 2 | #define PI 3.14159265359 |
DorijanMacek | 0:5f6ae7d97455 | 3 | #define PPI 2*PI |
DorijanMacek | 0:5f6ae7d97455 | 4 | Ticker TS; |
DorijanMacek | 0:5f6ae7d97455 | 5 | AnalogOut DA18(p18); |
DorijanMacek | 0:5f6ae7d97455 | 6 | AnalogIn AD20(p20); |
DorijanMacek | 0:5f6ae7d97455 | 7 | int T=50; |
DorijanMacek | 0:5f6ae7d97455 | 8 | float y, f=50.0, kut = 0,freqcoef=1; |
DorijanMacek | 0:5f6ae7d97455 | 9 | |
DorijanMacek | 0:5f6ae7d97455 | 10 | |
DorijanMacek | 0:5f6ae7d97455 | 11 | |
DorijanMacek | 0:5f6ae7d97455 | 12 | void sinus () |
DorijanMacek | 0:5f6ae7d97455 | 13 | { |
DorijanMacek | 0:5f6ae7d97455 | 14 | y = 0.5*sin(kut) + 0.5; |
DorijanMacek | 0:5f6ae7d97455 | 15 | DA.write(p18); |
DorijanMacek | 0:5f6ae7d97455 | 16 | kut += PPI * f *freqcoef* T * 1e-6; |
DorijanMacek | 0:5f6ae7d97455 | 17 | if (kut > PPI) { kut = kut - PPI; } |
DorijanMacek | 0:5f6ae7d97455 | 18 | } |
DorijanMacek | 0:5f6ae7d97455 | 19 | |
DorijanMacek | 0:5f6ae7d97455 | 20 | int main () |
DorijanMacek | 0:5f6ae7d97455 | 21 | { |
DorijanMacek | 0:5f6ae7d97455 | 22 | freqcoef=AD20*3.0; //*3 da freq raspon bude od 0 do 150 Hz |
DorijanMacek | 0:5f6ae7d97455 | 23 | if(freqcoef==0) //da nebi greq bila nula stavi koef u 1 pa je freq jednaka 50Hz |
DorijanMacek | 0:5f6ae7d97455 | 24 | freqcoef=1; |
DorijanMacek | 0:5f6ae7d97455 | 25 | TS.attach_us(&sinus,T); |
DorijanMacek | 0:5f6ae7d97455 | 26 | } |