tim010 tim010 / Mbed 2 deprecated LV4_Grupa4_Tim010_Z2

Dependencies:   mbed

Committer:
tim010
Date:
Mon Mar 24 18:41:26 2014 +0000
Revision:
0:db042111e9a9
LV4_Pai_Grupa004_Tim010; ;

Who changed what in which revision?

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