项目介绍:
本项目是基于stm32的婴儿房监测器,用蜂鸣器,HX711,DHT11,TPM300A等传感器与stm32的最小系统板进行连接,并通过蓝牙模块与手机app相连,使得婴儿父母可以得知房内的各项指标以及婴儿状态,从而可以脱身从事其他活动。
市场介绍:
婴儿照顾,一直以来都是每个家庭的头等大事,但专业的育婴师并不是每个家庭都可以负担得起,所以就有了婴儿房间监测器来帮助那些没有育婴师的家庭,从而使得父母照顾婴儿更轻松。
设计思路:
用蜂鸣器,HX711,DHT11,TPM300A等传感器与stm32的最小系统板进行连接,并通过蓝牙模块与手机app相连,使得婴儿父母可以得知房内的各项指标以及婴儿状态。
方案框图和原理图解释:https://www.digikey.cn/schemeit/project/婴儿房监测-28dd95f7d7b04469a21494d73e412192
由蜂鸣器,HX711,DHT11,TPM300A等传感器与ESP32的最小系统板进行连接,并通过蓝牙模块与手机app相连,然后由stm32进行数据处理,与设置的各种参数阈值进行比较并判断是否报警,一切的数据都可以通过蓝牙与手机相连。手机端也可以用蓝牙发送指令来使得监测器做出一定的响应,例如播放助眠音乐。
sw6,7,8,9是四个案件,可以用来设置各个阈值。jp4是电源开关,jp7是DC5v的电源接入端口。剩下的各个接口都是用来接各个传感器模块。
原件介绍:
R2,R3是采用的TE公司的电阻,这两个电阻在测试器件的时候比我们实验室的电阻都要更加精准,与标定的阻值更加接近,可以帮助我们减少仿真与实物的差别。
主板与蓝牙模块的链接也是用的TE公司的连接线,这些线比我们实验室现有的导线,在相同的长度下阻值都要小,更有利于我们对电路板的回流计算。
PCB:
原理图如上,之后绘制PCB如下,能用就算胜利。
使用Scheme-it设计的原理图导出到KiCad后,有一些地方并不匹配,比如网络标签并不识别,用户自定义的符号引脚未分配等等,因此需要继续更改加以完善。与阶段1中并没有什么改动。
在PCB绘制过程中,KiCad也经常出现卡死的情况,不知道是我电脑系统问题还是其他问题,以至于我后来只能每过两分钟保存一次。
关键代码:
蓝牙相关代码:把各个传感器采集到的数据通过串口蓝牙发送到手机
void fasong()
{
USART_SendData(USART1,DHT11_Data .temp_int/10+48);
delay_ms(70);
USART_SendData(USART1,DHT11_Data .temp_int%10+48);
delay_ms(70);
USART_SendData(USART1,'.');
delay_ms(70);
USART_SendData(USART1,DHT11_Data .temp_deci+48);
delay_ms(70);
USART_SendData(USART1,'C');
delay_ms(70);
USART_SendData(USART1,' ');
delay_ms(70);
USART_SendData(USART1,DHT11_Data .humi_int/10+48);
delay_ms(70);
USART_SendData(USART1,DHT11_Data .humi_int%10+48);
delay_ms(70);
USART_SendData(USART1,'%');
delay_ms(70);
USART_SendData(USART1,' ');
delay_ms(70);
if(zl<1)
{
USART_SendData(USART1,'Z');
delay_ms(70);
USART_SendData(USART1,' ');
delay_ms(70);
}
if(GPIO_Pin_13==0)
{
USART_SendData(USART1,'N');
delay_ms(70);
USART_SendData(USART1,' ');
delay_ms(70);
}
}
oled屏幕相关代码:把各个传感器采集到的数据显示在oled屏幕上
DHT11_Read_TempAndHumidity ( & DHT11_Data );
OLED_ShowNum(0,0,DHT11_Data .temp_int,2,8,1);
OLED_ShowString(16,0,".",8,1);
OLED_ShowNum(24,0,DHT11_Data .temp_deci,1,8,1);
OLED_ShowString(32,0,"C",8,1);
OLED_ShowNum(50,0,DHT11_Data .humi_int,2,8,1);
OLED_ShowString(63,0,"%",8,1);
Get_Zhongwu ();
zl=(Weight_Zhongwu-2930)*5-1815;
zl=zl/100-800;
OLED_ShowNum(76,0,(zl/10)-7,2,8,1);
OLED_ShowString(90,0,".",8,1);
OLED_ShowNum(96,0,zl%10,1,8,1);
OLED_ShowString(104,0,"K",8,1);
OLED_ShowString(112,0,"G",8,1);
OLED_Refresh();
功能展示:
板子的最终效果在视频部分有所展示。
可以看出,测得的数据与米家的温湿度仪所得数据相差无几。
心得体会:
参加“How2Make”设计大赛是一次非常有意义的经历。在这次比赛中,我学到了很多关于设计和创意的知识,并且也收获了很多宝贵的经验和心得。
首先,我觉得在参赛前要充分了解比赛的主题和要求。这样可以帮助我更好地理解比赛的目的,并且能够更准确地把握设计的方向。比赛的主题是设计一个创新的产品,所以我在创意方面进行了大量的思考和研究。我浏览了很多相关的设计作品和创意产品,从中汲取灵感,并且尝试将自己的创意与现有的产品进行结合,以达到独特和创新的效果。
其次,我觉得团队合作是非常重要的。在比赛中,我选择了一个有相同兴趣和目标的团队合作。我们共同讨论和研究了设计的方向和理念,并且分工合作,互相帮助和支持。团队合作不仅可以减轻个人的压力,还可以通过不同的观点和意见来提高设计的质量和创新性。
此外,我觉得持续的学习和改进是非常重要的。在比赛中,我不断地学习新的设计技术和方法,并且不断地改进和完善我的设计方案。我参加了一些相关的培训和讲座,也与一些专业人士进行了交流和讨论。通过不断地学习和改进,我能够提高我的设计水平,并且更好地应对比赛的挑战。
最后,我觉得参加这样的设计比赛是一次非常宝贵的经验。通过参赛,我不仅能够锻炼自己的设计能力,还可以展示自己的创意和才华。同时,比赛也是一个很好的学习和交流的机会,我可以与其他优秀的设计师进行交流和学习,从中汲取灵感和经验。参加这样的比赛不仅可以提高自己的设计水平,还可以扩展自己的人脉和机会。
总的来说,参加“How2Make”设计大赛是一次非常有意义的经历。通过这次比赛,我学到了很多关于设计和创意的知识,并且也收获了很多宝贵的经验和心得。我相信这次经历将对我的设计事业产生积极的影响,并且我期待着参加更多的设计比赛和活动