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

一、设计要求

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

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

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

二、硬件描述

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第1张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第2张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第3张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第4张图片

三、FPGA结构设计

1、顶层设计如下:

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

 2、内部架构如下:

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第6张图片

 四、FPGA程序设计

1、PM2.5模块设计

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第7张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第8张图片

 2、温湿度传感器设计

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第9张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第10张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第11张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第12张图片

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

3、LCD1602驱动显示

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第13张图片

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第14张图片

 五、功能展示

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第15张图片

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

基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计_第16张图片

六、总结

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

        1、uart波特率的匹配;

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

七、附录

工程源码链接如下,

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

你可能感兴趣的:(项目经验分享,fpga开发,物联网,iot)