这里是小殷学长,单片机毕业设计篇5基于stm32的酒窖监测系统
创作不易,拒绝白嫖可私
------------------------------------------酒窖监测系统-----------------------------------------
1.OLED可实时显示当前温湿度,mq3,mq135,光敏值和所设参数阈值
2.可通过按键进行温湿度,mq3,mq135阈值的修改
3.超过阈值蜂鸣器发出警报
4 通过蓝牙将当前各个数据发送到手机蓝牙APP上,并可通过蓝牙进行界面切换和参数修改
5.通过语音进行界面切换和参数修改
6.通过esp826601s将数据上传到云端Onenet平台
功能可定制
下面为该毕设中所用到的相关硬件说明,具体参数不做细节描述
硬件材料
PCB和原理图
main.c部分代码
int main(void)
{
unsigned char *dataPtr = NULL;
unsigned short timeCount = 0; //发送间隔变量
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//设置系统中断优先级分组4
delay_init(); //延时初始化
LED_Init(); // led初始化
Buzzer_Init(); //蜂鸣器初始化
KEY_Exit_Init(); //按键初始化
Init_Usart(); //串口初始化
bspNTCAdcInit(); //ADC初始化
DHT11_Init(); //温湿度初始化
TIM3_PWM_Init(); //定时器初始化
OLED_Init(); //初始化OLED
delay_ms(500);
OLED_Clear(0); //清屏
Oled_WIFI(); //显示wifi连接
printf("wait wifi connect...\r\n");
#if 0
ESP8266_Init(); //初始化ESP8266
//printf("8266_INIT_END\n");
while(OneNet_DevLink()) //接入OneNET
delay_ms(500);
printf("接入onenet成功");
delay_ms(500);
OLED_Clear(0); //清屏
Interface_Init(); //主界面
Buzzer_Voice(); //开机蜂鸣器提示
Buzzer_Voice();
#endif
flag = 1;
while(flag)
{
filter_data();
DHT11_Read_Data(&temp,&humi); //温湿度获取
Interface_Task(work_mode); //界面显示任务
Logical_Task(); //逻辑处理任务
Usart_Task(); //串口处理任务
Ldr_task(); //光敏处理任务
TIM_SetCompare2(TIM3,100-current_duty);
#if 0
if(++timeCount >= 150) //时间间隔1s
{
OneNet_SendData();//发送数据给onenet
//printf("send_data_end\n");
timeCount = 0;
ESP8266_Clear();
}
dataPtr = ESP8266_GetIPD(0);//获取平台返回的数据
if(dataPtr != NULL)//如果返回数据不为空
OneNet_RevPro(dataPtr);//平台返回数据检测
delay_ms(10);
delay_ms(200);
#endif
}
}
上面为基于stm32f103c8t6的酒窖检测系统相关的大致介绍,源码,pcb和原理图以及相关文档说明做了详细说明,有需可私
创作不易,拒绝白嫖