mbed.hだけで超音波センサの制御できるかも

Dependencies:   mbed

Committer:
ponpoko1939
Date:
Wed Mar 28 10:08:10 2018 +0000
Revision:
0:05cd466c355a
var1

Who changed what in which revision?

UserRevisionLine numberNew 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 }