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

Committer:
nikolarp
Date:
Thu Apr 08 12:25:44 2021 +0000
Revision:
3:6536ed4d073e
Parent:
2:49f00e7e7913
.

Who changed what in which revision?

UserRevisionLine numberNew 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 3:6536ed4d073e 5 Ticker flip;
nikolarp 3:6536ed4d073e 6 Timer debounce;
nikolarp 3:6536ed4d073e 7 float ADCdata;
nikolarp 3:6536ed4d073e 8 void toggle(){
nikolarp 1:db40e2456381 9 if (debounce.read_ms()>200)
nikolarp 2:49f00e7e7913 10 Alarm=!Alarm;
nikolarp 1:db40e2456381 11 }
nikolarp 3:6536ed4d073e 12 void flip1(){ //
nikolarp 1:db40e2456381 13 crvena = !crvena;
nikolarp 1:db40e2456381 14 zelena = !zelena;
nikolarp 1:db40e2456381 15 zuta =!zuta;
nikolarp 3:6536ed4d073e 16 wait(0.6);
nikolarp 3:6536ed4d073e 17 flip.detach();
nikolarp 1:db40e2456381 18 }
nikolarp 1:db40e2456381 19 int main(){
nikolarp 3:6536ed4d073e 20 LED();
nikolarp 1:db40e2456381 21 SegInit();
nikolarp 1:db40e2456381 22 debounce.start();
nikolarp 3:6536ed4d073e 23 button.rise(&toggle);
nikolarp 1:db40e2456381 24 while (1)
nikolarp 1:db40e2456381 25 {
nikolarp 1:db40e2456381 26 ADCdata=Ain;
nikolarp 1:db40e2456381 27 pc.printf("%f \n\r",ADCdata);
nikolarp 1:db40e2456381 28 if(ADCdata>=0.1 && ADCdata<0.49){
nikolarp 1:db40e2456381 29 zelena=1;
nikolarp 1:db40e2456381 30 zuta=0;
nikolarp 1:db40e2456381 31 crvena=0;
nikolarp 1:db40e2456381 32 }
nikolarp 1:db40e2456381 33 else if(ADCdata>=0.5 && ADCdata<0.79){
nikolarp 1:db40e2456381 34 zelena=1;
nikolarp 1:db40e2456381 35 zuta=1;
nikolarp 1:db40e2456381 36 crvena=0;
nikolarp 1:db40e2456381 37 }
nikolarp 1:db40e2456381 38 else if(ADCdata>=0.8 && ADCdata<=0.89){
nikolarp 1:db40e2456381 39 zelena=1;
nikolarp 1:db40e2456381 40 zuta=1;
nikolarp 1:db40e2456381 41 crvena=1;
nikolarp 1:db40e2456381 42 }
nikolarp 1:db40e2456381 43 else if(ADCdata>=0.0 && ADCdata<0.09){
nikolarp 1:db40e2456381 44 zelena=0;
nikolarp 1:db40e2456381 45 zuta=0;
nikolarp 1:db40e2456381 46 crvena=0;
nikolarp 1:db40e2456381 47 }
nikolarp 1:db40e2456381 48 else if(ADCdata>=0.9 && ADCdata<=1.0){
nikolarp 3:6536ed4d073e 49 flip.attach(&flip1,0.1);
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