tim010 tim010
/
LV4-Grupa4-Tim010-Z3
Amra Dautbegović Luka Pejović
main.cpp@1:c2b35dd17b66, 2014-03-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |