This program is for Cansat made with BreadBoard which have pressure sensor LPS331. This program is based on http://mbed.org/users/nyamfg/code/LPS331_HelloWorld/
Diff: main.cpp
- Revision:
- 4:4c01d79dd741
- Parent:
- 3:cb51cc4a041d
- Child:
- 5:f2944e456618
- Child:
- 6:496f4e967298
--- a/main.cpp Wed Jun 18 10:35:42 2014 +0000 +++ b/main.cpp Thu Jul 24 01:10:38 2014 +0000 @@ -1,57 +1,46 @@ #include "mbed.h" #include "LPS331_I2C.h" -Serial pc(USBTX, USBRX); -LPS331_I2C lps331(p9, p10, LPS331_I2C_SA0_HIGH); - +DigitalOut myled(LED1); DigitalIn JP(p6); -DigitalOut myled1(LED1); LocalFileSystem local("local"); + Timer t; +LPS331_I2C lps331(p9, p10, LPS331_I2C_SA0_HIGH); // 気圧センサ + int main() { - pc.printf("LPS331 Test Program.\r\n"); - - if(lps331.isAvailable()) { - pc.printf("LPS331 is available!\r\n"); - } else { - pc.printf("LPS331 is unavailable!\r\n"); - } - + JP.mode(PullUp); + lps331.setResolution(LPS331_I2C_PRESSURE_AVG_512, LPS331_I2C_TEMP_AVG_128); - lps331.setDataRate(LPS331_I2C_DATARATE_7HZ); - lps331.setActive(true); + lps331.setDataRate(LPS331_I2C_DATARATE_7HZ); // 7Hz(1秒間に7回更新) + lps331.setActive(true); // 動作開始 - FILE *fp = fopen("/local/data.txt", "a"); - fprintf(fp,"**********\r\n"); + FILE *fp = fopen("/local/data.txt", "a"); // 「追記」でファイルを開く + fprintf(fp,"BBsat start. **********\r\n"); // fprintf()は、ファイルに文字を出力 fclose(fp); t.start(); - while(true) { - float pres, temp; - int ms; + while(1) { + int ms=0; // リセットからの経過時間(単位:ミリ秒(MilliSecond) + float pres=lps331.getPressure(); // 気圧 + float temp=lps331.getTemperature(); // 気温 - if(JP==0) { - break; + if(JP==0) { // JPが0(GND)だったら、 + break; //whileのループを終了 } - - FILE *fp = fopen("/local/data.txt", "a"); - pres = lps331.getPressure(); - temp = lps331.getTemperature(); - - ms = t.read_ms(); - - pc.printf( "%10d,%6.2f,%4.1f\r\n", ms, pres, temp); - fprintf(fp, "%10d,%6.2f,%4.1f\r\n", ms, pres, temp); + ms = t.read_ms(); //現在時刻を取得 + FILE *fp = fopen("/local/data.txt", "a"); + fprintf(fp, "%10d,%6.2f,%4.1f\r\n", ms, pres, temp); // 時刻,気圧,気温を出力 fclose(fp); - + + wait(0.05); // LED点滅 + myled = 1; wait(0.05); - myled1 = 1; - wait(0.05); - myled1 = 0; + myled = 0; } }