标题: stm32蓝牙通信adc采集mq2烟雾模块 串口采集温湿度传感器 智能家居程序 [打印本页]

作者: Brokpet    时间: 2018-4-20 11:02
标题: stm32蓝牙通信adc采集mq2烟雾模块 串口采集温湿度传感器 智能家居程序
此程序是通过adc通道采集烟雾值 串口采集温湿度
并根据所得到值是否符合阈值条件来决定是否使能风扇和加湿器
通过蓝牙hc05与上位机可完成通信

主程序较为简单 如下
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "lcd.h"
  6. #include "usart3.h"         
  7. #include "dht11.h"         
  8. #include "adc.h"         
  9. #include "beep.h"         
  10. #include "hc05.h"



  11. #include <stm32f10x.h>



  12. /************************************************
  13. ALIENTEK精英STM32开发板实验29
  14. DHT11数字温湿度传感器 实验     
  15. ************************************************/

  16. int main(void)
  17. {         
  18.         u8 t=0;                           
  19.         u8 temperature;              
  20.         u8 humidity;              
  21.   u8 adcx;
  22.          
  23.         delay_init();                     //延时函数初始化         
  24.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  25. usart3_init(9600);         //串口初始化为115200
  26.         LED_Init();                                  //初始化与LED连接的硬件接口
  27.         LCD_Init();                                   //初始化LCD  
  28.         Adc_Init();
  29.         BEEP_Init();
  30.         HC05_Init();



  31.         while(1)
  32.         {                        
  33.                 if(t%10==0)                        //每100ms读取一次
  34.                 {                                                                          
  35.                         DHT11_Read_Data(&temperature,&humidity);        //读取温湿度值      
  36.                         adcx=Get_Adc_Average(ADC_Channel_1,10);  //读取烟雾值

  37.                          u3_printf("温度=%d",temperature );
  38.                
  39.                          u3_printf("湿度=%d",humidity);
  40.                
  41.                          u3_printf("烟雾值=%d",adcx);
  42.                 BEEP=0;
  43.                 delay_ms(500);
  44.                 if(adcx>1170) BEEP=1;
  45.                 delay_ms(500);
  46.                         if(temperature>28||temperature<18||adcx>500);
  47.                         GPIO_SetBits(GPIOB,GPIO_Pin_5);           //LED0对应引脚GPIOB.5拉高,灭  等同LED0=1;
  48.                        
  49.                         if(humidity<20);
  50.                         {
  51.                                 GPIO_SetBits(GPIOE,GPIO_Pin_5); //LED1对应引脚GPIOE.5拉低,亮 等同LED1=0
  52.                         }
  53.                         if(humidity>40)
  54.                                 {
  55.                         GPIO_ResetBits(GPIOE,GPIO_Pin_5);
  56.                                 }
  57.                 }                                 
  58.                  delay_ms(500);
  59.                 t++;
  60.                
  61.                 if(t==20)
  62.                 {
  63.                         t=0;
  64.                         LED0=!LED0;
  65.                 }
  66.         }
  67. }



复制代码

全部资料51hei下载地址:
智能家居传感器及蓝牙程序.rar (351.63 KB, 下载次数: 585)

作者: aa1    时间: 2018-4-20 17:33
积分不够不能下载很无奈 最近正好需要做这个
作者: Brokpet    时间: 2018-4-21 19:38
aa1 发表于 2018-4-20 17:33
积分不够不能下载很无奈 最近正好需要做这个

签签到啥的应该就可以了吧 哈哈我一开始是这么得了几分
作者: 再也不要那样活    时间: 2018-4-22 16:35
请问,你用的是STM32自带的ADC嘛?
作者: 可爱的洪水猛兽    时间: 2018-4-23 22:36
感觉你这个有点意思
作者: CLA    时间: 2018-5-8 08:55
我想问下,在 if(adcx>1170) BEEP=1;这个1170是怎么得出来的?
作者: 小白meinv    时间: 2018-5-23 20:15
请问这个有APP的代码吗?
作者: xzq21131401    时间: 2018-5-31 16:13
积分不够不能下载很无奈 最近正好需要做这个
作者: 天下1314    时间: 2018-6-13 10:13
不错资料
作者: derMINGW    时间: 2018-12-20 22:10
积分不够

作者: XuW    时间: 2019-1-10 15:29
有仿真图嘛?
作者: 244606234    时间: 2019-6-28 13:17
太好了
作者: dongbaolu    时间: 2019-6-28 18:08
学习了,谢谢
作者: 来回不想离开你    时间: 2019-9-1 10:59
再也不要那样活 发表于 2018-4-22 16:35
请问,你用的是STM32自带的ADC嘛?

应该一般都是用板子自带的

作者: 炎亚纶    时间: 2019-9-1 12:29
非常感谢你的分享!
作者: fsncccc    时间: 2019-11-26 22:37
顶,感谢你的分享
作者: DanMg    时间: 2019-11-30 11:12
感谢分享!
作者: 红尘阡陌    时间: 2020-3-1 23:09
楼主,硬件部分怎么接线啊
作者: 鱼鱼啊yuyu    时间: 2020-4-21 18:09
要是有8266搞个wifi的例子一起就更好了
作者: 鱼鱼啊yuyu    时间: 2020-4-21 23:20
想问下你这里烟雾浓度和1170作比较这个1170哪里来的,我没找到浓度转换公式啊
作者: 1244986336    时间: 2020-4-22 11:07
感觉这个程序挺不错的,最近想弄一下
作者: 2501526684    时间: 2020-5-16 16:38
mq2.h没有啊
作者: Alice233T    时间: 2020-11-16 09:59
感谢分享
作者: 高等数学下    时间: 2020-12-24 20:37
在开发版上不显示 是哪出现了问题?
作者: xbgs    时间: 2020-12-25 15:23
蓝牙各不相同,你需要的不一定有用
作者: 李狗蛋16    时间: 2020-12-29 11:28
有没有硬件资料,求大佬带带

作者: liudayong    时间: 2021-3-25 13:37
aa1 发表于 2018-4-20 17:33
积分不够不能下载很无奈 最近正好需要做这个

希望有用

作者: liudayong    时间: 2021-3-25 13:37
再也不要那样活 发表于 2018-4-22 16:35
请问,你用的是STM32自带的ADC嘛?

是的





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1