tim004 tim004
/
LV4-GRUPA2-Tim004-Zadatak2
Babić Mirhat Hasanic Nadin
Fork of LV4-GRUPA2-Tim004 by
Diff: main.cpp
- Revision:
- 1:b81cedb4e2c9
- Parent:
- 0:ec52fc690f15
--- a/main.cpp Mon Mar 24 10:48:12 2014 +0000 +++ b/main.cpp Mon Mar 24 10:52:40 2014 +0000 @@ -1,69 +1,65 @@ #include "mbed.h" -#define Vmax 2.2 -#define Vmin 0.8 -#define y1 100 -#define y2 0 -#define x2 2.1 -#define x1 0.7 - -AnalogIn ain (dp9); //analogni ulaz -BusOut digitPin (dp23, dp24, dp25); //pinovi cifri -> dp23 prva s desne strane itd... -BusOut ledSegment (dp26, dp27, dp5, dp6, dp28, dp1, dp2); //segmenti za displej G,F,E... -int arrayNumbers [10] = {0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10};//cifre za aktiv. displeja = 0,1,... -BusOut point (dp4);//tacka - -void PrikaziVrijednost (int vrijednost) -{ - //npr 2.34 - int prva = vrijednost % 10; - int druga = (vrijednost / 10) % 10; - int treca = vrijednost / 100; - int pojedineCifre[3] = {(int)(vrijednost / 10.) % 10, (int)(vrijednost) % 10, (int)(vrijednost * 10.) % 10}; - - ledSegment = arrayNumbers[prva]; - digitPin = 3; - wait_ms(1.2); + +using namespace std; + +BusOut segments(dp26, dp27, dp5, dp6, dp28, dp1, dp2); +BusOut digit(dp23, dp24, dp25); +DigitalOut point(dp4); +AnalogIn napon(dp9); + +Timer count; + +int codes[10] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x078,0x0,0x10}; + + - +void display(float time) { + time *= 10; - ledSegment = arrayNumbers[druga]; - digitPin = 5; - wait_ms(1.2); + int numbers[3] = { (int)(time / 10.) % 10, (int)(time) % 10, + (int)(time * 10.) % 10 }; + segments = codes[ numbers[2]]; + digit = 3; + wait_ms(2); + + digit = 7; + + segments = codes[ numbers[1]]; + digit = 5; point = 1; - ledSegment = arrayNumbers[treca]; - digitPin = 6; - wait_ms(1.2); - + wait_ms(2); + + digit = 7; + + segments = codes[ numbers[0]]; + digit = 6; + + point = 0; + + wait_ms(2); + + digit = 7; + + + segments = 7; point = 1; - } - - -int main() -{ - float vr = ain; - int counter = 0; + +int main() { + + float last = 0; + while(true) { + float suma = 0; + for(int i = 0; i < 50; i++){ + display(last * 3.3); + suma += napon; + } + + last = suma / 50; + } - float jednacina(0); - float vrijednost = 0; - while(1) - { - jednacina=((y2-y1)/(x2-x1))*((ain*3.3)-x1)+y1; - - if(counter==100){ - if(ain * 3.3 >= 0.8 && ain * 3.3 <= 2.2) - vrijednost = jednacina; - else - vrijednost = 100; - - vr =vrijednost; - counter=0; - } - PrikaziVrijednost (vr); - counter++; - } } \ No newline at end of file