材料清单
arduino uno r3;
超声波模块;
lcd1602显示屏带转接板;
杜邦线公对母若干;
arduino数据线一根;
材料图
线的连接
arduino | 超声波 | lcd1602 |
---|---|---|
A4 | SDA | |
A5 | SCL | |
2 | Trig | |
3 | echo | |
VCC | VCC | VCC |
GND | GND | GND |
测试代码
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f,16,2); //SDA --A4,SCL -- A5
//当用了转接板以后需要查看自己lcd地址我的是0x3f,还有一种是0x27
const int TrigPin = 2;//超声波定义数字接口2,3
const int EchoPin = 3;
float cm;
void setup()
{
lcd.init(); // initialize the lcd
// 点亮LCD
lcd.backlight();
lcd. begin(16, 2);
pinMode(TrigPin, OUTPUT);
pinMode(EchoPin, INPUT);
}
void loop()
{
digitalWrite(TrigPin, LOW); //低高低电平发一个短时间脉冲去TrigPin
delayMicroseconds(2);
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
int timer=-500;
cm=pulseIn(EchoPin, HIGH)/58.0;
cm=(int (cm*100.0))/100.0;
delay(1500);
if(millis()>timer +500)
{
lcd. print ("Distancce:");
lcd. setCursor(6,1);
lcd. print (cm);
lcd. print ("cm ");
lcd. home();
timer=millis()+500;
}
}
效果图