const int TrigPin = 8; //设置发射引脚为8号引脚
const int EchoPin = 9; //设置接收引脚为9号引脚
const int BuzzerPin = 7; // 设置蜂鸣器IO引脚
const int LED_R = 6; // 设置LED R灯引脚
void setup() {
Serial.begin(9600); //开启串口通讯,设置波特率为9600
pinMode(TrigPin, OUTPUT); //将发射引脚初始化为输出模式
pinMode(EchoPin, INPUT); //将接收引脚初始化为输入模式,用于接收传感器的数据
pinMode(BuzzerPin, OUTPUT);
pinMode(BuzzerPin, LED_R);
}
void loop() {
digitalWrite(TrigPin, LOW); //用低高低的电平发送脉冲给发射引脚
delayMicroseconds(2); //短暂延时,1000微妙=1毫秒
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
float timeCost = pulseIn(EchoPin, HIGH); //单位:微秒
// 声音的速度340m/s,等价于0.034cm/us
float distance = timeCost * 0.034 / 2; //计算距离(单位:cm),声音是往返,所以除以2
Serial.print(distance); //距离
Serial.print("cm"); //单位
Serial.println(); //回车
//如果距离大于50cm,就触发蜂鸣器
if (distance > 50) {
digitalWrite(BuzzerPin, HIGH);
} else {
digitalWrite(BuzzerPin, LOW);
}
//如果距离大于50cm,就亮红灯
if (distance > 50) {
digitalWrite(LED_R, 100);
} else {
digitalWrite(LED_R, LOW);
}
delay(1000);
}
Arduino程序,超声波测距,超出距离触发蜂鸣器和LED灯
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 本系统的目的是设计一个基于单片机的车辆防碰撞及自动刹车系统,系统通过对汽车行进过程中前后车距离的实时检测与过近声光...
- 本系列文章为作者原创,未经作者书面同意,不得转载!001.png 首先,我们来了解一下超声波,科学家们将每秒钟振动...
- 本系列文章为作者原创,未经作者书面同意,不得转载! 首先,我们来了解一下超声波,科学家们将每秒钟振动的次数称为声音...
- 1-使用元件: 0.96寸 12864 I2C OLED 128x64规格 HC-SR04-P超声波测距模块 RG...
- 37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人...