Arduino距离显示和警报的实现

步骤1:
该项目的草图在这里给出。
i2c总线的连接性
vcc-面包板上的5v电源
trig-arduino的引脚12
echo-arduino的引脚11
gnd-面包板上的gnd
蜂鸣器的连通性
到arduino的引脚6和7
i2c的连接
gnd-面包板上的gnd
vcc-到5v电源在面包板上
sda-连接到arduino中的a4引脚
scl-连接到arduino中的a5引脚
lcd 16 x 2
如连接到i2c总线的草图1:1所示
arduino将通过usb端口连接到pc/笔记本电脑。
下一步是找出它是i2c模块的十六进制地址,以便我们与之通信。
步骤2:
可以从以下位置找到获取十六进制地址的代码:此处给出的链接
https://brainy-bits.com/tutorials/connect-a-charac 。..
之后,我们需要在主代码中使用该代码她的e
#include
#include
#include
#include
#define i2c_addr 0x27 // add your address here.
#define rs_pin 0
#define rw_pin 1
#define en_pin 2
#define backlight_pin 3
#define d4_pin 4
#define d5_pin 5
#define d6_pin 6
#define d7_pin 7
#define echo_pin 11 // arduino pin tied to echo pin on the ultrasonic sensor.
#define trigger_pin 12 // arduino pin tied to trigger pin on the ultrasonic sensor.
#define max_distance 500 // maximum distance we want to ping for (in centimeters)。 maximum sensor distance is rated at 400500cm. newping sonar(trigger_pin, echo_pin, max_distance); // newping setup of pins and maximum distance.
liquidcrystal_i2c lcd(i2c_addr,en_pin,rw_pin,rs_pin,d4_pin,d5_pin,d6_pin,d7_pin);
void setup()
{
pinmode(7,output);
pinmode(6,output);
lcd.begin (16,2); // 《《-- our lcd is a 20x4, change for your lcd if needed
// lcd backlight on
lcd.setbacklightpin(backlight_pin,positive);
lcd.setbacklight(high);
lcd.home (); // go home on lcd
lcd.print(“range finder”);
}
void loop()
{
digitalwrite(trigger_pin, high);
delaymicroseconds(1000);
digitalwrite(trigger_pin,low);
unsigned int us = sonar.ping(); // send ping, get ping time in microseconds (us)。
unsigned int dist = sonar.convert_cm(us); // convert into centimeters if(dist》=200 || dist《=0){
lcd.clear();
lcd.setcursor (0,1); // go to start of 2nd line
lcd.print(“distance:”);
lcd.setcursor (0,3); // go to start of 4th line
lcd.print(“ping: ”);
lcd.print(“out of range”);
}else if(dist 》= 0 && dist 《=50){
lcd.clear();
beepfast();
lcd.setcursor (0,1); // go to start of 2nd line
lcd.print(“distance:”);
lcd.setcursor (0,3); // go to start of 4th line
lcd.print(“ping: ”);
lcd.print(dist);
lcd.print(“ cm ”);
}
else{
lcd.clear();
silent();
lcd.print(dist);
lcd.print(“ cm ”);
}
delay(1000);
}
void beepfast(){
tone(8,440,200);
digitalwrite(7,high);
delay(50);
notone(8);
digitalwrite(7,low);
delay(300);
} void silent(){
notone(8);
digitalwrite(6,high);
delay(300);
digitalwrite(6,low);
}


OTP语音提示芯片在VR眼镜上的应用
rk3588和s922x的区别
一款基于传感器的神经网络解决方案
三大运营商在宽带业务上感受到了春寒料峭
英飞凌射频(RF)功率业务,以约3亿4500万欧元被收购
Arduino距离显示和警报的实现
Intel的5G笔记本是个什么?
学习51单片机晶振这21问题搞懂了学单片机就简单了
农贸市场实验室检测方案是干什么的?有什么?
特别报道——《中国移动:扶贫更向深处行》
ESD防护方法我出招
CS5260设计Typec转VGA方案/CS5260typec转vga方案概点及要素
智能电视设计——语音识别复杂?人机界面搞定!
行业潜规则!浅谈苹果AirPods Max包装内容
一周苹果发了两个测试版,iOS 12.3的正式版即将跟我们见面
Altium Designer智能粘贴命令的使用教程
声光节电灯的电路原理及制作
格力电器上线首款5G手机“大松5G手机”
时控开关控制LED灯的接线方法
双管反激变换器研究分析