关闭

Arduino 开源纸盒超声波测距仪

标签: arduino超声波测距LCD1602显示积木开源
1201人阅读 评论(1) 收藏 举报
分类:

写小小实验也一段时间了,感觉现在可以通过组合小实验,拼装一些小小作品了。

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


纸盒超声波测距仪


组合的功能

使用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);
}


2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:227510次
    • 积分:2842
    • 等级:
    • 排名:第12563名
    • 原创:77篇
    • 转载:2篇
    • 译文:0篇
    • 评论:165条
    最新评论