Đenašević Emir Jarebica Azra

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 //#define max_volt 1.8
00003 //#define min_volt 0.71
00004 
00005 int brojevi[10]= {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x078,0x0,0x10};
00006 BusOut displej(dp26, dp27, dp5, dp6, dp28, dp1, dp2);
00007 BusOut cifre(dp23, dp24, dp25);
00008 DigitalOut decZarez(dp4);
00009 AnalogIn ain(dp9);
00010 DigitalOut enable(dp14);
00011 
00012 void prikaz(int vrijednost){
00013     int prvaCifra=0, drugaCifra=0, trecaCifra=0;
00014     if(vrijednost>=0 && vrijednost<10){
00015         trecaCifra=vrijednost;
00016     }
00017     else if(vrijednost<100 && vrijednost>9){
00018         drugaCifra=vrijednost/10;
00019         trecaCifra=vrijednost%10;
00020     }
00021     else if(vrijednost<1000 && vrijednost>99){
00022         prvaCifra=vrijednost/100;
00023         drugaCifra=(vrijednost%100)/10;
00024         trecaCifra=(vrijednost%100)%10;
00025     }
00026     /*prvaCifra=int(vrijednost);
00027     drugaCifra=int((vrijednost-int(vrijednost))*10);
00028     trecaCifra=((vrijednost-int(vrijednost))*100);
00029     trecaCifra=trecaCifra%10;*/
00030     for(int i=0;i<30;i++){
00031         cifre=6;
00032         displej=brojevi[prvaCifra];
00033         wait_ms(1);
00034         
00035         cifre=7;
00036         
00037         displej=brojevi[drugaCifra];
00038         cifre=5;
00039         wait_ms(1);
00040         
00041         cifre=7;
00042         
00043         displej=brojevi[trecaCifra];
00044         cifre=3;
00045         wait_ms(1);
00046         cifre=0;
00047     }
00048 }
00049 
00050 int main() {
00051     float max_volt=2.2;
00052     float min_volt=0.65;
00053     float ratio=0;
00054     float input=ain*3.3;
00055     float e=ain;
00056     float diff_volt=max_volt-min_volt;
00057     while(1) {
00058         if(input>=min_volt && input<=max_volt){
00059             ratio=1-((e*3.3)-min_volt)/diff_volt;
00060         }
00061         for(int i=0;i<5;i++)
00062             prikaz(ratio*100);
00063         e=ain; 
00064     }
00065 }