所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
Arduino轻松学Mixly编程第9课 超声波测距仪
ASH腻 ASH腻 2019-04-28 14:32:35
1
0
简单

Arduino轻松学Lesson 9 超声波测距仪 

1. 课程简介

本节课以超声波测距仪为例,为大家讲解超声波测距的原理及基于IIC通讯协议的LCD液晶屏的使用。本节课所需硬件:Arduino UNO、IO扩展板、LCD显示器、超声波测距模块

projectImage


2. 本节知识点设备初始化LCD液晶显示器使用*脉冲宽度检测


3. Mixly模块初始化

projectImage

模块位置:“控制”栏模块功能:初始化设备及变量。该模块对应的Arduino程序的setup()函数,该函数内的命令在设备通电启动后仅执行一次,所以通常在此函数内进行设备初始化、串口通讯频率、端口模式等设定操作。变量声明虽然可以放到该模块内,但在实际的Arduino代码,变量声明语句并不在setup()函数内。具体内容会在慕课最后一节中讲解。


LCD初始化

projectImage

模块位置:“显示器”栏模块功能:设定显示器类型,初始化LCD,建立IIC通讯。1602:课程套件中所用的显示器类型,两行显示,每行16个字符。除此之外还有2004型,即4行显示,每行20字符。ArduinoUNO板的时钟总线为A5端口,数据总线为A4端口,不可更改。0x20为课程所用套件的LCD液晶屏IIC地址,第三方的IIC协议LCD液晶屏地址默认为0x27,可以通过短接屏幕背面接口板上的A0、A1、A2接口调整IIC地址。


液晶显示屏功能设置

projectImage

模块位置:“显示器”栏模块功能:设置液晶显示屏的功能,如屏幕开、关、光标显示、背光闪烁、清屏等操作。


液晶屏内容显示

projectImage

模块位置:“显示器”栏模块作用:设定显示的内容及内容首字母的行、列位置。行数自下而上数,列数为自左向右数。               


超声波测距

projectImage

模块位置:“传感器”栏模块功能:测量超声波测距模块返回的脉冲长度信号并换算成对应距离。


文本连字符

projectImage

模块位置:“文本”栏模块功能:将左右两侧的字符串连接成一个字符串。Distance为浮点型(Mixly中描述为小数类型)变量,转变为字符串,转换后的结果无法直接进行数字运算。即数字5≠字符5,符号相同,意义不同。


*脉冲宽度检测

projectImage

所处位置:“输入输出”栏模块作用:检测对应管脚返回高电平的持续时间。


4. 程序及流程图程序图

projectImage


流程图

projectImage


5.关联知识讲解IIC协议

IIC是飞利浦公司研发的一种总线通讯协议,每条IIC总线上有一台主机,7位寻址IIC总线的最多可以同时接入127台从机,设备各自对应独立的地址信息。主机与从机通过时钟总线和数据总线通信。Arduino UNO板的时钟总线为A5端口,数据总线为A4端口,不可更改。

超声波测距原理

套件中所使用的HC-SR04超声波测距模块可提供2cm-400cm的距离感测,测距精度可达3mm。测量过程首先向Trig端口输入持续时间10μs的高电平信号,随后拉低电平信号,测距模块会发出1组8个40KHz的脉冲信号,脉冲信号遇到障碍物后反弹,测距模块一旦接受到返回的信号,则会在Echo端口输出长度与所测距离成正比的脉冲信号,我们通过脉冲长度检测获取到信号长度,乘以声速再除以2,即可得到距离数值。

projectImage


distance=time×340m/s÷2


*脉冲宽度检测按照上述的测距流程,程序中的距离测量也可用右侧的程序实现。两者等效。

projectImage


6.课堂练习

结合纸模,制作一个测距仪。


7.作业及挑战

由于显示频率,课程中的案例闪烁过快,如何实现如下稳定显示效果?完成程序并上传程序截图及效果视频。

课程简介
《Arduino轻松学》是科技学堂制作的在线系列创客教学视频之一。《轻松学》是一套Arduino开发的基础入门课程,适合还没有过硬件开发和编程经验的人群做入门学习使用。本课程中,每节课带你制作一个趣味小项目,在学到技术的同时,也开动想象发挥创造。

课程案例

《轻松学》课程中使用非常适合初学者的DFRobot的米思齐(Mixly)编程积木入门套装,软件选用图形化编程的Mixly。课程以视频+图文的呈现形式,深入浅出。既有操作演示,又方便学习者自主观看查询,轻松完成Arduino的入门学习。


下一课:Arduino轻松学Lesson10 红外报警装置

Makelog作者原创文章,未经授权禁止转载。
1
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]