#include <Arduino.h>
const int trigPin = 14;
const int echoPin = 12;
UART pc(16, 17, -1, -1);
float duration, distance;
void setup()
{
pinMode(trigPin, OUTPUT);//配置触发为输出
pinMode(echoPin, INPUT); // 接收为输入
pc.begin(9600);
}
void loop()
{
digitalWrite(trigPin, LOW); //先确保触发为低电平2us
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); //启动超声波触发电平
delayMicroseconds(10); // 触发持续10us
digitalWrite(trigPin, LOW); // 结束触发
duration = pulseIn(echoPin, HIGH); //等待并测量一个脉冲的时长,单位:微秒
distance = (duration * .0343) / 2; // 根据脉宽计算TOF (time of flight)
pc.print("Distance: "); //显示距离
pc.println(distance);
delay(100);
}
用Arduino编写超声波模块
最新推荐文章于 2024-07-08 15:38:12 发布