Atsumi Toda / Mbed 2 deprecated Power_meter_1

Dependencies:   SDFileSystem mbed

Files at this revision

API Documentation at this revision

Comitter:
Joeatsumi
Date:
Thu Aug 17 09:03:15 2017 +0000
Commit message:
test

Changed in this revision

SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 5d1752467f09 SDFileSystem.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Thu Aug 17 09:03:15 2017 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/mbed_official/code/SDFileSystem/#8db0d3b02cec
diff -r 000000000000 -r 5d1752467f09 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Aug 17 09:03:15 2017 +0000
@@ -0,0 +1,87 @@
+//本番,TFで作動させたプログラム//
+//製作者 S-240執行代__戸田純實_(あだ名Joe Backer)//
+
+#include "mbed.h"
+#include "SDFileSystem.h"
+#define P_HI 1000
+#define P_LO 120 
+AnalogIn analog9(dp9);
+AnalogIn analog10(dp10);
+DigitalOut myled1(LED1);
+Timer Time ; 
+Ticker sd_write ;
+
+int i;
+unsigned long beforeTime = 0;
+unsigned long elapsedTime = 0;
+unsigned long nowTime = 0;
+int flagHi = 0 ;
+int rpm = 0 ;
+double vin = 0 ;
+double vin_center = 0 ;
+double power =0; //
+double t =0;
+Serial pc(dp16,dp15);
+
+void SD(){
+    __disable_irq();//この関数を最優先に割り込みする。
+     myled1 = 0 ;
+     SDFileSystem sd(dp2,dp1,dp6,dp13,"sd");
+     mkdir("/sd/mydir", 0777);
+    FILE *fp = fopen("/sd/mydir/power.csv", "a");
+     if(fp == NULL){
+        error("Could not open file for write\n");
+        myled1 = 0 ;
+        }
+        else{
+            myled1 = 1 ;
+            fprintf(fp,"%d,%d,%.2f,%.2f\r\n",nowTime,rpm,vin,vin_center);
+            }
+            fclose(fp);
+            free(fp);
+    __enable_irq();
+        }//割り込み終了
+
+int main(){
+                                                            
+            
+    //==========初期電圧のドリフトを押さえる=========//
+         for(i=0;i<10;i++){
+             vin_center= vin_center + analog9.read()*3.3;
+    wait(0.01);
+   }
+  
+     vin_center=vin_center/10;
+    //==========================================//                                                
+                                                            
+                                                            
+    Time.start();
+    sd_write.attach(&SD,1);//壱秒ごとにSDという関数を発動し、割り込みする。
+    while(1){
+        
+        
+        vin = analog9.read() * 3.3 ;
+        
+        
+        //回転数計算
+      //  __disable_irq();
+        nowTime = Time.read_ms();
+        
+        if(analog10 >= 0.5 && flagHi == 0){//パルスHi
+         pc.printf("%d\r\n",rpm);
+         elapsedTime = nowTime - beforeTime;//前回パルスアップからの経過時間
+           rpm = 60000 / elapsedTime ;
+    beforeTime = Time.read_ms();//今の時間を記録する
+    flagHi = 1;
+  }
+  if (analog10 <0.5 && flagHi == 1){//パルスLow
+    flagHi = 0;
+  }
+  if(nowTime - beforeTime>6000){
+    elapsedTime=0;
+  }
+  //__enable_irq();
+   wait(0.01);     
+        }
+}
+
diff -r 000000000000 -r 5d1752467f09 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Aug 17 09:03:15 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/176b8275d35d
\ No newline at end of file