射出(3/29用)
Dependencies: mbed ros_lib_kinetic
Fork of NHK_kaida_ros0322_4 by
uw.cpp@23:ffe4f63bee36, 2018-04-09 (annotated)
- Committer:
- Arare
- Date:
- Mon Apr 09 14:48:36 2018 +0000
- Revision:
- 23:ffe4f63bee36
- Parent:
- 0:f6fa58c56955
se
Who changed what in which revision?
User | Revision | Line number | New 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 | } |