一.系统概述
本控制系统基于STM32F103C8T6单片机设计,用于冰箱的智能化管理。系统能够控制制冷单元和激活消毒功能,以防止异味积聚。通过MQ-2传感器监测冰箱内的异味浓度,一旦超标,会自动开启紫外线消毒灯进行清洁。
二.仿真概述
- 本系统通过MQ-2传感器检测冰箱内的异味浓度,用户可以通过调节模拟输入量的滑动变阻器来模拟异味浓度的变化。检测到的浓度值和预设的阈值均会在LCD1602显示屏上实时显示。当系统检测到的异味浓度为0,且用户设定的阈值为20时,紫外线消毒灯不会启动。
- 当用户调整滑动变阻器使得异味浓度增加至22,超出了设定的20的阈值时,紫外线消毒灯将自动启动进行消毒工作。
三.程序设计
#include <stm32f10x.h>
#include <delay.h>
#include <ADC_x.h>
#include <Lcd1602.h>
#include <Led.h>
/*==================================*
*======>>>>>> 【ZW】 <<<<<<======*
*==================================*/
int main(void)
{
u8 s =20;
Led1_Init();
Lcd1602_Init();
Adc1_Init();
Lcd1602_Write_String(0x80,5,(u8*)"Smoke");//异味
Lcd1602_Write_String(0xc0,3,(u8*)"Max");//阈值
Lcd1602_Write_Num8(0xc6,s);
Lcd1602_Write_String(0x8c,4,(u8*)"Work");
while(1)
{
u8 s1 = Get_Adc1();
Lcd1602_Write_Num8(0x86,s1);
if(s1>s)
{
relay_High;
Lcd1602_Write_String(0xcc,4,(u8*)"ON");
}
else
{
relay_Low;
Lcd1602_Write_String(0xcc,4,(u8*)"OFF");
}
}
}
/*
int main(void)
{
=======================================================================================================
while(1)
{
}
}
*/
24-32f-02