一、设计要求

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

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

  1. 基于Linux-ARM的智能家具项目(3)--语音模块与TCP网络

    前面两篇,我们介绍了工厂模式:以及工厂模式实际运用在灯上的案例,还有火灾线程,如果有遗忘的这里有传送门. 基于Linux-ARM的智能家具项目(2)-- 灯框架与火灾报警_废话少说-的博客-CSDN博 ...

  2. 毕业设计——基于STM32的智能家具控制系统(ESP-01S(8266)、手机app远程控制、远程显示温度)

    智能家具系统分为两个不同版本系列: ①系列一:手机app远程控制.远程检测温湿度显示在app,(云平台)    ---------本文章 ②系列二:语音识别控制                http ...

  3. 基于单片机的智能路灯控制系统人体感应灯光控制系统的设计与实现

    功能介绍 以51单片机作为主控系统: LCD1602液晶显示当前时间.年月日.时分秒: 按键看看有设置自动手动模式: 3路红外探头用来感应当前3个区域是否有人: 按键可以设置当前时间.开启和关闭教室灯 ...

  4. 基于FPGA的USB2.0数据传输(通过本文可以自己设计USB2.0模块)

    文章部分内容参考了相关论坛中的内容: 对文章中内容感兴趣或者有不懂的可以咨询QQ:2859340499 B站对应讲解本文视频链接 首先来说一下USB这个大家都知道的东西吧: USB通用串行总线,是应用 ...

  5. 【单片机毕业设计】【mcuclub-109】基于单片机的智能抽油烟机控制系统设计-标准版【实物设计】

    设计简介: 项目编号:mcuclub-109 项目名:基于单片机的智能抽油烟机控制系统设计 单片机:STC89C52 功能: 1.通过MQ-2烟雾传感器检测厨房内烟雾浓度,若烟雾浓度小于设定最小阈值, ...

  6. 【单片机毕业设计】【mcuclub-109】基于单片机的智能抽油烟机控制系统设计-标准版【仿真设计】

    设计简介: 项目编号:mcuclub-109 项目名:基于单片机的智能抽油烟机控制系统设计-标准版 单片机:STC89C52 功能: 1.通过MQ-2烟雾传感器检测厨房内烟雾浓度,若烟雾浓度小于设定最 ...

  7. 基于FPGA的智能PID控制器的设计与实现

    1.问题描述: PID控制器产生于1915年,PID控制律的概念最早是由LYAPIMOV提出的,到目前为止,PID控制器以及改进的PID控制器在工业控制领域里最为常见.PID控制器(比例-积分-微分控 ...

  8. 基于SpringBoot的智能运动与营养配餐软件的设计

  9. 基于FPGA的电子密码锁

    基于FPGA的电子密码锁 实现的功能: 1. 设计制作一个数字密码锁,共有8位密码,要求该密码是字母与数字的结合.输入密码由LCD显示 2. 系统上电后,8位初始密码为0000_0000. 3. 输入 ...

  10. 【毕业设计】基于stm32的智能水杯 - 恒温控制 饮水杯 单片机 物联网 嵌入式

    文章目录 0 简介 1 项目介绍 2 系统设计 3 恒温控制实现 3.1 功能描述 3.2 PID算法原理 3.2.1 P:比例 3.2.2 I:积分 3.2.3 D:微分 3.3 温控代码实现 4 ...

最新文章

  1. 计算机考试批处理试题,2015计算机三级考试pc技术模拟试题及答案(八)
  2. ZYNQ 的三种GPIO :MIO EMIO AXI_GPIO
  3. css hack *html,CSS Hack详解
  4. php读取html中元素属性,读写HTML元素的css 属性
  5. 超出网络bios会话限制_如何设置网络以防止数据丢失
  6. 炼丹知识点:模型评估里的陷阱
  7. unity中单位是米还是厘米_2019-08-22Unity中的单位长度与像素之间的关系
  8. Django连接数据库增删改查操作
  9. Ios9 html5,ios9,html5_ios9下在浏览器中通过scheme打开app的问题,ios9,html5 - phpStudy
  10. (五十六)iOS多线程之NSOperation
  11. SQL 关于apply的两种形式cross apply 和 outer apply(转)
  12. Oracle死锁解决常用方法
  13. olcd12864的u8g2库_U8G2 软件包单色1.3寸OLED屏驱动在 RT-Thread 移植问题
  14. WAV格式中常见的压缩编码
  15. 一个人学的软件测试,到底有多难?
  16. 不小心删了sxos文件夹_Switch SX OS 精简虚拟系统 教程
  17. 【HTML】人生苦短, 快卷快卷 第二课 HTML 基础
  18. 硅谷的工作狂文化在冠状病毒的压力下变化-苹果,谷歌,Facebook,LinkedIn和优步推出了新的在家工作政策
  19. 教程篇(7.0) 04. FortiGate安全 NAT ❀ Fortinet 网络安全专家 NSE 4
  20. uni.app H5(微信公众号定位) uni.getLocation

热门文章

  1. 肝一份java性能调优手册
  2. 利用vue.js实现一个砍价小程序
  3. STM32单片机简介
  4. epoll原理详解及epoll反应堆模型
  5. python snownlp了解_python中snownlp情感分析简易的demo分享
  6. 随机梯度下降算法(SGD)
  7. ISSCC上的微型计算机:体积更小、功耗更少、算力更强
  8. 移动光猫(吉比特TEWA-272G)进入高级管理界面的简单方法
  9. SQL-实现excel向下填充的功能
  10. 即拿即用-Android单线程断点下载