项目背景介绍
经常养宠物的朋友,遇到宠物繁殖很是头疼,特别是鸟类繁殖,更加需要一个恒温恒湿的孵化箱。市面上孵化箱种类繁多,从几十块的到上千块的孵化箱都有,性能参差不齐,有些孵化箱的温度相差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
123456789101112131415161718192021222324252627282930313233343536373839