基于STM32单片机的智能厨房系统设计

描述

一.系统概

本次设计的系统是以 STM32 单片机作为核心控制器,可以控制温度传感器、烟雾传感器、可燃气体传感器完成对相关数据的采集,可以 对烟雾、天然气的阈值进行设定,当监测到烟雾、可燃气体浓度超过阈值后控制蜂呜器报警,灯亮。

智能厨房

二.仿真概述

系统内通过DS18B20进行温度检测,使用ADC将检测到烟雾和燃气模拟信号进行转换,OLED显示屏显示检测到的温度、烟雾浓度、燃气浓度数据。

智能厨房

2.  调节烟雾模拟输入量的滑动变阻器,当检测到烟雾浓度数据大于阈值就会控制蜂鸣器报警。

智能厨房

3.  调节燃气模拟输入量的滑动变阻器,当检测到燃气浓度数据大于阈值就会控制蜂鸣器报警。

智能厨房

4.  调节DS18B20的红色按钮可以调节温度值,并且在OLED上的数据也会实时改变。

智能厨房

三.程序设计

 

/*    >ZW
 *    >2023.12.7
 *
 */
 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "PCF8591.h" 
#include "OLED.h"
 
int main(void)
{  
  u8 t,s,g,Tmax = 50,Smax=50,Gmax=50;
  
 
  OLED_Init();
 
  Beep_Init();//PA13
  Ds18b20_Init();//PA12
  PCF8591_Init();
  
  
  OLED_ShowString(1,1,"temp:");
  OLED_ShowString(2,1,"Smo :");
  OLED_ShowString(3,1,"gas :");
  
  while(1)
  {  
    t =Ds18b20_Temp() ;
    s =PCF8591_ADC_Input(0x90,2);
    g =PCF8591_ADC_Input(0x90,4);
    
    OLED_ShowNum(1,6,t,2);
    OLED_ShowNum(2,6,s,2);
    OLED_ShowNum(3,6,g,2);
    
    OLED_ShowNum(2,9,Smax,2);
    OLED_ShowNum(3,9,Gmax,2);
    
    if(g>Gmax||s>Smax)  
    {
      Beep_1;
    }
    else if(t

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分