写小小实验也一段时间了,感觉现在可以通过组合小实验,拼装一些小小作品了。
就像玩积木一样,这次做的是:
纸盒超声波测距仪
组合的功能
使用HC-SR04超声波模块,用作测量传感器;
用LCD1602 和 LCD1602 I2C模块,用作做显示数据
任意门:Arduino 和LCD1602液晶屏 I2C接口实验
任意门:Arduino 和 HC-SR04 超声波传感器 测距
大概程序思路流程就是:
读取超声波传感器数据 -- 换算成CM -- 把数据显示到LCD1602上
如果觉得写得不错,又有闲余,可以支持一下
套件链接:https://item.taobao.com/item.htm?id=532904542023
实例效果
精度还是有欠缺正负3cm ,不过用于学习还是不错的
BOM表
Arduino Uno ×1
HC-SR04超声波传感器 ×1
LCD1602 ×1
LCD1602 I2C 模块 ×1
9v电池座 ×1
9V电池 ×1
跳线 若干
纸盒(二次利用,环保) ×1
接线图
程序开源代码
#include <Wire.h>
#include <LiquidCrystal_I2C.h> //注意先添加LiquidCrystal_I2C库
#define Trig 2
#define Echo 3
float cm;
float temp;
LiquidCrystal_I2C lcd(0x3F,16,2);//请确定I2C模块的正确地址
void setup() {
pinMode(Trig, OUTPUT);
pinMode(Echo, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig,HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
temp = float(pulseIn(Echo, HIGH));
cm = (temp * 17 )/1000;
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("D = ");
lcd.print(cm);
lcd.print(" cm");
lcd.setCursor(0,1);
lcd.print(" By L.L.");
delay(500);
}