问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

基于STM32单片机液位(水位)监控系统的设计与实现

创作时间:
作者:
@小白创作中心

基于STM32单片机液位(水位)监控系统的设计与实现

引用
CSDN
1.
https://blog.csdn.net/m0_64562382/article/details/142411256

本文介绍了一个基于STM32单片机的液位监控系统设计与实现。通过3个水位传感器检测水位数据,并将数据实时显示在0.96寸OLED屏幕上,同时通过串口输出到调试助手。

一、元器件清单

硬件
作用
STM32F103C8T6开发板
作为主控芯片
3个水位传感器
检测水位数据
0.96寸4针OLED屏幕
显示数据
ST-LINK烧录器
烧录代码、调试
杜邦线
连接作用
面包板
方便组装

二、硬件实物接线

三、功能实现

  1. 检测三组水位数据,显示在OLED屏幕上
  2. 三组水位数据发送到串口调试助手

四、串口调试助手打印数据

五、main.c代码

u16 adcx; // ADC
float voltage; // 水位
u16 adcx2; // ADC
float voltage2; // 水位
u16 adcx3; // ADC
float voltage3; // 水位

int main(void)
{
    OLED_Init();
    Adc_Init();
    mfq_Init();
    Serial_Init();

    OLED_ShowChinese(0, 13, "水位");
    OLED_ShowChinese(40, 13, ":");
    OLED_ShowString(32, 13, "1", OLED_8X16);
    OLED_ShowString(80, 13, "m", OLED_8X16);
    OLED_ShowString(90, 13, "m", OLED_8X16);
    OLED_ShowChinese(0, 30, "水位");
    OLED_ShowChinese(40, 30, ":");
    OLED_ShowString(32, 30, "2", OLED_8X16);
    OLED_ShowString(80, 30, "m", OLED_8X16);
    OLED_ShowString(90, 30, "m", OLED_8X16);
    OLED_ShowChinese(0, 47, "水位");
    OLED_ShowChinese(40, 47, ":");
    OLED_ShowString(32, 47, "3", OLED_8X16);
    OLED_ShowString(80, 47, "m", OLED_8X16);
    OLED_ShowString(90, 47, "m", OLED_8X16);
    OLED_Update();

    while (1)
    {
        adcx = Get_Adc_Average(ADC_Channel_1, 10);
        voltage = 3300000 / 4096 * adcx / 10000;
        OLED_ShowNum(50, 30, voltage, 2, OLED_8X16);

        adcx2 = Get_Adc_Average(ADC_Channel_0, 10);
        voltage2 = 3300000 / 4096 * adcx2 / 10000;
        OLED_ShowNum(50, 47, voltage2, 2, OLED_8X16);
        OLED_Update();

        adcx3 = Get_Adc_Average(ADC_Channel_2, 10);
        voltage3 = 3300000 / 4096 * adcx3 / 10000;
        OLED_ShowNum(50, 13, voltage3, 2, OLED_8X16);

        // fmq(voltage);
        printf("水位1= %.2f mm,水位2= %.2f mm,水位3= %.2f mm \r\n", (float)voltage, (float)voltage2, (float)voltage3);
    }
}

六、程序代码下载

《STM32单片机+3个Water水位传感器+OLED屏幕显示+串口打印三组数据》源代码资源-CSDN文库

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号