LV4_grupa7_Tim004_z4_AmarBasic_AdmiraHusic

Dependencies:   mbed

Committer:
pai2015admirahusic
Date:
Thu Mar 26 20:14:47 2015 +0000
Revision:
0:9842b760e5d1
LV4_grupa7_Tim004_z4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pai2015admirahusic 0:9842b760e5d1 1 #include <math.h>
pai2015admirahusic 0:9842b760e5d1 2
pai2015admirahusic 0:9842b760e5d1 3 #include "mbed.h"
pai2015admirahusic 0:9842b760e5d1 4 #define dp23 P0_0
pai2015admirahusic 0:9842b760e5d1 5
pai2015admirahusic 0:9842b760e5d1 6
pai2015admirahusic 0:9842b760e5d1 7 int izlazi[]= {64,121,36,48,25,18,2,120,0,16};
pai2015admirahusic 0:9842b760e5d1 8 BusOut ledovi(dp26, dp27, dp5, dp6, dp28, dp1, dp2);
pai2015admirahusic 0:9842b760e5d1 9 BusOut ukljuci(dp23,dp24,dp25);
pai2015admirahusic 0:9842b760e5d1 10 int ukljucicifru[3]= {3,5,6};
pai2015admirahusic 0:9842b760e5d1 11
pai2015admirahusic 0:9842b760e5d1 12 BusOut tacka(dp4);
pai2015admirahusic 0:9842b760e5d1 13 DigitalOut enable(dp14);
pai2015admirahusic 0:9842b760e5d1 14 AnalogIn napon(dp9);
pai2015admirahusic 0:9842b760e5d1 15 float max=1.8;
pai2015admirahusic 0:9842b760e5d1 16 float min=0.3;
pai2015admirahusic 0:9842b760e5d1 17 int cifre[3]= {127,127,127};
pai2015admirahusic 0:9842b760e5d1 18 float predotpor=1000;
pai2015admirahusic 0:9842b760e5d1 19
pai2015admirahusic 0:9842b760e5d1 20 void osvjezi(int displej)
pai2015admirahusic 0:9842b760e5d1 21 {
pai2015admirahusic 0:9842b760e5d1 22 int i=0;
pai2015admirahusic 0:9842b760e5d1 23 while(i!=3) {
pai2015admirahusic 0:9842b760e5d1 24
pai2015admirahusic 0:9842b760e5d1 25
pai2015admirahusic 0:9842b760e5d1 26 cifre[i]=displej%10;
pai2015admirahusic 0:9842b760e5d1 27 displej/=10;
pai2015admirahusic 0:9842b760e5d1 28 ledovi=izlazi[cifre[i]];
pai2015admirahusic 0:9842b760e5d1 29 ukljuci=ukljucicifru[i];
pai2015admirahusic 0:9842b760e5d1 30 if(i==1) tacka=0;
pai2015admirahusic 0:9842b760e5d1 31 else tacka=1;
pai2015admirahusic 0:9842b760e5d1 32 i++;
pai2015admirahusic 0:9842b760e5d1 33 wait(0.010 / 3);
pai2015admirahusic 0:9842b760e5d1 34 ledovi=255;
pai2015admirahusic 0:9842b760e5d1 35 }
pai2015admirahusic 0:9842b760e5d1 36 }
pai2015admirahusic 0:9842b760e5d1 37
pai2015admirahusic 0:9842b760e5d1 38
pai2015admirahusic 0:9842b760e5d1 39 float izracunajotpor(float temp)
pai2015admirahusic 0:9842b760e5d1 40 {
pai2015admirahusic 0:9842b760e5d1 41 float R=1000;
pai2015admirahusic 0:9842b760e5d1 42 float B=3400;
pai2015admirahusic 0:9842b760e5d1 43 float T=298.15;
pai2015admirahusic 0:9842b760e5d1 44 return (R*exp(B*(-1/T+1/temp)));
pai2015admirahusic 0:9842b760e5d1 45 }
pai2015admirahusic 0:9842b760e5d1 46
pai2015admirahusic 0:9842b760e5d1 47 float izracunajtemp(float otpor)
pai2015admirahusic 0:9842b760e5d1 48 {
pai2015admirahusic 0:9842b760e5d1 49 float R=1000;
pai2015admirahusic 0:9842b760e5d1 50 float B=3400;
pai2015admirahusic 0:9842b760e5d1 51 float T=298.15;
pai2015admirahusic 0:9842b760e5d1 52 return B /(log(otpor/R) + B/T)-273.15;
pai2015admirahusic 0:9842b760e5d1 53 // return (1/(log(otpor/R)/B-1/T));
pai2015admirahusic 0:9842b760e5d1 54 }
pai2015admirahusic 0:9842b760e5d1 55
pai2015admirahusic 0:9842b760e5d1 56 int main()
pai2015admirahusic 0:9842b760e5d1 57 {
pai2015admirahusic 0:9842b760e5d1 58 int brojac = 0;
pai2015admirahusic 0:9842b760e5d1 59 float mintemp;
pai2015admirahusic 0:9842b760e5d1 60 float maxtemp;
pai2015admirahusic 0:9842b760e5d1 61 float minotpor=izracunajotpor(mintemp);
pai2015admirahusic 0:9842b760e5d1 62 float maxotpor=izracunajotpor(maxtemp);
pai2015admirahusic 0:9842b760e5d1 63 float min=minotpor/(predotpor+minotpor)*3.3;
pai2015admirahusic 0:9842b760e5d1 64 float max=maxotpor/(predotpor+maxotpor)*3.3;
pai2015admirahusic 0:9842b760e5d1 65 enable=1;
pai2015admirahusic 0:9842b760e5d1 66 int displej=0;
pai2015admirahusic 0:9842b760e5d1 67 tacka=1;
pai2015admirahusic 0:9842b760e5d1 68 float otpor=0;
pai2015admirahusic 0:9842b760e5d1 69 while(1) {
pai2015admirahusic 0:9842b760e5d1 70 //otpor=(int)((napon-min)/(max-min)*(maxotpor-minotpor)*10);
pai2015admirahusic 0:9842b760e5d1 71 if(brojac%100 == 0) { otpor=3.3*napon*predotpor / (3.3 - 3.3*napon);;
pai2015admirahusic 0:9842b760e5d1 72 osvjezi((int)(izracunajtemp(otpor)*10));}
pai2015admirahusic 0:9842b760e5d1 73
pai2015admirahusic 0:9842b760e5d1 74 brojac++;
pai2015admirahusic 0:9842b760e5d1 75 }
pai2015admirahusic 0:9842b760e5d1 76 }
pai2015admirahusic 0:9842b760e5d1 77
pai2015admirahusic 0:9842b760e5d1 78
pai2015admirahusic 0:9842b760e5d1 79
pai2015admirahusic 0:9842b760e5d1 80