基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计

一、设计要求

1、使用FPGA完成PM2.5传感器的驱动;

2、使用FPGA完成温湿度传感器的驱动;

3、获取PM2.5的数据以及温湿度传感器的数据,在液晶1602上完成实时的显示;

二、硬件描述

1、FPGA使用带有普通IO的开发板,本次设计开发板如下图所示。开发板能够输出5V供电,便于给传感器供电;能够有专门的液晶接口;鉴于囊中羞涩,在这儿我是用的液晶是LCD1602液晶显示模块。

2、PM2.5传感器采用的是ZPH02 粉尘传感器,实物图如下,某宝就能够买到。该传感器的采用uart串口协议就能够驱动,电平TTL。大家在使用开发板进行开发时,一定要确定FPGA的IO电平属性。

3、温湿度传感器使用的是DL10-MTTL-V05-S1使,实物图如下,数据传输协议为uart协议,电平TTL。选择传感器的时候要结合开发板的引出的IO管脚电平进行选择。

4、液晶模块使用lcd1602带字库的液晶模块,实物图如下,

三、FPGA结构设计

1、顶层设计如下:

 2、内部架构如下:

主要包含三个模块,lcd1602显示模块,PM2.5驱动模块,温湿度传感器驱动模块;

 四、FPGA程序设计

1、PM2.5模块设计

 1、根据PM2.5传感器的数据传输协议,以及工作原理可知,FPGA只需要通过串口进行传感器的数据接收即可,不需要发送制定的指令给PM2.5传感器,因为传感器会间隔1秒主动发送一帧数据信息出来,FPGA只需要接收即可,波特率默认9600,很简单的传感器哈。

 2、FPGA接收数据的处理部分代码如下,由通讯命令格式,将接收到的数据取第3、4个字节即可,

 2、温湿度传感器设计

1、温湿度传感器默认参数如下,

 温湿度数据获取命令如下图,

2、FPGA指令发送实现部分,如下图,

 3、FPGA数据接受处理部分,如下图,第3、4字节为温度值,第5、6字节为湿度值。

 在显示的时候将数据划分开。

3、LCD1602驱动显示

1、LCD1602这个液晶很常用,在这儿就不详细说明了,有疑问请参见下方源码。 

 五、功能展示

1、下图液晶显示PM2.5的值为0.5%,室温25.6℃,湿度68.2%。

使用打火机靠近,温度有提升至30.6℃。 

六、总结

        该系统较为基础,需要注意的地方有如下几点:

        1、uart波特率的匹配;

        2、传感器的电平属性一定要和FPGA开发板的IO匹配,选型期间一定要注意。

七、附录

工程源码链接如下,

     https://download.csdn.net/download/FDL_AQ/85291940https://download.csdn.net/download/FDL_AQ/85291940   

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿Q在学FPGA (WX-FD0427)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值