单片机设计:stm32远程水位检测灌溉系统(水泵+电机驱动+OLED显示屏+水位传感器+防水式ds18b20+光敏传感器+按键+WiFi+手机app)
一、主要功能:
1.水位传感器检测水的高度、光敏传感器检测周围光照强度、ds18b20检测水温
2.0LED、手机app显示当前数据以及阈值
3.手机app远程调节阈值,
4.光照过低亮LED灯,按键控制LED灯亮/灭,手机app控制灯亮/灭
5.水位过低启动水泵,水温过高启动水泵,按键启动/关闭水泵,手机app启动/关闭水泵
当然也可以添加其他功能~
1.实物
2.源码以及手机app
3.原理图
4.售后线上服务(代码讲解)
二、实物图:
三、部分源码:
distance = csb_get_distance();//测量距离
Dis_sw = distance_max - (int)distance;
if(Dis_sw<=0) { Dis_sw = 0; }
// HAL_Delay (500);
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&AD_Value,2);//水位、光敏
depth = (AD_Value[0]*4.0)/4096.0;//将AD值转换成水位高度
light = (AD_Value[1]*100)/4096;//将AD值转换成光照强度百分比
temp= DS18B20_Get_Temperature();//读取温度值
sprintf(dis,"%d ",distance);//数据转换
sprintf(tem,"%.2f ",temp/10);
sprintf(AD_depth,"%.2f ",depth);//数据转换
sprintf(AD_light,"%d ",light);
sprintf(wate_max,"%d ",water_max);
sprintf(dis_max,"%d ",distance_max);//数据转换
sprintf(tem_max,"%d ",temp_max);
sprintf(dis_sw,"%d ",Dis_sw);//数据转换
sprintf(dis_sw_max,"%d ",Dis_sw_max);
OLED_ShowString(0,0,(uint8_t *)"Dis: CM",16,1);//数据前缀
OLED_ShowString(0,16,(uint8_t *)"Dis_sw: ",16,1);
OLED_ShowString(0,32,(uint8_t *)"sw: ",16,1);
OLED_ShowString(0,48,(uint8_t *)"Temp: ",16,1);
OLED_ShowString(48,0,(uint8_t *)dis,16,1);//显示距离数据
OLED_ShowString(96,0,(uint8_t *)dis_max,16,1);//显示距离最大值
OLED_ShowString(64,16,(uint8_t *)dis_sw,16,1);
OLED_ShowString(96,16,(uint8_t *)dis_sw_max,16,1);
OLED_ShowString(32,32,(uint8_t *)AD_depth,16,1);//显示数据
OLED_ShowString(80,32,(uint8_t *)wate_max,16,1);//显示数据
OLED_ShowString(32,48,(uint8_t *)tem,16,1);
OLED_ShowString(96,48,(uint8_t *)tem_max,16,1);
OLED_Refresh();//刷新
四、原理图
以下是整个工程各个模块的原理图:
五、更多:
如果想要更加详细的了解整个工程的话可以去b站看这个视频演示,下面为视频链接:
单片机设计:stm32远程水位检测系统(水泵+电机驱动+OLED显示屏+水位传感器+防水式ds18b20+光敏传感器+按键+WiFi+手机app)_哔哩哔哩_bilibili文章来源:https://www.toymoban.com/news/detail-447146.html
给个免费的三连哦!!!文章来源地址https://www.toymoban.com/news/detail-447146.html
到了这里,关于单片机设计:stm32远程水位检测灌溉系统(水泵+电机驱动+OLED显示屏+水位传感器+防水式ds18b20+光敏传感器+按键+WiFi+手机app)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!