Đenašević Emir Jarebica Azra

Dependencies:   mbed

main.cpp

Committer:
tim010
Date:
2014-03-24
Revision:
0:19a88124b3bf

File content as of revision 0:19a88124b3bf:

#include "mbed.h"
//#define max_volt 1.8
//#define min_volt 0.71

int brojevi[10]= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x078,0x0,0x10};
BusOut displej(dp26, dp27, dp5, dp6, dp28, dp1, dp2);
BusOut cifre(dp23, dp24, dp25);
DigitalOut decZarez(dp4);
AnalogIn ain(dp9);
DigitalOut enable(dp14);

void prikaz(int vrijednost){
    int prvaCifra=0, drugaCifra=0, trecaCifra=0;
    if(vrijednost>=0 && vrijednost<10){
        trecaCifra=vrijednost;
    }
    else if(vrijednost<100 && vrijednost>9){
        drugaCifra=vrijednost/10;
        trecaCifra=vrijednost%10;
    }
    else if(vrijednost<1000 && vrijednost>99){
        prvaCifra=vrijednost/100;
        drugaCifra=(vrijednost%100)/10;
        trecaCifra=(vrijednost%100)%10;
    }
    /*prvaCifra=int(vrijednost);
    drugaCifra=int((vrijednost-int(vrijednost))*10);
    trecaCifra=((vrijednost-int(vrijednost))*100);
    trecaCifra=trecaCifra%10;*/
    for(int i=0;i<30;i++){
        cifre=6;
        displej=brojevi[prvaCifra];
        wait_ms(1);
        
        cifre=7;
        
        displej=brojevi[drugaCifra];
        cifre=5;
        wait_ms(1);
        
        cifre=7;
        
        displej=brojevi[trecaCifra];
        cifre=3;
        wait_ms(1);
        cifre=0;
    }
}

int main() {
    float max_volt=2.2;
    float min_volt=0.65;
    float ratio=0;
    float input=ain*3.3;
    float e=ain;
    float diff_volt=max_volt-min_volt;
    while(1) {
        if(input>=min_volt && input<=max_volt){
            ratio=1-((e*3.3)-min_volt)/diff_volt;
        }
        for(int i=0;i<5;i++)
            prikaz(ratio*100);
        e=ain; 
    }
}