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灯
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本系统的目的是设计一个基于单片机的车辆防碰撞及自动刹车系统,系统通过对汽车行进过程中前后车距离的实时检测与过近声光...
- 本系列文章为作者原创,未经作者书面同意,不得转载!001.png 首先,我们来了解一下超声波,科学家们将每秒钟振动...
- 本系列文章为作者原创,未经作者书面同意,不得转载! 首先,我们来了解一下超声波,科学家们将每秒钟振动的次数称为声音...
- 1-使用元件: 0.96寸 12864 I2C OLED 128x64规格 HC-SR04-P超声波测距模块 RG...
- 37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人...