not yet completed

Dependencies:   FatFileSystem MSCFileSystem TextLCD mbed

Fork of TextLCD_HelloWorld by Simon Ford

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?

UserRevisionLine numberNew 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