Dependents:   NHK2020-main NHK2020-main1 NHK2020_main_ros1_2_25

Committer:
naoakiarimoto
Date:
Mon Apr 04 15:29:58 2016 +0000
Revision:
0:61c786195f81
Child:
1:7e8d939ae0c9
2016.04.05 00:29

Who changed what in which revision?

UserRevisionLine numberNew contents of line
naoakiarimoto 0:61c786195f81 1 #ifndef LIBRARY_UW_H
naoakiarimoto 0:61c786195f81 2 #define LIBRARY_UW_H
naoakiarimoto 0:61c786195f81 3
naoakiarimoto 0:61c786195f81 4 #include "mbed.h"
naoakiarimoto 0:61c786195f81 5
naoakiarimoto 0:61c786195f81 6 /**
naoakiarimoto 0:61c786195f81 7 超音波センサ( Ultrasonic Distance Sensor (#28015))
naoakiarimoto 0:61c786195f81 8 */
naoakiarimoto 0:61c786195f81 9 /**
naoakiarimoto 0:61c786195f81 10 <動作確認用プログラム>
naoakiarimoto 0:61c786195f81 11 @code
naoakiarimoto 0:61c786195f81 12 #include "mbed.h"
naoakiarimoto 0:61c786195f81 13 #include "uw.h"
naoakiarimoto 0:61c786195f81 14
naoakiarimoto 0:61c786195f81 15 Uw uw1(PB_0); //'DigitalInOut' pinを宣言
naoakiarimoto 0:61c786195f81 16 DigitalOut led(LED1); //デバック用ledを宣言
naoakiarimoto 0:61c786195f81 17
naoakiarimoto 0:61c786195f81 18 int main() {
naoakiarimoto 0:61c786195f81 19 printf("start\n");
naoakiarimoto 0:61c786195f81 20 while(1) {
naoakiarimoto 0:61c786195f81 21 printf("%f\r\n",uw1.get_dist());
naoakiarimoto 0:61c786195f81 22 led = !led;
naoakiarimoto 0:61c786195f81 23 wait_ms(100);
naoakiarimoto 0:61c786195f81 24 }
naoakiarimoto 0:61c786195f81 25 }
naoakiarimoto 0:61c786195f81 26 @endcode
naoakiarimoto 0:61c786195f81 27 */
naoakiarimoto 0:61c786195f81 28 class Uw
naoakiarimoto 0:61c786195f81 29 {
naoakiarimoto 0:61c786195f81 30 private:
naoakiarimoto 0:61c786195f81 31 double dist;
naoakiarimoto 0:61c786195f81 32
naoakiarimoto 0:61c786195f81 33 protected:
naoakiarimoto 0:61c786195f81 34 DigitalInOut uw_;
naoakiarimoto 0:61c786195f81 35 Timer t;
naoakiarimoto 0:61c786195f81 36
naoakiarimoto 0:61c786195f81 37 public:
naoakiarimoto 0:61c786195f81 38 /**コンストラクタの定義
naoakiarimoto 0:61c786195f81 39 * メンバ変数の初期化を行う*/
naoakiarimoto 0:61c786195f81 40 /**通常のpin定義のように使用するpinをプログラム内で実装する前に定義する
naoakiarimoto 0:61c786195f81 41 * @param uw DigitalInOutを使用できるpinを定義する
naoakiarimoto 0:61c786195f81 42 */
naoakiarimoto 0:61c786195f81 43 Uw(PinName uw);
naoakiarimoto 0:61c786195f81 44 /**get_dist関数の定義
naoakiarimoto 0:61c786195f81 45 * 実際に超音波センサを用いて長さを測定する関数
naoakiarimoto 0:61c786195f81 46 */
naoakiarimoto 0:61c786195f81 47 /**@param rank 戻り値の単位を決定する
naoakiarimoto 0:61c786195f81 48 * @remarks 1:[mm],2:[m],その他・引数なし:[cm]
naoakiarimoto 0:61c786195f81 49 * @return 測定した距離をrankに応じた単位で返す
naoakiarimoto 0:61c786195f81 50 * @remarks 返却する値はdouble型
naoakiarimoto 0:61c786195f81 51 */
naoakiarimoto 0:61c786195f81 52
naoakiarimoto 0:61c786195f81 53 double get_dist(int rank = 0);
naoakiarimoto 0:61c786195f81 54 };
naoakiarimoto 0:61c786195f81 55
naoakiarimoto 0:61c786195f81 56
naoakiarimoto 0:61c786195f81 57 #endif