当前位置:   article > 正文

93-基于stm32单片机智能药箱药盒温湿度光照监测提醒吃药Proteus仿真+程序源码_stm32药箱代码

stm32药箱代码

一:功能介绍

1、采用stm32单片机+LCD1602+DHT11温湿度传感器+DS1302传感器+光敏电阻+按键+蜂鸣器+LED灯,制作一个多功能智能药箱药盒;

2、通过按键设置定时的小时和分钟;当定时时间到,蜂鸣器提醒吃药;

3、该多功能药箱可以采集光照强度和温湿度,当光照强度大于一定值,进行LED灯闪烁提醒,防止阳光直射暴晒;

4、LCD1602显示ds1302时钟的时间和采集的温湿度、光照强度、定时时间;

二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)

93-基于stm32单片机智能药箱药盒温湿度光照监测提醒吃药Proteus仿真+程序源码+讲解视频

三:设计软件介绍

本设计使用C语言编程设计,程序代码采用keil5编写,程序有中文注释,新手容易看懂,仿真采用Proteus软件进行仿真演示视频使用的是Proteus8.9版本;资料包里有相关软件包,可自行下载安装。

四:程序打开方法

特别注意:下载资料包以后一定要先解压!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。

9a23d3ad9a4e120e4da318d9e9aa3e0a.png

510cbeffc5fd4a94d96c76a0d88af975.png

  1. 程序部分展示,有中文注释,新手容易看懂
  2. //引脚配置
  3. GPIO_Configuration();
  4. //LCD1602初始化
  5. Init1602();
  6. NVICConfig();
  7. //RCC时钟开启
  8. RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
  9. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  10. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
  11. DS1302_Configuration();
  12. //获取光敏电阻阻值,单位K欧
  13. ADC_Set();
  14. //DS1302数据编码格式需要进行转换
  15. ReadDS1302Clock(time_data);
  16. shi = time_data[3]%16+time_data[3]/16*10;
  17. fen = time_data[4]%16+time_data[4]/16*10;
  18. miao = time_data[5]%16+time_data[5]/16*10;
  19. xiaoshi=shi;
  20. fenzhong = fen+1;
  21. PBout(14)=PBout(6)=1;//LED灯和蜂鸣器默认关闭
  22. while (1)
  23. {
  24. i++;
  25. delay_ms(10);
  26. if(i>=100)
  27. {
  28. i=0;
  29. //计算光强
  30. vol = ADC_GetConversionValue(ADC1);
  31. vol = 10*(4095-vol)/vol;
  32. //根据阻值计算光强
  33. guangqiang = 285.6*pow(vol,-1.168)+0.1;
  34. //读取室内温度
  35. DHT11_receive(&shidu,&wendu);
  36. ReadDS1302Clock(time_data);
  37. shi = time_data[3]%16+time_data[3]/16*10;
  38. fen = time_data[4]%16+time_data[4]/16*10;
  39. miao = time_data[5]%16+time_data[5]/16*10;
  40. //显示全部参数
  41. Display();
  42. }
  43. //按键扫描
  44. anjiansaomiao();
  45. //定时时间到
  46. if(xiaoshi==shi && fenzhong==fen )
  47. {
  48. PBout(6)=0;//蜂鸣器闹铃打开提醒吃药
  49. }
  50. else PBout(6)=1;//蜂鸣器闹铃关闭
  51. //如果光照太强 药箱LED闪烁提醒
  52. if(guangqiang>100 )
  53. {
  54. PBout(14)=~PBout(14);
  55. }
  56. else PBout(14)=1;//否则关闭
  57. }

:仿真文件(采用Proteus打开)

4af9338033109d05d7aa0b130d7b627b.png

a0115982839528d348c1da5c590e9fed.png

674388deed7988c3a30327a14b782ed0.png

六:资料清单展示(文件中包含的相关资料)

f0b869f27b3929fff71de75e6f4e12ce.png

百度云盘资料下载链接​​​​​​​

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/578042
推荐阅读
相关标签
  

闽ICP备14008679号