
#第五届立创电子设计大赛#云浙智能家居-物联网孵化器
简介
简介:开源协议
:CC-BY-NC-SA 3.0
描述
注:*为必填项。
【请在报名阶段填写 ↓】
* 1、自我/团队介绍
本人的一名自学成才的嵌入式工程师,在多家公司担任过技术leader,主要从事安防、物联网相关行业。是一名有创造力、有毅力的极客哦~
- 2019年期间在家自学了前端、后台、桌面、linux、python等开发知识,成立了云浙创新团队,实现了云浙智能家居项目,没错,目前团队只有我一个人,哈哈哈~
- 这是我的个人网站云浙创新。
* 2、简要介绍项目
(1)这是智能家居系统的一部分,其作用是物联网孵化家禽;
- (2)由于单篇内容字数限制,所以分成了多个项目,具体如下
- 该智能家居是个人完成,在设计和开发过程中或有不完善之处。
- 讨论项目可扫二维码进Q群。
【请在竞赛阶段填写 ↓】
* 1、描述项目详情
本项目由esp8266主控、oled显示模块、发热模块、风扇、温湿度模块、泡沫保温箱等组成;
可以显示日期、时间、温度、湿度,带一路继电器输出控制发热模块;
通过esp8266控制保温箱内的温湿度在孵化条件内,以达到孵化的目的。
* 2、描述项目所面临的挑战及所解决的问题
小型孵化器适合家用,寓教于乐,成功孵化出一个生命是一件非常有意义和有趣的事情,尤其是对小朋友而言,是多么神奇的事,培养对生命的敬畏,锻炼耐心;
完成一只小鸡的孵化需要21天,养成一个好习惯也至少要21天,值得有想法的人进行尝试;
去年鸡苗鸭苗的价格非常昂贵,一只刚出壳的白鸭的价格需要10多元一只,刚出壳的鸡也需要5到8元的价格,于是想到为什么不自己孵化呢?
在T宝搜索了对应的孵化器,取决于孵化数量,小型家用的孵化器都在三百元左右,于是为什么不自己做呢?
在互联网上搜索了相关孵化条件后开始自己动手设计,制作了两版功能有区别的孵化器,这是其中一个项目;
* 3、描述项目硬件、软件部分涉及到的关键点
1)温度 温度是家禽胚胎发育的重要条件,通常最适宜的温度为37.5~39℃。
温度.最佳温度1-19天37.8度.
出雏期19-21天36.9-37.2度
2)湿度
湿度也是孵化的必要条件。
相对湿度应保持在55%~60%。
3)通风换气 胚胎在发育过程中,不断吸收氧气和排出二氧化碳。
4)翻蛋(转蛋)为防止胚胎与蛋壳发生粘连,增加胚胎的活动,促进对营养物质的吸收,也是为了使蛋均匀受热;
5)摆蛋位置 为提高入孵量,减少胚胎异位,有利于胚胎发育,孵化时必须保持种蛋的大端朝上。
6)照蛋。入孵前的种蛋进行严格照蛋,剔除不合格蛋,分别于入孵6天、11天、17天进行三次照蛋。
风扇和加热的控制逻辑如下代码所示
{
static u8 feng_en=0,fengdelay=0,hot_en=0,hotdelay=0;
u8 C_char = 0; // 字符计数
//-----------------------------------------------------------------------------
if(feng_en==0&& fengdelay==0)
{
//设置引脚--风 关
fengdelay=1;
}
if(feng_en!=0)
{
fengdelay=0;
//设置引脚--风 开
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);
GPIO_OUTPUT_SET(GPIO_ID_PIN(13),1);
}
if(fengdelay!=0)
{
fengdelay++;
if(feng_en==0&& fengdelay>=6)//停风,风延时结束
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);
GPIO_OUTPUT_SET(GPIO_ID_PIN(13),0);
}
}
if(hot_en!=0)
{
//开启加热
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);
GPIO_OUTPUT_SET(GPIO_ID_PIN(15),1);
// //开启加热
// hotdelay++;
// if(hotdelay%4==0)//50%,降低功率,减缓温升
// {
// PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);
// GPIO_OUTPUT_SET(GPIO_ID_PIN(15),1);
// }
// else
// {
// PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);
// GPIO_OUTPUT_SET(GPIO_ID_PIN(15),0);
// }
}
else//关闭加热
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);
GPIO_OUTPUT_SET(GPIO_ID_PIN(15),0);
}
//-----------------------------------------------------------------------------
if(DHT11_Data_Array[0]< =52 && (DHT11_Data_Array[2]>=38 || (DHT11_Data_Array[2]==37 && DHT11_Data_Array[3]%10>=8)))
{
//设置引脚--雾开
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
GPIO_OUTPUT_SET(GPIO_ID_PIN(12),1);
}
else if(DHT11_Data_Array[0]>52 )
{
//设置引脚--雾 关
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
GPIO_OUTPUT_SET(GPIO_ID_PIN(12),0);
}
else
{
//设置引脚--雾 关
PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
GPIO_OUTPUT_SET(GPIO_ID_PIN(12),0);
}
//-----------------------------------------------------------------------------
// 湿度数据字符串
//…………………………………………………………………………………………
if(DHT11_Data_Array[0]/100) // 湿度整数的百位
DHT11_Data_Char[0][C_char++] = DHT11_Data_Array[0]/100 + 48;
if((DHT11_Data_Array[0]%100)/10) // 湿度整数的十位
DHT11_Data_Char[0][C_char++] = (DHT11_Data_Array[0]%100)/10 + 48;
// 湿度整数的个位
//---------------------------------------------------------
DHT11_Data_Char[0][C_char++] = DHT11_Data_Array[0]%10 + 48;
DHT11_Data_Char[0][C_char++] = '.'; // 小数点
// 湿度整数的小数
//---------------------------------------------------------
DHT11_Data_Char[0][C_char++] = DHT11_Data_Array[1]%10 + 48;
DHT11_Data_Char[0][C_char++] = ' '; // ' '
DHT11_Data_Char[0][C_char++] = '%'; // '%'
DHT11_Data_Char[0][C_char++] = 'R'; // 'R'
DHT11_Data_Char[0][C_char++] = 'H'; // 'H'
DHT11_Data_Char[0][C_char] = 0 ; // 添'\0'
//…………………………………………………………………………………………
C_char = 0; // 重置
//-----------------------------------------------------------------------------
if(DHT11_Data_Array[2]< 37 || (DHT11_Data_Array[2]==37 && DHT11_Data_Array[3]%10< 8))
{//小于37.8加热
feng_en=1;//设置引脚--风 开
//设置引脚--热 开
hot_en=1;
}
else if(DHT11_Data_Array[2]>=38 || (DHT11_Data_Array[2]==37 && DHT11_Data_Array[3]%10>=8))
{//>37.8停止加热
feng_en=0;//设置引脚--风 关
//设置引脚--热 关
hot_en=0;
}
// 温度数据字符串
//…………………………………………………………………………………………
if(DHT11_Data_Array[5]==0) // 温度 < 0℃
DHT11_Data_Char[1][C_char++] = '-';
if(DHT11_Data_Array[2]/100) // 湿度整数的百位
DHT11_Data_Char[1][C_char++] = DHT11_Data_Array[2]/100 + 48;
if((DHT11_Data_Array[2]%100)/10) // 湿度整数的十位
DHT11_Data_Char[1][C_char++] = (DHT11_Data_Array[2]%100)/10 + 48;
// 湿度整数的个位
//---------------------------------------------------------
DHT11_Data_Char[1][C_char++] = DHT11_Data_Array[2]%10 + 48;
DHT11_Data_Char[1][C_char++] = '.'; // 小数点
// 湿度整数的小数
//---------------------------------------------------------
DHT11_Data_Char[1][C_char++] = DHT11_Data_Array[3]%10 + 48;
DHT11_Data_Char[1][C_char++] = ' '; // ' '
DHT11_Data_Char[1][C_char++] = 'C'; // 'C'
DHT11_Data_Char[1][C_char] = 0 ; // 添'\0'
//…………………………………………………………………………………………
* 4、项目材料清单展示
* 5、项目图片上传
5.1、PCB上印制大赛logo图片,若无视为放弃参赛
5.2、项目其它图片
* 6、演示您的项目并录制成视频上传
6.1、视频上传大赛官网
6.2、B站视频标题和链接
注意事项:①:视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;②:视频上传:请同步上传至大赛官网和B站(www.bilibili.com),B站人气TOP10项目将获得1000-5000元现金奖励,其它上传项目获得100元立创商城无门槛券;③:视频标题:第五届立创电子设计大赛:{项目名称}-{视频模块名称};如第五届立创电子设计大赛:《自动驾驶》项目-团队介绍。
第五届立创电子设计大赛:云浙智能家居-个人介绍和项目介绍 _P1
https://www.bilibili.com/video/BV1Ja4y177WC< br>
< br>
第五届立创电子设计大赛:云浙智能家居-物联网孵化器-功能演示
https://www.bilibili.com/video/BV1P5411b7Xz< br>
< br>
第五届立创电子设计大赛:云浙智能家居-物联网孵化器-小鸡出壳
https://www.bilibili.com/video/BV1yT4y1L7E1< br>
< br>
第五届立创电子设计大赛:云浙智能家居-物联网孵化器-孵化后喂养
https://www.bilibili.com/video/BV1ph411R76E/
* 7、是否首次公开发布
7.1、项目之前是否发表过或获奖,请说明
无
7.2、若项目是在原有基础上优化,请说明优化部分
无
* 8、开源文档
< br>
< br>
https://gitee.com/yunzhecx_cn/wifi-hatch-v1< br>
< br>
* 9、参考文献
点击链接了解更多详情:https://www.szlcsc.com/go/dsxq
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 300R/1% | R7,R6 | 0603_R_JX | 2 |
2 | SW_PUSH_JX | BOOT1,RESET1 | SW_PUSH_6MM_H5MM_JX | 2 |
3 | 10μF/10V | C2,C1 | 0603_C_JX | 2 |
4 | ESP-12F_JX | P6 | ESP-12F_JX | 1 |
5 | Red/LED | LED1 | 0603_D_JX | 1 |

工程成员



评论