前言
🔥这里是小殷学长,单片机毕业设计篇11基于stm32的智能水质检测系统
🧿创作不易,拒绝白嫖可私
一、功能介绍
------------------------------------------智能水质检测-----------------------------------------
1.OLED实时显示导电率 浑浊度 水温实时数据和阈值
2.通过按键进行阈值调节
3.通过蓝牙进行界面切换阈值处理
4.通过esp8266将数据上传Onenet云端平台
5.超过阈值蜂鸣器进行报警
6.语音进行参数调节和内容播报
功能可定制
🔥 实物展示
二、硬件部分
下面为该毕设中所用到的相关硬件说明,具体参数不做细节描述
硬件材料
PCB和原理图
三、软件部分
main.c部分代码
int main(void)
{
unsigned char *dataPtr = NULL;
unsigned short timeCount = 0; //发送间隔变量
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
Led_Init(); //LED端口初始化
bspNTCAdcInit(); //adc初始化
Beep_Init(); //蜂鸣器初始化
KEY_Exit_Init(); //外部中断初始化
TIM3_PWM_Init(); //定时器2初始化
Init_Usart(); //串口初始化
DS18B20_Init(); //DS18B20初始化
OLED_Init(); //OLED初始化
OLED_Clear(0); //清屏
#if WIFI_START
delay_ms(500);
OLED_Clear(0); //清屏
Oled_WIFI(); //显示wifi连接
printf("wait wifi connect...\r\n");
ESP8266_Init(); //初始化ESP8266
//printf("8266_INIT_END\n");
while(OneNet_DevLink()) //接入OneNET
printf("接入onenet成功");
delay_ms(200);
#endif
OLED_Clear(0); //清屏
Interface_Init(); //主界面
Buzzer_Voice(); //开机蜂鸣器提示
Buzzer_Voice();
while(1)
{
filter_data();
Interface_Task(work_mode); //界面处理任务
Data_Task(); //数据处理任务
Logical_Task(); //逻辑处理任务
Usart_Task(); //串口处理任务
#if WIFI_START
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和原理图以及相关文档说明做了详细说明,有需可私
🧿创作不易,拒绝白嫖