项目背景介绍
经常养宠物的朋友,遇到宠物繁殖很是头疼,特别是鸟类繁殖,更加需要一个恒温恒湿的孵化箱。市面上孵化箱种类繁多,从几十块的到上千块的孵化箱都有,性能参差不齐,有些孵化箱的温度相差3度是常有的事情,有些没有湿度数据,于是决定用自己多年自学的三脚猫功夫做一个孵化箱,把制作过程分享给大家。
项目开发环境
`
arduino的c语言开发环境,版本1.61
项目硬件设备
名称 | 型号 | 数量 | 用途 |
---|---|---|---|
单片机 | ARDUINO UNO | 1 | 孵化器主要控制芯片 |
电源 | 开关电源12V100W | 1 | 给整个孵化箱提供12v供电 |
照明 | LED灯带 | 1 | 孵化箱照明用 |
保温外箱 | 蜥蜴保温箱40CM | 1 | 保温 |
发热片 | 12V50W低压型PTC铝壳250度恒温发热片 | 2 | 给孵化箱提供热源 |
CPU风扇 | 宽度6厘米厚度1.5厘米 | 1 | 恒温箱空气循环用 |
CPU散热片 | 散热片 | 1 | 把散热片的热量散发到恒温箱空气中 |
魔术板 | EPP发泡板2毫米厚度 | 若干 | 制作发热片散热通风管道 |
电子开关 | MOS触发开关12V | 2 | 用于控制散热片和加湿器 |
加湿器 | usb加湿模块 | 1 | 控制湿度 |
温湿度传感器 | SHT20 | 1 | 温湿度传感器 |
塑料袋 | 塑料袋 | 若干 | 用于铺于鸟蛋底下,恒温作用 |
降压模块 | 12V转5V降压模块 | 1 | 用于给usb加湿模块提供5V电源用 |
液晶显示器 | 0.96寸OLED显示屏 | 1 | 显示温度、湿度、孵化时间和孵化状态 |
硬件接线图
代码
tempadmin.cpp
//#include <SHT1x.h>
#include <EEPROM.h>
#include <Servo.h>
#include <Wire.h>
#include "U8glib.h"
#include "TempAdmin.h"
#include "DFRobot_SHT20.h"
//SHT1x sht1x(dataPin, clockPin);
DFRobot_SHT20 sht20;
void inQueue(QUEUE * pQueue,int value)
{
pQueue->pBase[pQueue->point]=value;
pQueue->point=++pQueue->point%6;
//Serial.println(pQueue->point);
}
int traverseQueue(QUEUE * pQueue)
{
int n=pQueue->point;
int a=0,b=0,nCount=0;
do{
if(nCount<3){
a+=pQueue->pBase[n];
}
else{
b+=pQueue->pBase[n];
}
n=++n%6;
nCount++;
}while(n!=pQueue->point);
return (b-a);
}
void TrunEggs(void)
{
int nAngle=myservo1.read();
//Serial.println(nAngle);
//Se