您的位置:首页 > 产品设计 > UI/UE

Arduino 开源纸盒超声波测距仪

2016-05-31 14:22 465 查看
写小小实验也一段时间了,感觉现在可以通过组合小实验,拼装一些小小作品了。

就像玩积木一样,这次做的是:

纸盒超声波测距仪



组合的功能

使用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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: