Nadzor opterećenja sustava. Na 10% vrijednosti pali se zelena LED dioda, na 50% pali se žuta, na 80% pali se crvena, na 90% sve diode se pale i gase. Pritiskom na pushbutton pali se alarmna led dioda.
https://os.mbed.com/media/uploads/nikolarp/shema_fb_thumb.jpg
main.cpp@1:db40e2456381, 2021-04-05 (annotated)
- Committer:
- nikolarp
- Date:
- Mon Apr 05 14:20:16 2021 +0000
- Revision:
- 1:db40e2456381
- Child:
- 2:49f00e7e7913
2.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nikolarp | 1:db40e2456381 | 1 | #include "mbed.h" |
nikolarp | 1:db40e2456381 | 2 | #include "IO.h" |
nikolarp | 1:db40e2456381 | 3 | #include "SegDisplay.h" |
nikolarp | 1:db40e2456381 | 4 | Serial pc(USBTX, USBRX); |
nikolarp | 1:db40e2456381 | 5 | Ticker flip; |
nikolarp | 1:db40e2456381 | 6 | Timer debounce; |
nikolarp | 1:db40e2456381 | 7 | float ADCdata; |
nikolarp | 1:db40e2456381 | 8 | void toggle(){ |
nikolarp | 1:db40e2456381 | 9 | if (debounce.read_ms()>200) |
nikolarp | 1:db40e2456381 | 10 | Alarm=1; |
nikolarp | 1:db40e2456381 | 11 | } |
nikolarp | 1:db40e2456381 | 12 | void flip1(){ |
nikolarp | 1:db40e2456381 | 13 | crvena = !crvena; |
nikolarp | 1:db40e2456381 | 14 | zelena = !zelena; |
nikolarp | 1:db40e2456381 | 15 | zuta =!zuta; |
nikolarp | 1:db40e2456381 | 16 | } |
nikolarp | 1:db40e2456381 | 17 | int main(){ |
nikolarp | 1:db40e2456381 | 18 | LED(); |
nikolarp | 1:db40e2456381 | 19 | SegInit(); |
nikolarp | 1:db40e2456381 | 20 | debounce.start(); |
nikolarp | 1:db40e2456381 | 21 | button.rise(&toggle); |
nikolarp | 1:db40e2456381 | 22 | while (1) |
nikolarp | 1:db40e2456381 | 23 | { |
nikolarp | 1:db40e2456381 | 24 | ADCdata=Ain; |
nikolarp | 1:db40e2456381 | 25 | pc.printf("%f \n\r",ADCdata); |
nikolarp | 1:db40e2456381 | 26 | if(ADCdata>=0.1 && ADCdata<0.49){ |
nikolarp | 1:db40e2456381 | 27 | zelena=1; |
nikolarp | 1:db40e2456381 | 28 | zuta=0; |
nikolarp | 1:db40e2456381 | 29 | crvena=0; |
nikolarp | 1:db40e2456381 | 30 | } |
nikolarp | 1:db40e2456381 | 31 | else if(ADCdata>=0.5 && ADCdata<0.79){ |
nikolarp | 1:db40e2456381 | 32 | zelena=1; |
nikolarp | 1:db40e2456381 | 33 | zuta=1; |
nikolarp | 1:db40e2456381 | 34 | crvena=0; |
nikolarp | 1:db40e2456381 | 35 | } |
nikolarp | 1:db40e2456381 | 36 | else if(ADCdata>=0.8 && ADCdata<=0.89){ |
nikolarp | 1:db40e2456381 | 37 | zelena=1; |
nikolarp | 1:db40e2456381 | 38 | zuta=1; |
nikolarp | 1:db40e2456381 | 39 | crvena=1; |
nikolarp | 1:db40e2456381 | 40 | } |
nikolarp | 1:db40e2456381 | 41 | else if(ADCdata>=0.0 && ADCdata<0.09){ |
nikolarp | 1:db40e2456381 | 42 | zelena=0; |
nikolarp | 1:db40e2456381 | 43 | zuta=0; |
nikolarp | 1:db40e2456381 | 44 | crvena=0; |
nikolarp | 1:db40e2456381 | 45 | } |
nikolarp | 1:db40e2456381 | 46 | else if(ADCdata>=0.9 && ADCdata<=1.0){ |
nikolarp | 1:db40e2456381 | 47 | flip.attach(&flip1, 0.2); |
nikolarp | 1:db40e2456381 | 48 | wait(0.4); |
nikolarp | 1:db40e2456381 | 49 | flip.detach(); |
nikolarp | 1:db40e2456381 | 50 | } |
nikolarp | 1:db40e2456381 | 51 | Seg1 = SegConvert(ADCdata*10); |
nikolarp | 1:db40e2456381 | 52 | wait (0.5); |
nikolarp | 1:db40e2456381 | 53 | } |
nikolarp | 1:db40e2456381 | 54 | } |
nikolarp | 1:db40e2456381 | 55 |