打印
[STM8]

多功能传感器表

[复制链接]
1345|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 秉烛良宵 于 2017-7-30 13:41 编辑

前两天找器件时,发现有一个湿度传感器模块,记得这个模块价格挺高的,放着也是浪费,何不拿来玩呢?仔细看下发现上面有一个TO-92封装的位置,这个刚好可以安装DS18B20。接着想想要用什么显示屏和上面单片机呢?数码管电路焊接麻烦,简单的还是5110。手头上有以前做充电器项目剩下的控制板,用的单片机是STM8L152C6。焊接电路完成后感觉这么好的一片单片机只用这点功能太浪费了,不然再搞点东西上去,在一个盒子里找到了N年前买的线性霍尔传感器。好吧,也把这个加上。本来还想加个光敏电阻可以做亮度测量,考虑到线性度不好,程序处理麻烦所以打消了这个想法。预计整个制作时间是一个下午加一个晚上的,而时间却花了两天时间才完成。第一个耗时的是取模,因为嫌弃取模软件生成的字体,所以都是自己手动点出来的。第二个耗时的是DS18B20的调试。DS18B20复位一直没反应,首先要怀疑的是不是错了,测量了下湿度传感器模块预留的TO-92封装引脚,果真和DS18B20不对应,赶紧拆卸重新焊。再次调试还是复位后没有收到低电平,仔细看代码发现自己犯了一个SB错误,DS18B20是移植51的,而STM8的IO是要设置方向的,然而改正后还是不行,当时都快怀疑是不是18B20已经坏了,用示波器看下是什么情况,一看才发现IO口输出0时DS18B20的数据口有2.5V电平,一检查是电源接错地方了(难怪湿度传感器一直都是100%),改完电源后复位终于有反应了,复位有反应但是却死在了读取数据的地方,这是什么情况?仿真参看变量发现GPIO_ReadInputDataBit(T_DQ_PROT,T_DQ_PIN);这个函数读出来的并不是0和1,而是0和0x40(T_DQ_PIN为第6脚)。这个问题在移植程序时还真没想到。经过这么多的折腾,终于看到了温度值。下面看下折腾完的结果吧。


湿度传感器是HS1101,刚查了下大概是7元,但是整个模块估计要20元。


线性霍尔传感器49E,焊接完后的引脚部分用黑色热熔胶包裹(电源有焊个小电容滤波)。


用螺丝刀靠近可以看到磁感应强度值,单位是高斯。最大能达到1500高斯。


螺丝刀靠近另一面,显示的是负值。



请忽视背面

源代码在下面:
Source.zip (15.19 KB)



沙发
feelhyq| | 2017-7-30 13:44 | 只看该作者
666666666

使用特权

评论回复
板凳
mintspring| | 2017-7-30 21:44 | 只看该作者
那一坨是什么神奇的东西。

使用特权

评论回复
地板
mintspring| | 2017-7-30 21:44 | 只看该作者
楼主折腾的真给力。

使用特权

评论回复
5
LRP103981836| | 2017-9-20 08:53 | 只看该作者
没看到图片!!!

使用特权

评论回复
6
sopc12| | 2017-11-24 08:51 | 只看该作者
够折腾的了

使用特权

评论回复
7
戈卫东| | 2017-11-24 10:26 | 只看该作者
你的TO92和他的图是相反的。。。。。。。

使用特权

评论回复
8
秉烛良宵|  楼主 | 2017-11-25 09:57 | 只看该作者
戈卫东 发表于 2017-11-24 10:26
你的TO92和他的图是相反的。。。。。。。

是的,差点烧了,按丝印焊上去突然感觉一种不一样的味道。

使用特权

评论回复
9
shower72| | 2017-12-15 23:50 | 只看该作者
生命不止,折腾不止

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

163

帖子

7

粉丝