2019-7-25 19:10:18 [显示全部楼层]
32094浏览
查看: 32094|回复: 17

[教程] 【Mind+】Arduino Uno入门 项目十二 超声波测距仪

[复制链接]
【Mind+】Arduino Uno入门 项目十二 超声波测距仪
-DFRobot官方出品


*学习目标:

1. 元件
     超声波测距仪, 液晶显示模块
2Mind+ 程序模块
      设置distance的值
      读取超声波传感器距离
      IIC液晶显示屏显示
3程序设计
      顺序结构
      循环结构
   
      在上一个电子琴任务中,我们通过距离的变化,控制琴的音高。相应地,我们也能通过音高的变化,大致感受手与元件的距离。不过,我们能不能直接看到距离是多少呢?怎样把测得的数字显示出来呢?
     此时就需要一个液晶显示屏了。

【Mind+】Arduino Uno入门 项目十二 超声波测距仪图1
液晶显示模块:
  • 每行 16 个字符,共 2
  • 若出现乱码,可在每次输出之前清屏

【Mind+】Arduino Uno入门 项目十二 超声波测距仪图2
【Mind+】Arduino Uno入门 项目十二 超声波测距仪图3
本节任务
任务 1——制作一个超声波测距仪,并在屏幕上显示距离
1硬件连接
  • 取出一个超声波测距模块,用连接线按第十一课的连接方式相连
  • 取出一个液晶显示模块,用连接线按下图所示的连接方式相连

【Mind+】Arduino Uno入门 项目十二 超声波测距仪图4
【Mind+】Arduino Uno入门 项目十二 超声波测距仪图5
2.程序编写
【Mind+】Arduino Uno入门 项目十二 超声波测距仪图6

TED007  学徒

发表于 2020-10-8 07:07:24

程序中是否应该初始化显示器
回复

使用道具 举报

爱因思考  学徒

发表于 2020-12-24 14:11:59

源程序在哪里 ,在哪里下载啊
回复

使用道具 举报

piaoxuedti  学徒

发表于 2021-5-10 22:08:35

这个程序需要少一步,需要先扫描i2c的地址。否则可能显示不出来。
回复

使用道具 举报

purple2021  学徒

发表于 2021-5-21 11:07:53

piaoxuedti 发表于 2021-5-10 22:08
这个程序需要少一步,需要先扫描i2c的地址。否则可能显示不出来。

请问如何扫描地址?
回复

使用道具 举报

piaoxuedti  学徒

发表于 2021-6-2 15:40:17

purple2021 发表于 2021-5-21 11:07
请问如何扫描地址?

i2c里有这个命令
回复

使用道具 举报

AQIjklSCrulU  学徒

发表于 2021-10-30 23:09:39


初始化就是第一个模块吗?但是还是不显示
回复

使用道具 举报

顾什三  学徒

发表于 2021-12-4 13:22:51

我是小白,完全没头绪怎么办
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2022-1-5 11:45:26

顾什三 发表于 2021-12-4 13:22
我是小白,完全没头绪怎么办

那就从项目一开始学吧,可以零基础入门的
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-1-18 22:47:08

感谢分享!
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-1-29 09:59:25

应该要初始化,或者用oled屏。
回复

使用道具 举报

cpzx268  学徒

发表于 2022-3-19 19:17:06

AQIjklSCrulU 发表于 2021-10-30 23:09
初始化就是第一个模块吗?但是还是不显示

我也遇到同样问题,用的是Mind+1.7.1RC2软件编程
回复

使用道具 举报

佐小帅  学徒

发表于 2022-5-4 16:31:27

请问怎么初始化地址?
回复

使用道具 举报

佐小帅  学徒

发表于 2022-5-4 16:36:09

AQIjklSCrulU 发表于 2021-10-30 23:09
初始化就是第一个模块吗?但是还是不显示

就是不显示,是要改参数吗?
回复

使用道具 举报

EVE  高级技匠
 楼主|

发表于 2022-6-16 17:13:11

佐小帅 发表于 2022-5-4 16:36
就是不显示,是要改参数吗?

直接拖动初始化模块,不需要改参数
回复

使用道具 举报

Forgotten  版主

发表于 2022-8-9 12:16:15

TED007 发表于 2020-10-8 07:07
程序中是否应该初始化显示器


如果不加初始化积木,那么会自动生成初始化的代码,默认地址是0x20。
【Mind+】Arduino Uno入门 项目十二 超声波测距仪图1

所以如果你用的lcd屏幕地址是0x20就可以不加初始化,例如这款屏幕: I2C LCD1602液晶模块(兼容Arduino

如果用的不是0x20的lcd1602屏,就可以加上初始化积木,填上你的地址:
【Mind+】Arduino Uno入门 项目十二 超声波测距仪图2
如果不知道你的地址,可以用扩展功能里面的i2c地址扫描功能把地址串口打印出来看一下,参考这个教程:[求助问答]I2C LCD1602液晶显示屏无法显示怎么解决?
回复

使用道具 举报

guiyuan  中级技师

发表于 2023-4-6 21:44:25

通过“扩展”-“功能”下面的地址扫描,知道液晶屏幕的起始地址,如图所示,在串口输出地址,然后再在初始化地址那里把地址填入即可
ThuApril-202304065346..png
回复

使用道具 举报

guiyuan  中级技师

发表于 2023-4-6 22:01:35

第二个实验也有同样的问题,需要初始化液晶显示屏的地址。如果你的液晶显示屏的地址不知道,可以参考前一个图片读取设备地址
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail