Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
国民技术_N32G45x
【N32G457 】多功能环境状态检测记录仪
发布于 2022-03-19 14:08:04 浏览:754
订阅该版
环境是我们生存的重要条件,因此对它的了解就十分的重要,例如对居住环境质量的评估、环境状态的网点检测、家居管控乃至天气的监测与预报等。反应环境状态的参数有许多,这里仅对温度、大气压强及光照强度加以检测,该作品具有较强的扩展性,对需要的功能可在此基础上加以二次开发。 为了体现检测仪的便携式特点,其显示屏为0.96寸的双色OLED屏。在外挂串口屏的情况下,通过串行通讯可实现数据曲线的绘制,在使用记录模块的情况下,可将检测数据存入TF卡,并以文件的形式加以保存,以便于后续的数据处理。 为标记数据的采集时间点,模拟设计了一个RTC计时器,并可通过按键来进行校时。 在硬件设计上,是以N32G457开发板为基础,并利用板载的3个按键来控制功能处理及参数设置。此外,为进行环境状态的检测,配有相关的功能模块来进行检测,其中BH1750模块用于检测光照强度值,是I2C接口器件;BMP085模块用于检测温度和大气压,是I2C接口器件;DHT22模块用于检测温湿度,是单总线器件。 该设计的硬件框架如图1所示, 其实物构成如图2所示。 ![1.jpg](https://oss-club.rt-thread.org/uploads/20220319/4cde285ae0b7e50c7ce52ffc4cfe464a.jpg) 图1 硬件框架 ![2.jpg](https://oss-club.rt-thread.org/uploads/20220319/a5c3ec721a3fcc36ed272fc516f555c7.jpg.webp) 图2实物构成 各功能模块的引脚使用情况为: BH1750: SCL--- PE2 SDA--- PE4 BMP085: SCL--- PE8 SDA--- PE9 DHT22: out--- PE5 OLED: SCL--- PB6(硬件I2C) SDA--- PB7 SCL--- PE1(软件I2C) SDA--- PE3 ADC1---PA1(通道2) UART1: TX1--- PA9(记录模块) RX1--- PA10 UART2: TX2--- PA2(串口屏) RX2--- PA3 在软件设计中,是按功能来划分软件模块,其中BH1750模块用于检测光照强度值;BMP085模块用于检测温度和大气压;DHT22模块用于检测温湿度;OLED屏显示模块用于检测数据的显示;按键模块用于键入处理;串行通讯模块用于数据的方式处理,以控制串口设备的功能处理,如串口屏的波形绘制,记录模块的数据记录;N32G457主程序用于控制处理的流程。 该设计的软件框架如图2所示,在按键的控制下可实现RTC计校时与传感器检测的显示切换。 ![3.jpg](https://oss-club.rt-thread.org/uploads/20220319/940096dfba97c6b23545e812277ae50e.jpg.webp) 图3 软件框架 在软件开发工具的选择上,受参赛的要求是使用RT-Thread,其实使用MDK也是十分方便的。 在设计过程中,是以功能单元进行逐个开发与测试的,最终再加以整合与调试。 各功能单元的测试效果见图4至图10所示。 在N32G457中,是以软RTC来完成计时的,实现图4所示时间更新的函数为: ``` void rtc_play(void) { time_t now; struct tm *t; now = time(RT_NULL); t=localtime(&now); if(t->tm_sec!=tp) { tp= t->tm_sec; OLED_ShowNum(20,4, t->tm_hour,2,16); OLED_ShowNum(44,4, t->tm_min,2,16); OLED_ShowNum(68,4, t->tm_sec,2,16); } } ``` ![4.jpg](https://oss-club.rt-thread.org/uploads/20220319/2470605d9c4c68bdba5527ec98a26080.jpg.webp) 图4时钟计时效果 ![5.jpg](https://oss-club.rt-thread.org/uploads/20220319/b11255f7d5d4d379442f173a3cab774f.jpg.webp) 图5 光强检测效果 ![6.jpg](https://oss-club.rt-thread.org/uploads/20220319/756ab70986453b26e88ebed02327c02a.jpg.webp) 图6温度大气压检测 ![7.jpg](https://oss-club.rt-thread.org/uploads/20220319/59f8f6f509d49240fb62c8716dc3a6ec.jpg.webp) 图7温温度检测 ![8.jpg](https://oss-club.rt-thread.org/uploads/20220319/dada3b0622b860d021b1040438fc2d5e.jpg.webp) 图8传感器检测 在使用硬件I2C驱动OLED屏时,其显示效果如图9所示,尽管它配置了多种字体但对这款OLED屏来讲还是不太贴合,若选小些的字号吧,字体太小看着费劲;换大些的字号则只能显示3行。还是使用自定义的8*16点阵的字库为好。 ![9.jpg](https://oss-club.rt-thread.org/uploads/20220324/15e093b05ff5825d71a5998605b5494b.jpg.webp) 图9模拟量检测 ![10.jpg](https://oss-club.rt-thread.org/uploads/20220324/8b634a6df277561cc5c0af9e793b61c6.jpg) 图10数据记录测试 ![11.jpg](https://oss-club.rt-thread.org/uploads/20220328/737011ba7b6c1b48ab5cabb2378d7369.jpg.webp) 图11 串口设备连接 ![12.jpg](https://oss-club.rt-thread.org/uploads/20220328/a88f1d8805a8b54c25c6ee1c09fa5e8c.jpg.webp) 图12 波形曲线绘制 在使用串口屏进行波形图的绘制时,是采用以下的指令格式: add 14,2,40 // 指令 ,对象,通道,数值 具体发送的内容为: 61 64 64 20 31 34 2C 32 2C 34 30 FF FF FF 通过UART2对指令的发送,来绘制波形图。 rt_device_write(serial2, 0, ch1, 14); rt_device_write(serial2, 0, ch2, 14); rt_device_write(serial2, 0, ch3, 14); 受时间的限制,该设计还是存在一定改善空间的,如以SD卡来记录检测的数据等,只好以串口数据记录模块来完成检测数据的文件记录功能。 视频演示效果: 1)传感器检测与功能切换: https://www.bilibili.com/video/BV16i4y1r7KS/ 2)波形绘制与记录: https://www.bilibili.com/video/BV1qS4y1N7iB/ 工程文件: [N32G457__rcjb.zip](https://oss-club.rt-thread.org/uploads/20220324/e25f11bae32e32c90bbf62a0c0973bfa.zip)
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
jinglixixi
这家伙很懒,什么也没写!
文章
2
回答
0
被采纳
0
关注TA
发私信
相关文章
1
[N32G457]移植sdio驱动后,开启sdio1系统挂掉
2
N32G457开发板使用AT组件编译出错
3
ADC采样只有0和3.3v?
4
基于N32G45X开发板建立工程失败?
5
有没有人N32G457在挂载SPI Flash上挂载文件系统成功的?
6
使用N32G457的us函数程序会卡死?
7
在程序里关闭JTAG 后,无法再次烧录程序
8
求一个N32系列QSPI驱动
9
N32G457 MPU6050软件包使用不成功
10
在N32G455 HTTP_OTA升级上,下载成功,无法跳转
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
3
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部