a

Revision:
0:fec7088c8dcb
Child:
1:ac45a449d413
diff -r 000000000000 -r fec7088c8dcb us015.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/us015.h	Sat Sep 09 00:47:13 2017 +0000
@@ -0,0 +1,39 @@
+#ifndef __US015_H
+#define __US015_H
+
+#include "mbed.h"
+
+//====================================
+// define定義
+//====================================
+#define US015_TRIGER_ON             1    // トリガーON
+#define US015_TRIGER_OFF            0    // トリガーOFF
+#define US015_TRIGER_PALUSE_WIDTH   10   // トリガーの幅
+#define US015_PERIODIC_TRIGER 100000    // 音響測距トリガー
+#define SOUND_OF_SPEED  0.340           // 音速[mm/us]
+
+
+//====================================
+// 音響測距センサ(US015)の制御クラス
+//====================================
+class US015
+{
+    public:
+        US015(PinName trg, PinName ech);
+        US015(PinName trg, PinName ech, float tkTime);
+        float GetDistance();
+        
+    private:
+        DigitalOut _trigerOut;                  // U015トリガー出力
+        InterruptIn _interruptEcho;             // U015エコー入力
+        Timer timer;                            // 時間計測用のタイマ
+        Ticker tk;                              // 周期処理用のチッカー
+        float tmBegin;                          // エコーの立ち上がり時間
+        float tmEnd;                            // エコーの立ち下がり時間
+        float distance;                         // 距離測定
+        void EchoFall();                        // エコーの立ち下がり処理
+        void EchoRise();                        // エコーの立ち上がり処理
+        void TrigerOut();                       // トリガー出力
+};
+
+#endif
\ No newline at end of file