not yet completed
Dependencies: FatFileSystem MSCFileSystem TextLCD mbed
Fork of TextLCD_HelloWorld by
main.cpp@4:eda6dbfa1d1c, 2016-08-17 (annotated)
- Committer:
- safuanCMS
- Date:
- Wed Aug 17 11:48:03 2016 +0000
- Revision:
- 4:eda6dbfa1d1c
- Parent:
- 3:8228ff1c1999
IMDC2016 DPV
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 0:334327d1a416 | 1 | #include "mbed.h" |
simon | 0:334327d1a416 | 2 | #include "TextLCD.h" |
safuanCMS | 3:8228ff1c1999 | 3 | #include "string" |
safuanCMS | 4:eda6dbfa1d1c | 4 | //#include "MSCFileSystem.h" |
simon | 0:334327d1a416 | 5 | |
safuanCMS | 3:8228ff1c1999 | 6 | TextLCD lcd(p15, p16, p10, p11, p12, p13); // rs, e, d4-d7 ;LCD configuration |
safuanCMS | 3:8228ff1c1999 | 7 | |
safuanCMS | 3:8228ff1c1999 | 8 | LocalFileSystem fs("fs"); |
safuanCMS | 3:8228ff1c1999 | 9 | |
safuanCMS | 3:8228ff1c1999 | 10 | AnalogOut aout(p18); //DAC |
safuanCMS | 3:8228ff1c1999 | 11 | AnalogIn ain(p17); //ADC current read |
safuanCMS | 3:8228ff1c1999 | 12 | DigitalIn pb(p9); //Switch |
safuanCMS | 3:8228ff1c1999 | 13 | DigitalOut dout(LED1); |
safuanCMS | 3:8228ff1c1999 | 14 | DigitalOut trig(p5); // |
safuanCMS | 3:8228ff1c1999 | 15 | DigitalOut trigstop(p6); // |
safuanCMS | 4:eda6dbfa1d1c | 16 | DigitalOut trigstart(p7); // |
safuanCMS | 3:8228ff1c1999 | 17 | int pbb; |
safuanCMS | 3:8228ff1c1999 | 18 | |
safuanCMS | 4:eda6dbfa1d1c | 19 | float mini = 0.1f,maxi = 1.2f,stepsize = 0.005f,highV=0,highC=0,readd; |
safuanCMS | 4:eda6dbfa1d1c | 20 | float pulsedur=0.5,step,sample,width=0.25,current,pulseamplitude=0.1; |
safuanCMS | 3:8228ff1c1999 | 21 | |
safuanCMS | 3:8228ff1c1999 | 22 | void lcdprintnum(float number); |
simon | 0:334327d1a416 | 23 | |
simon | 0:334327d1a416 | 24 | int main() { |
safuanCMS | 3:8228ff1c1999 | 25 | lcd.cls(); |
safuanCMS | 3:8228ff1c1999 | 26 | pb.mode(PullDown); |
safuanCMS | 3:8228ff1c1999 | 27 | |
safuanCMS | 3:8228ff1c1999 | 28 | while(1){ |
safuanCMS | 3:8228ff1c1999 | 29 | pbb=pb; |
safuanCMS | 3:8228ff1c1999 | 30 | trig=0; |
safuanCMS | 3:8228ff1c1999 | 31 | trigstop=0; |
safuanCMS | 3:8228ff1c1999 | 32 | lcd.locate(0,0); |
safuanCMS | 3:8228ff1c1999 | 33 | lcd.printf("DEVICE READY..."); |
safuanCMS | 3:8228ff1c1999 | 34 | |
safuanCMS | 3:8228ff1c1999 | 35 | if(pbb==1){ |
safuanCMS | 3:8228ff1c1999 | 36 | FILE *fp = fopen("/fs/test.csv","w"); |
safuanCMS | 3:8228ff1c1999 | 37 | |
safuanCMS | 3:8228ff1c1999 | 38 | lcd.cls(); |
safuanCMS | 3:8228ff1c1999 | 39 | wait(0.1); |
safuanCMS | 3:8228ff1c1999 | 40 | |
safuanCMS | 3:8228ff1c1999 | 41 | lcd.locate(0,0); |
safuanCMS | 3:8228ff1c1999 | 42 | lcd.printf("ScanRate:0.01V/s "); |
safuanCMS | 3:8228ff1c1999 | 43 | |
safuanCMS | 4:eda6dbfa1d1c | 44 | |
safuanCMS | 3:8228ff1c1999 | 45 | for(float i = (mini/3.3); i < (maxi/3.3); i += (stepsize/3.3f)) { |
safuanCMS | 4:eda6dbfa1d1c | 46 | aout=(i - (pulseamplitude/3.3)); |
safuanCMS | 4:eda6dbfa1d1c | 47 | trigstart=1; |
safuanCMS | 4:eda6dbfa1d1c | 48 | trigstart=0; |
safuanCMS | 4:eda6dbfa1d1c | 49 | trig=0; |
safuanCMS | 3:8228ff1c1999 | 50 | wait(pulsedur-width); //base voltage duration, sample 1 here |
safuanCMS | 4:eda6dbfa1d1c | 51 | |
safuanCMS | 4:eda6dbfa1d1c | 52 | if(i>=1.19/3.3){ |
safuanCMS | 4:eda6dbfa1d1c | 53 | trigstop=1; |
safuanCMS | 4:eda6dbfa1d1c | 54 | } |
safuanCMS | 4:eda6dbfa1d1c | 55 | |
safuanCMS | 4:eda6dbfa1d1c | 56 | aout=i; //pulse voltage |
safuanCMS | 3:8228ff1c1999 | 57 | lcd.locate(0,1); |
safuanCMS | 3:8228ff1c1999 | 58 | lcdprintnum(aout.read()*3.3); |
safuanCMS | 3:8228ff1c1999 | 59 | lcd.printf(" V"); |
safuanCMS | 4:eda6dbfa1d1c | 60 | trigstart=1; |
safuanCMS | 4:eda6dbfa1d1c | 61 | trigstart=0; |
safuanCMS | 4:eda6dbfa1d1c | 62 | trig=1; |
safuanCMS | 4:eda6dbfa1d1c | 63 | wait(width); |
safuanCMS | 4:eda6dbfa1d1c | 64 | |
safuanCMS | 4:eda6dbfa1d1c | 65 | // readd=3.3f*aout.read(); |
safuanCMS | 4:eda6dbfa1d1c | 66 | |
safuanCMS | 4:eda6dbfa1d1c | 67 | // if(readd>highC){ |
safuanCMS | 4:eda6dbfa1d1c | 68 | // highC=readd; |
safuanCMS | 4:eda6dbfa1d1c | 69 | // } |
safuanCMS | 4:eda6dbfa1d1c | 70 | |
safuanCMS | 4:eda6dbfa1d1c | 71 | |
safuanCMS | 4:eda6dbfa1d1c | 72 | //high pulse duration ; pulse = i |
safuanCMS | 3:8228ff1c1999 | 73 | } |
safuanCMS | 3:8228ff1c1999 | 74 | aout=0; |
safuanCMS | 3:8228ff1c1999 | 75 | lcd.cls(); |
safuanCMS | 4:eda6dbfa1d1c | 76 | lcdprintnum(readd); |
safuanCMS | 4:eda6dbfa1d1c | 77 | |
safuanCMS | 4:eda6dbfa1d1c | 78 | wait(2); |
safuanCMS | 4:eda6dbfa1d1c | 79 | |
safuanCMS | 3:8228ff1c1999 | 80 | } |
safuanCMS | 3:8228ff1c1999 | 81 | } |
simon | 0:334327d1a416 | 82 | } |
safuanCMS | 3:8228ff1c1999 | 83 | |
safuanCMS | 3:8228ff1c1999 | 84 | void lcdprintnum(float number){ //to display number on lcd |
safuanCMS | 3:8228ff1c1999 | 85 | char aoutstring[10]; |
safuanCMS | 3:8228ff1c1999 | 86 | sprintf(aoutstring,"%.4f",(number)); //convert from float to string to display |
safuanCMS | 3:8228ff1c1999 | 87 | lcd.printf(aoutstring); |
safuanCMS | 3:8228ff1c1999 | 88 | } |
safuanCMS | 3:8228ff1c1999 | 89 |