mbed.hだけで超音波センサの制御できるかも
Dependencies: mbed
main.cpp@0:05cd466c355a, 2018-03-28 (annotated)
- Committer:
- ponpoko1939
- Date:
- Wed Mar 28 10:08:10 2018 +0000
- Revision:
- 0:05cd466c355a
var1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ponpoko1939 | 0:05cd466c355a | 1 | #include "mbed.h" |
ponpoko1939 | 0:05cd466c355a | 2 | |
ponpoko1939 | 0:05cd466c355a | 3 | DigitalOut TRIG(p7); |
ponpoko1939 | 0:05cd466c355a | 4 | DigitalIn ECHO(p8); |
ponpoko1939 | 0:05cd466c355a | 5 | Timer t; //Using timer0 |
ponpoko1939 | 0:05cd466c355a | 6 | Serial pc(USBTX,USBRX); |
ponpoko1939 | 0:05cd466c355a | 7 | |
ponpoko1939 | 0:05cd466c355a | 8 | double duration,distance; |
ponpoko1939 | 0:05cd466c355a | 9 | |
ponpoko1939 | 0:05cd466c355a | 10 | int main() { |
ponpoko1939 | 0:05cd466c355a | 11 | while(1){ |
ponpoko1939 | 0:05cd466c355a | 12 | start: |
ponpoko1939 | 0:05cd466c355a | 13 | while(ECHO == 0) { |
ponpoko1939 | 0:05cd466c355a | 14 | TRIG = 1; |
ponpoko1939 | 0:05cd466c355a | 15 | wait_us(10); |
ponpoko1939 | 0:05cd466c355a | 16 | TRIG = 0; |
ponpoko1939 | 0:05cd466c355a | 17 | wait_us(300); |
ponpoko1939 | 0:05cd466c355a | 18 | t.start(); |
ponpoko1939 | 0:05cd466c355a | 19 | } |
ponpoko1939 | 0:05cd466c355a | 20 | t.stop(); |
ponpoko1939 | 0:05cd466c355a | 21 | |
ponpoko1939 | 0:05cd466c355a | 22 | duration = t.read_us(); |
ponpoko1939 | 0:05cd466c355a | 23 | |
ponpoko1939 | 0:05cd466c355a | 24 | if(duration > 0){ |
ponpoko1939 | 0:05cd466c355a | 25 | duration = duration / 2; |
ponpoko1939 | 0:05cd466c355a | 26 | distance = duration*340*100; |
ponpoko1939 | 0:05cd466c355a | 27 | } |
ponpoko1939 | 0:05cd466c355a | 28 | else { |
ponpoko1939 | 0:05cd466c355a | 29 | pc.printf("error"); |
ponpoko1939 | 0:05cd466c355a | 30 | goto start; |
ponpoko1939 | 0:05cd466c355a | 31 | } |
ponpoko1939 | 0:05cd466c355a | 32 | pc.printf("Distance:%f\n",distance); |
ponpoko1939 | 0:05cd466c355a | 33 | } |
ponpoko1939 | 0:05cd466c355a | 34 | } |