发作品签到
专业版

#第九届立创电赛#GD32E230C8与SHT40温湿度传感器

工程标签

426
0
0
1

简介

本次学习目标:GD32E230的RT-thread使用,SHT40使用,蜂鸣器,屏幕 摸鱼不可怕,可怕的是摸的心安理得

简介:本次学习目标:GD32E230的RT-thread使用,SHT40使用,蜂鸣器,屏幕 摸鱼不可怕,可怕的是摸的心安理得

开源协议

GPL 3.0

创建时间:2024-07-05 19:13:47更新时间:2024-08-05 18:32:30

描述

* 1、项目功能介绍


感觉不如小米温湿度计2(X

想象中的效果图是下面这样的

实际因为先天鸽子体质发作,没还写屏幕UI,实际是下图所示。但起码也算是完成一半了(心虚

*2、项目属性


学习通途大于实际用途

所以我把这当成笔记来写

*5、硬件与软件部分


这里讲解一下板子到手后怎么处理

1.先焊接电源相关电路

以作者项目原理图为例,如下图所示,焊接这两部分后,确认5V与GND、3.3V与GND之间不短路LED灯亮表示电源一切正常。

2.焊接MCU相关电路

确认MCU及其周围电路正常,代码里写一个让LED1(PB2)灯1Hz频率闪烁来证明MCU一切正常(老点灯大师了

3.挨个确认外设正常

这里确认外设不分先后,都可以

3.1蜂鸣器这外围电路最简单

这里需要先查看这种蜂鸣器的规格书,如下图,点开规格书后,翻到第4页,从下图可以知道4KHz频率左右蜂鸣器声音最大

用4KHz,占空比50%的PWM,确认蜂鸣器能否正常工作。下图R7电阻是保证MCU没工作前,mos管是关断状态。经测试(马虎)蜂鸣器长时间通电,会发烫

后续可以更改PWM的频率,找个一个听起来较舒服的声音当作提示音。

3.2SHT40电路

这一部分硬件电路很简单,难的是软件I2C外设部分

老样子,和蜂鸣器一样右键SHT40元器件,打开规格书,第十页的指令表,这里不急着直接用0xFD指令开始读温湿度,因为你无法确定SHT40芯片的好坏,如果数据异常,会让你排查到怀疑人生

先用0x89指令读取芯片的序列号,目的有两个:1.确认i2c能正常通信,SHT40芯片是正常能用的

下图是作者用串口打印出0x89指令下SHT40的返回值:0x12 0x29 0x38 0x3c 0x6e 0x23

如何确认数据是正常的呢?是的,我们可以根据规格书第九页下图的CRC校验码来确认

根据上图的CRC规格,填写算法,然后根据examples里的(0xbe 0xef)=0x92来确定我们的CRC算法设置对了

最后根据0x86指令读出来的数据进行CRC确认就可以知道芯片是否正常工作

(作者的吐槽:CRC校验只是校验前两位数据,并不包含地址和指令,让作者折腾了一阵)

最后就可以愉快的温湿度了,以小米温湿度计2做参考,误差还可以(因为不知道哪个误差更大233

one mroe:最后的最后,0xFD指令是让SHT40温湿度以最高时长读温湿度,所以在发送完0xFD指令后,需要至少等8.2ms毫秒后在读数据(第八页)

还有一件事:SHT40的I2C数据协议和eeprom的AT24C02一样,不懂的可以查一下,代码可以直接参考野火的AT24C02例程,小改一下就可以了。

未完结(指屏幕还没写),撒花(想鸽)

 

 

 

 

 

 

 

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
暂无数据
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航