Amra Dautbegović Luka Pejović

Dependencies:   mbed

Committer:
tim010
Date:
Mon Mar 24 19:33:23 2014 +0000
Revision:
1:c2b35dd17b66
Parent:
0:6e4c4f02ef1b
LV4_Grupa004_Tim010_Z4;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim010 0:6e4c4f02ef1b 1 #include "mbed.h"
tim010 1:c2b35dd17b66 2 #include <cmath>
tim010 0:6e4c4f02ef1b 3 DigitalOut cifre[3] = {dp23, dp24, dp25};
tim010 0:6e4c4f02ef1b 4 BusOut disp(dp4, dp2, dp1, dp28, dp6, dp5, dp27, dp26);
tim010 0:6e4c4f02ef1b 5 //Novo za LV4
tim010 0:6e4c4f02ef1b 6 AnalogIn ulaz(dp9);
tim010 0:6e4c4f02ef1b 7 int _7sd(char znak, bool tocka = false)
tim010 0:6e4c4f02ef1b 8 {
tim010 0:6e4c4f02ef1b 9 //za sljedeci raspored: a b c d e f g dp
tim010 0:6e4c4f02ef1b 10 //a to su dp26 dp27 dp5 dp6 dp28 dp1 dp2 dp4
tim010 0:6e4c4f02ef1b 11 int t = !tocka;
tim010 0:6e4c4f02ef1b 12 switch(znak)
tim010 0:6e4c4f02ef1b 13 {
tim010 0:6e4c4f02ef1b 14 case 'N':
tim010 0:6e4c4f02ef1b 15 return 0xfe | t;
tim010 0:6e4c4f02ef1b 16 case '0':
tim010 0:6e4c4f02ef1b 17 return 0x02 | t;
tim010 0:6e4c4f02ef1b 18 case '1':
tim010 0:6e4c4f02ef1b 19 return 0x9e | t;
tim010 0:6e4c4f02ef1b 20 case '2':
tim010 0:6e4c4f02ef1b 21 return 0x24 | t;
tim010 0:6e4c4f02ef1b 22 case '3':
tim010 0:6e4c4f02ef1b 23 return 0x0c | t;
tim010 0:6e4c4f02ef1b 24 case '4':
tim010 0:6e4c4f02ef1b 25 return 0x98 | t;
tim010 0:6e4c4f02ef1b 26 case '5':
tim010 0:6e4c4f02ef1b 27 return 0x48 | t;
tim010 0:6e4c4f02ef1b 28 case '6':
tim010 0:6e4c4f02ef1b 29 return 0x40 | t;
tim010 0:6e4c4f02ef1b 30 case '7':
tim010 0:6e4c4f02ef1b 31 return 0x1a | t;
tim010 0:6e4c4f02ef1b 32 case '8':
tim010 0:6e4c4f02ef1b 33 return 0x00 | t;
tim010 0:6e4c4f02ef1b 34 case '9':
tim010 0:6e4c4f02ef1b 35 return 0x08 | t;
tim010 0:6e4c4f02ef1b 36 case 'a': case 'A':
tim010 0:6e4c4f02ef1b 37 return 0x10 | t;
tim010 0:6e4c4f02ef1b 38 case 'b': case 'B':
tim010 0:6e4c4f02ef1b 39 return 0xc0 | t;
tim010 0:6e4c4f02ef1b 40 case 'c': case 'C':
tim010 0:6e4c4f02ef1b 41 return 0x62 | t;
tim010 0:6e4c4f02ef1b 42 case 'd': case 'D':
tim010 0:6e4c4f02ef1b 43 return 0x84 | t;
tim010 0:6e4c4f02ef1b 44 case 'e': case 'E':
tim010 0:6e4c4f02ef1b 45 return 0x60 | t;
tim010 0:6e4c4f02ef1b 46 case 'f': case 'F':
tim010 0:6e4c4f02ef1b 47 return 0x70 | t;
tim010 0:6e4c4f02ef1b 48 case '*':
tim010 0:6e4c4f02ef1b 49 return 0x90 | t;
tim010 0:6e4c4f02ef1b 50 case '#':
tim010 0:6e4c4f02ef1b 51 return 0x6c | t;
tim010 0:6e4c4f02ef1b 52 }
tim010 0:6e4c4f02ef1b 53 }
tim010 0:6e4c4f02ef1b 54
tim010 0:6e4c4f02ef1b 55 void ispisi(int broj){
tim010 0:6e4c4f02ef1b 56 if(broj < 0) broj = 0.0;
tim010 0:6e4c4f02ef1b 57 int znakovi[3] = {(broj%1000)/100, (broj%100)/10, broj%10};
tim010 0:6e4c4f02ef1b 58 for(int i = 0; i < 3; i++){
tim010 0:6e4c4f02ef1b 59 cifre[i] = 0;
tim010 0:6e4c4f02ef1b 60 disp = _7sd(znakovi[i] + '0', i==1); //tacku na prvom
tim010 0:6e4c4f02ef1b 61 wait(0.0025); //ovo mijenjati da se ustima bolje svjetlo
tim010 0:6e4c4f02ef1b 62 cifre[i] = 1;
tim010 0:6e4c4f02ef1b 63 }
tim010 0:6e4c4f02ef1b 64 }
tim010 0:6e4c4f02ef1b 65
tim010 1:c2b35dd17b66 66
tim010 0:6e4c4f02ef1b 67 int main() {
tim010 0:6e4c4f02ef1b 68 //char c, c1;
tim010 0:6e4c4f02ef1b 69 int counter = 0;
tim010 0:6e4c4f02ef1b 70 float pot, suma;
tim010 0:6e4c4f02ef1b 71 float k = 1000*3.3;
tim010 0:6e4c4f02ef1b 72 wait(0.05);
tim010 1:c2b35dd17b66 73 float R0 = 1000, T0 = 298.15, B = 3400;
tim010 0:6e4c4f02ef1b 74 pot = ulaz;
tim010 0:6e4c4f02ef1b 75 while(1){
tim010 1:c2b35dd17b66 76 if(counter == 10){
tim010 0:6e4c4f02ef1b 77 pot = suma/50.f;
tim010 0:6e4c4f02ef1b 78 counter = 0;
tim010 0:6e4c4f02ef1b 79 suma = 0;
tim010 0:6e4c4f02ef1b 80 }
tim010 1:c2b35dd17b66 81 ispisi(1000./(log((pot/0.003)/R0)+B/T0));
tim010 0:6e4c4f02ef1b 82 suma += ulaz;
tim010 0:6e4c4f02ef1b 83 counter++;
tim010 0:6e4c4f02ef1b 84 }
tim010 0:6e4c4f02ef1b 85
tim010 0:6e4c4f02ef1b 86 }