Record SPS30 in SD
Dependencies: mbed SPS30 SDFileSystem
main.cpp@0:89ada12b9a15, 2021-01-29 (annotated)
- Committer:
- imadaemi
- Date:
- Fri Jan 29 03:58:04 2021 +0000
- Revision:
- 0:89ada12b9a15
Record SPS30 in SD
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
imadaemi | 0:89ada12b9a15 | 1 | //21.01.06_0しか出ないけど,動作確認済み |
imadaemi | 0:89ada12b9a15 | 2 | //21.01.20_値がでるようになった.動作確認済み |
imadaemi | 0:89ada12b9a15 | 3 | //21.01.28_SDと統合 |
imadaemi | 0:89ada12b9a15 | 4 | |
imadaemi | 0:89ada12b9a15 | 5 | //自動ファンクリーニングは毎回すること |
imadaemi | 0:89ada12b9a15 | 6 | //起動後,有効な値がとれるまでの待機時間が必要 |
imadaemi | 0:89ada12b9a15 | 7 | //サンプリング間隔は1sごと |
imadaemi | 0:89ada12b9a15 | 8 | |
imadaemi | 0:89ada12b9a15 | 9 | #include "mbed.h" |
imadaemi | 0:89ada12b9a15 | 10 | #include "sps30.h" |
imadaemi | 0:89ada12b9a15 | 11 | #include "SDFileSystem.h" |
imadaemi | 0:89ada12b9a15 | 12 | |
imadaemi | 0:89ada12b9a15 | 13 | Serial pc(USBTX, USBRX, 115200); |
imadaemi | 0:89ada12b9a15 | 14 | Sps30 sps(D4, D5, 100000); |
imadaemi | 0:89ada12b9a15 | 15 | //SDFileSystem sd_file_system(A6,A5,A4,A3,"sd"); |
imadaemi | 0:89ada12b9a15 | 16 | SDFileSystem sd_file_system(D11,D12,D13,D10,"sd"); |
imadaemi | 0:89ada12b9a15 | 17 | |
imadaemi | 0:89ada12b9a15 | 18 | int main(){ |
imadaemi | 0:89ada12b9a15 | 19 | pc.printf("Hello PC!\r\n"); |
imadaemi | 0:89ada12b9a15 | 20 | |
imadaemi | 0:89ada12b9a15 | 21 | /*****SD準備******************/ |
imadaemi | 0:89ada12b9a15 | 22 | |
imadaemi | 0:89ada12b9a15 | 23 | mkdir("/sd/mydir", 0777); |
imadaemi | 0:89ada12b9a15 | 24 | |
imadaemi | 0:89ada12b9a15 | 25 | FILE *fp = fopen("/sd/mydir/spstest.txt", "w"); |
imadaemi | 0:89ada12b9a15 | 26 | if(fp == NULL) { |
imadaemi | 0:89ada12b9a15 | 27 | error("Could not open file for write\r\n"); |
imadaemi | 0:89ada12b9a15 | 28 | } |
imadaemi | 0:89ada12b9a15 | 29 | |
imadaemi | 0:89ada12b9a15 | 30 | /*****初期設定*****************/ |
imadaemi | 0:89ada12b9a15 | 31 | while(1){ |
imadaemi | 0:89ada12b9a15 | 32 | wait(1.0f); |
imadaemi | 0:89ada12b9a15 | 33 | // pc.printf("%d\r\n",sps.InitSPS30()); |
imadaemi | 0:89ada12b9a15 | 34 | if(sps.InitSPS30() == 1){ |
imadaemi | 0:89ada12b9a15 | 35 | pc.printf("SPS30 is Ready!!\r\n"); |
imadaemi | 0:89ada12b9a15 | 36 | break; |
imadaemi | 0:89ada12b9a15 | 37 | }else{ |
imadaemi | 0:89ada12b9a15 | 38 | pc.printf("waiting...\r\n"); |
imadaemi | 0:89ada12b9a15 | 39 | pc.printf("%d\r\n", sps.InitSPS30()); |
imadaemi | 0:89ada12b9a15 | 40 | } |
imadaemi | 0:89ada12b9a15 | 41 | } |
imadaemi | 0:89ada12b9a15 | 42 | |
imadaemi | 0:89ada12b9a15 | 43 | /*****手動ファンクリーニング*****//*****注:毎回すること!!!*******/ |
imadaemi | 0:89ada12b9a15 | 44 | /* |
imadaemi | 0:89ada12b9a15 | 45 | sps.StartFanClean(); |
imadaemi | 0:89ada12b9a15 | 46 | pc.printf("Fan Cleaning!\r\n"); |
imadaemi | 0:89ada12b9a15 | 47 | */ |
imadaemi | 0:89ada12b9a15 | 48 | |
imadaemi | 0:89ada12b9a15 | 49 | /*****計測*********************/ |
imadaemi | 0:89ada12b9a15 | 50 | while(1){ |
imadaemi | 0:89ada12b9a15 | 51 | wait(1.0f);//サンプリング間隔は1sごと |
imadaemi | 0:89ada12b9a15 | 52 | if(sps.PollSPS30() == 3){ |
imadaemi | 0:89ada12b9a15 | 53 | pc.printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", sps.mass_1p0_f, sps.mass_2p5_f, sps.mass_4p0_f, sps.mass_10p0_f, sps.num_0p5_f, sps.num_1p0_f, sps.num_2p5_f, sps.num_4p0_f, sps.num_10p0_f, sps.typ_pm_size_f); |
imadaemi | 0:89ada12b9a15 | 54 | fprintf(fp, "%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", sps.mass_1p0_f, sps.mass_2p5_f, sps.mass_4p0_f, sps.mass_10p0_f, sps.num_0p5_f, sps.num_1p0_f, sps.num_2p5_f, sps.num_4p0_f, sps.num_10p0_f, sps.typ_pm_size_f); |
imadaemi | 0:89ada12b9a15 | 55 | |
imadaemi | 0:89ada12b9a15 | 56 | }else{ |
imadaemi | 0:89ada12b9a15 | 57 | pc.printf("%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); |
imadaemi | 0:89ada12b9a15 | 58 | fprintf(fp, "%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t\r\n", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); |
imadaemi | 0:89ada12b9a15 | 59 | } |
imadaemi | 0:89ada12b9a15 | 60 | } |
imadaemi | 0:89ada12b9a15 | 61 | fclose(fp); |
imadaemi | 0:89ada12b9a15 | 62 | } |