ZI6 lib
Dependencies: C12832
SinusGen.cpp@0:3dddb6a52298, 2016-06-23 (annotated)
- Committer:
- tbjazic
- Date:
- Thu Jun 23 13:45:33 2016 +0000
- Revision:
- 0:3dddb6a52298
initial
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tbjazic | 0:3dddb6a52298 | 1 | #include "mbed.h" |
tbjazic | 0:3dddb6a52298 | 2 | #include "C12832.h" |
tbjazic | 0:3dddb6a52298 | 3 | #include "SinusGen.h" |
tbjazic | 0:3dddb6a52298 | 4 | |
tbjazic | 0:3dddb6a52298 | 5 | SinusGen::SinusGen(PinName pot1Pin, PinName pot2Pin, PinName tipkaloPin) : pot1(pot1Pin), pot2(pot2Pin), tipkalo(tipkaloPin), lcd(p5, p7, p6, p8, p11), led1(LED1), led2(LED2), led3(LED3), led4(LED4) { |
tbjazic | 0:3dddb6a52298 | 6 | ticker.attach(this, &SinusGen::generirajPrikazi, 0.05); |
tbjazic | 0:3dddb6a52298 | 7 | tipkalo.rise(this, &SinusGen::izborLedice); |
tbjazic | 0:3dddb6a52298 | 8 | lcd.cls(); |
tbjazic | 0:3dddb6a52298 | 9 | izbor = 0; |
tbjazic | 0:3dddb6a52298 | 10 | t = 0; |
tbjazic | 0:3dddb6a52298 | 11 | led1 = led2 = led3 = led4 = 0; |
tbjazic | 0:3dddb6a52298 | 12 | debounce.start(); |
tbjazic | 0:3dddb6a52298 | 13 | } |
tbjazic | 0:3dddb6a52298 | 14 | |
tbjazic | 0:3dddb6a52298 | 15 | void SinusGen::generirajPrikazi() { |
tbjazic | 0:3dddb6a52298 | 16 | U = pot1.read(); |
tbjazic | 0:3dddb6a52298 | 17 | A = pot2.read(); |
tbjazic | 0:3dddb6a52298 | 18 | t += 0.05; |
tbjazic | 0:3dddb6a52298 | 19 | y = U + A*sin(3.14f*t); |
tbjazic | 0:3dddb6a52298 | 20 | lcd.locate(0,3); |
tbjazic | 0:3dddb6a52298 | 21 | lcd.printf("y(t) = %.2f + %.2fsin(3.14t)", U, A); |
tbjazic | 0:3dddb6a52298 | 22 | led1 = led2 = led3 = led4 = 0; |
tbjazic | 0:3dddb6a52298 | 23 | switch(izbor) { |
tbjazic | 0:3dddb6a52298 | 24 | case 0: |
tbjazic | 0:3dddb6a52298 | 25 | led1 = y; |
tbjazic | 0:3dddb6a52298 | 26 | break; |
tbjazic | 0:3dddb6a52298 | 27 | case 1: |
tbjazic | 0:3dddb6a52298 | 28 | led2 = y; |
tbjazic | 0:3dddb6a52298 | 29 | break; |
tbjazic | 0:3dddb6a52298 | 30 | case 2: |
tbjazic | 0:3dddb6a52298 | 31 | led3 = y; |
tbjazic | 0:3dddb6a52298 | 32 | break; |
tbjazic | 0:3dddb6a52298 | 33 | case 3: |
tbjazic | 0:3dddb6a52298 | 34 | led4 = y; |
tbjazic | 0:3dddb6a52298 | 35 | break; |
tbjazic | 0:3dddb6a52298 | 36 | } |
tbjazic | 0:3dddb6a52298 | 37 | } |
tbjazic | 0:3dddb6a52298 | 38 | |
tbjazic | 0:3dddb6a52298 | 39 | void SinusGen::izborLedice() { |
tbjazic | 0:3dddb6a52298 | 40 | if (debounce.read_ms() > 20) { |
tbjazic | 0:3dddb6a52298 | 41 | izbor = ++izbor % 4; |
tbjazic | 0:3dddb6a52298 | 42 | debounce.reset(); |
tbjazic | 0:3dddb6a52298 | 43 | } |
tbjazic | 0:3dddb6a52298 | 44 | } |