射出(3/29用)

Dependencies:   mbed ros_lib_kinetic

Fork of NHK_kaida_ros0322_4 by ROBOSTEP4期

Committer:
Arare
Date:
Mon Apr 09 14:48:36 2018 +0000
Revision:
23:ffe4f63bee36
Parent:
0:f6fa58c56955
se

Who changed what in which revision?

UserRevisionLine numberNew contents of line
agari 0:f6fa58c56955 1 #include "uw.h"
agari 0:f6fa58c56955 2 #include "mbed.h"
agari 0:f6fa58c56955 3
agari 0:f6fa58c56955 4 Uw::Uw(PinName uw) : uw_(uw) {
agari 0:f6fa58c56955 5 dist = 0;
agari 0:f6fa58c56955 6 }
agari 0:f6fa58c56955 7
agari 0:f6fa58c56955 8 double Uw::get_dist(int rank){
agari 0:f6fa58c56955 9 double res;
agari 0:f6fa58c56955 10
agari 0:f6fa58c56955 11 uw_.output();
agari 0:f6fa58c56955 12 uw_=0;
agari 0:f6fa58c56955 13 wait_us(10);
agari 0:f6fa58c56955 14 uw_=1;
agari 0:f6fa58c56955 15 wait_us(5);
agari 0:f6fa58c56955 16 uw_=0;
agari 0:f6fa58c56955 17
agari 0:f6fa58c56955 18 uw_.input();
agari 0:f6fa58c56955 19 t.start();
agari 0:f6fa58c56955 20 while(!uw_){
agari 0:f6fa58c56955 21 t.reset();
agari 0:f6fa58c56955 22 t.start();
agari 0:f6fa58c56955 23 }
agari 0:f6fa58c56955 24 do{
agari 0:f6fa58c56955 25 res=t.read_us();
agari 0:f6fa58c56955 26 }while(uw_);
agari 0:f6fa58c56955 27 t.reset();
agari 0:f6fa58c56955 28 t.stop();
agari 0:f6fa58c56955 29
agari 0:f6fa58c56955 30
agari 0:f6fa58c56955 31 dist=(res/2)/29.1; //[cm]=[m/us]/[1/(us*100)]
agari 0:f6fa58c56955 32 // = *343.6 //[cm]=[m/us]*[us*100]
agari 0:f6fa58c56955 33
agari 0:f6fa58c56955 34 switch(rank){
agari 0:f6fa58c56955 35 case 1:
agari 0:f6fa58c56955 36 return dist*10;
agari 0:f6fa58c56955 37 case 2:
agari 0:f6fa58c56955 38 return dist*0.01;
agari 0:f6fa58c56955 39 default:
agari 0:f6fa58c56955 40 return dist;
agari 0:f6fa58c56955 41 }
agari 0:f6fa58c56955 42 }