tim004 tim004
/
LV4-GRUPA2-TIM004-ZADATAK3
Babić Mirhat Hasanic Nadin
Fork of LV4-GRUPA2-Tim004-Zadatak2 by
main.cpp@0:ec52fc690f15, 2014-03-24 (annotated)
- Committer:
- tim004
- Date:
- Mon Mar 24 10:48:12 2014 +0000
- Revision:
- 0:ec52fc690f15
- Child:
- 1:b81cedb4e2c9
LV4-TIM004-Z2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim004 | 0:ec52fc690f15 | 1 | #include "mbed.h" |
tim004 | 0:ec52fc690f15 | 2 | #define Vmax 2.2 |
tim004 | 0:ec52fc690f15 | 3 | #define Vmin 0.8 |
tim004 | 0:ec52fc690f15 | 4 | #define y1 100 |
tim004 | 0:ec52fc690f15 | 5 | #define y2 0 |
tim004 | 0:ec52fc690f15 | 6 | #define x2 2.1 |
tim004 | 0:ec52fc690f15 | 7 | #define x1 0.7 |
tim004 | 0:ec52fc690f15 | 8 | |
tim004 | 0:ec52fc690f15 | 9 | AnalogIn ain (dp9); //analogni ulaz |
tim004 | 0:ec52fc690f15 | 10 | BusOut digitPin (dp23, dp24, dp25); //pinovi cifri -> dp23 prva s desne strane itd... |
tim004 | 0:ec52fc690f15 | 11 | BusOut ledSegment (dp26, dp27, dp5, dp6, dp28, dp1, dp2); //segmenti za displej G,F,E... |
tim004 | 0:ec52fc690f15 | 12 | int arrayNumbers [10] = {0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10};//cifre za aktiv. displeja = 0,1,... |
tim004 | 0:ec52fc690f15 | 13 | BusOut point (dp4);//tacka |
tim004 | 0:ec52fc690f15 | 14 | |
tim004 | 0:ec52fc690f15 | 15 | void PrikaziVrijednost (int vrijednost) |
tim004 | 0:ec52fc690f15 | 16 | { |
tim004 | 0:ec52fc690f15 | 17 | //npr 2.34 |
tim004 | 0:ec52fc690f15 | 18 | int prva = vrijednost % 10; |
tim004 | 0:ec52fc690f15 | 19 | int druga = (vrijednost / 10) % 10; |
tim004 | 0:ec52fc690f15 | 20 | int treca = vrijednost / 100; |
tim004 | 0:ec52fc690f15 | 21 | int pojedineCifre[3] = {(int)(vrijednost / 10.) % 10, (int)(vrijednost) % 10, (int)(vrijednost * 10.) % 10}; |
tim004 | 0:ec52fc690f15 | 22 | |
tim004 | 0:ec52fc690f15 | 23 | ledSegment = arrayNumbers[prva]; |
tim004 | 0:ec52fc690f15 | 24 | digitPin = 3; |
tim004 | 0:ec52fc690f15 | 25 | wait_ms(1.2); |
tim004 | 0:ec52fc690f15 | 26 | |
tim004 | 0:ec52fc690f15 | 27 | |
tim004 | 0:ec52fc690f15 | 28 | |
tim004 | 0:ec52fc690f15 | 29 | ledSegment = arrayNumbers[druga]; |
tim004 | 0:ec52fc690f15 | 30 | digitPin = 5; |
tim004 | 0:ec52fc690f15 | 31 | wait_ms(1.2); |
tim004 | 0:ec52fc690f15 | 32 | |
tim004 | 0:ec52fc690f15 | 33 | |
tim004 | 0:ec52fc690f15 | 34 | |
tim004 | 0:ec52fc690f15 | 35 | point = 1; |
tim004 | 0:ec52fc690f15 | 36 | ledSegment = arrayNumbers[treca]; |
tim004 | 0:ec52fc690f15 | 37 | digitPin = 6; |
tim004 | 0:ec52fc690f15 | 38 | wait_ms(1.2); |
tim004 | 0:ec52fc690f15 | 39 | |
tim004 | 0:ec52fc690f15 | 40 | point = 1; |
tim004 | 0:ec52fc690f15 | 41 | |
tim004 | 0:ec52fc690f15 | 42 | } |
tim004 | 0:ec52fc690f15 | 43 | |
tim004 | 0:ec52fc690f15 | 44 | |
tim004 | 0:ec52fc690f15 | 45 | int main() |
tim004 | 0:ec52fc690f15 | 46 | { |
tim004 | 0:ec52fc690f15 | 47 | float vr = ain; |
tim004 | 0:ec52fc690f15 | 48 | int counter = 0; |
tim004 | 0:ec52fc690f15 | 49 | |
tim004 | 0:ec52fc690f15 | 50 | |
tim004 | 0:ec52fc690f15 | 51 | float jednacina(0); |
tim004 | 0:ec52fc690f15 | 52 | float vrijednost = 0; |
tim004 | 0:ec52fc690f15 | 53 | while(1) |
tim004 | 0:ec52fc690f15 | 54 | { |
tim004 | 0:ec52fc690f15 | 55 | jednacina=((y2-y1)/(x2-x1))*((ain*3.3)-x1)+y1; |
tim004 | 0:ec52fc690f15 | 56 | |
tim004 | 0:ec52fc690f15 | 57 | if(counter==100){ |
tim004 | 0:ec52fc690f15 | 58 | if(ain * 3.3 >= 0.8 && ain * 3.3 <= 2.2) |
tim004 | 0:ec52fc690f15 | 59 | vrijednost = jednacina; |
tim004 | 0:ec52fc690f15 | 60 | else |
tim004 | 0:ec52fc690f15 | 61 | vrijednost = 100; |
tim004 | 0:ec52fc690f15 | 62 | |
tim004 | 0:ec52fc690f15 | 63 | vr =vrijednost; |
tim004 | 0:ec52fc690f15 | 64 | counter=0; |
tim004 | 0:ec52fc690f15 | 65 | } |
tim004 | 0:ec52fc690f15 | 66 | PrikaziVrijednost (vr); |
tim004 | 0:ec52fc690f15 | 67 | counter++; |
tim004 | 0:ec52fc690f15 | 68 | } |
tim004 | 0:ec52fc690f15 | 69 | } |