【转】onenet智能热水循环泵-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2701|回复: 0

【转】onenet智能热水循环泵

[复制链接]
发表于 2017-6-23 16:36 | 显示全部楼层 |阅读模式
主要是基于cortex——M3 stm32f103c8t6芯片的物联网 智能热水循环泵【大二学生,不喜勿喷undefined,大神路过求指点】为啥每次都做热水循环系统,因为此次分享,主要是为了升级去年基于51单片机以及2272模块的无线温控时控系统,51系统在工作的3个月内,参与测试的用户反应,温控对于热水泵的运行效果有些鸡肋,热水泵出水口的温度过高,18B20单测点不能科学的反映室内温度,增加测温点显然对于个体用户来说成本过大,布线麻烦(18B20走线越长,信号越弱)。齐次,2272超再生传输距离太短,虽然第二次升级改用超外差模块传输,但是距离也没改善多少,穿墙效果太差。后续有考虑到用CC1000,穿墙王,lora,等进行改善,但成本大,功耗大,而且需要成对模组,单独控制电路。果断放弃了。 此次用8266WIFI模块,将控制器的数据打包发送到云服务器,再由云服务器下发到手机,通过手机进行控制。 用到的材料:5*7的洞洞板









stm32f103c8t6最小系统板



为了做这个项目在淘宝买了8个最小系统板,结果有5个怎么也下载不进去东西,鼓捣了半天 才想到可能有写保护。第一次在淘宝买系统板遇见出厂带写保护的 浪费了半天时间解除保护
焊上数码管,蜂鸣器,继电器,按键。



测试下,可以亮。继续
温湿度测量用DTH11



wifie用esp8266模块。
硬件部分完成



下面开始移植麒麟miniv1.2 EDP的onenet源码
添加数码管驱动功能,dth11测温功能,按键功能(发现麒麟1.2版本的按键程序存在问题,并不能满足需求。自己改进了下)
GPIO接口根据自己硬件修改下后,就是主要改这个函数了,不知到源码是怎么实现单击,双击,和长按的。可能我下载到假源码了。这是我修改后的。其实就是把else语句去掉,还有无用的标志位。如果不去掉else内容  程序会在下面的按键功能函数里死掉




按键功能函数:



















可能看不清,看前面行序号,能大概知道用的switch语句,配合while死循环,来实现按键连按的。if语句加上break用了跳出死循环while(1)
数码管的源码很简单,贴一部分就不贴了,就是把温度,湿度,延时开,延时关。分开做了4个显示函数。用了显示特定状态下的模式字符。用来辨别。【数码管的动态扫描,在定时器中断里完成。】











dth11驱动源码由于时间问题就不贴了,网上有很多源码,移植过来用就好了。
程序完成后,就开始做onenet界面
l



完成。开关机时间,可以在线调整,下发到stm32。








您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:43 , Processed in 0.072450 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表