arduino超声波测距LCD蜂鸣器连线和代码
时间: 2023-11-16 15:07:23 浏览: 78
以下是一个基于Arduino的超声波测距LCD蜂鸣器的连接和代码示例:
连接:
- 超声波传感器的VCC引脚连接到Arduino的5V引脚
- 超声波传感器的GND引脚连接到Arduino的GND引脚
- 超声波传感器的Trig引脚连接到Arduino的数字引脚2
- 超声波传感器的Echo引脚连接到Arduino的数字引脚3
- LCD的VCC引脚连接到Arduino的5V引脚
- LCD的GND引脚连接到Arduino的GND引脚
- LCD的SDA引脚连接到Arduino的数字引脚4
- LCD的SCL引脚连接到Arduino的数字引脚5
- 蜂鸣器的正极连接到Arduino的数字引脚6
- 蜂鸣器的负极连接到Arduino的GND引脚
代码:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); //初始化LCD
const int trigPin = 2; //定义超声波传感器的Trig引脚为数字引脚2
const int echoPin = 3; //定义超声波传感器的Echo引脚为数字引脚3
const int buzzerPin = 6; //定义蜂鸣器的数字引脚为数字引脚6
void setup() {
lcd.init(); //初始化LCD
lcd.backlight(); //打开LCD背光
pinMode(trigPin, OUTPUT); //设置Trig引脚为输出模式
pinMode(echoPin, INPUT); //设置Echo引脚为输入模式
pinMode(buzzerPin, OUTPUT); //设置蜂鸣器的数字引脚为输出模式
Serial.begin(9600); //初始化串口通信
}
void loop() {
long duration, distance; //定义duration和distance变量
digitalWrite(trigPin, LOW); //将Trig引脚设置为低电平
delayMicroseconds(2); //等待2微秒
digitalWrite(trigPin, HIGH); //将Trig引脚设置为高电平
delayMicroseconds(10); //等待10微秒
digitalWrite(trigPin, LOW); //将Trig引脚设置为低电平
duration = pulseIn(echoPin, HIGH); //读取Echo引脚的脉冲宽度
distance = duration / 58.2; //将脉冲宽度转换为距离(厘米)
lcd.setCursor(0, 0); //将光标设置到第一行第一列
lcd.print("Distance: "); //在LCD上打印“Distance: ”
lcd.print(distance); //在LCD上打印距离
lcd.print("cm"); //在LCD上打印“cm”
if (distance <= 10) { //如果距离小于等于10厘米
digitalWrite(buzzerPin, HIGH); //打开蜂鸣器
} else { //否则
digitalWrite(buzzerPin, LOW); //关闭蜂鸣器
}
delay(500); //延迟500毫秒
}