查看: 1323|回复: 0

[项目提交] 《2023 DigiKey 汽车应用创意挑战赛》无线温度采集器设备

[复制链接]
  • TA的每日心情
    开心
    2024-7-17 11:18
  • 签到天数: 491 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2024-1-31 01:50:36 | 显示全部楼层 |阅读模式
    分享到:
    本次设计的题目是基于STM32F746为主控芯片的低功耗无线温度采集器设备,其目的是想实现检测设备温度,室内温度和各种需要检测温度的地方。该设备采用STM32F746为主控,利用温度传感器持续性采集被测物体或者环境温度,通过2.4G无线发送到集中器设备,再通过485或者LAN传输到电脑端进行记录和分析,还可以给客户进行微信短信等报警处理的一套系统。设备自带OLED显示屏,通过按键唤醒,实现本地显示,满足客户需求,一节14505电池至少可以使用2年。

    设计流程如下:
    001.png


    这里选择使用STM32F746主要其目的是由于该MCU的性能非常强大,同时可以支持LCD/OLED显示,可以快速刷新数据,给用户以非常良好的用户体验;温度传感器采用市面常用的DS18B20温度传感器,其具有耐高温,测量精度高,采用数字输出方式,抗干扰能力强等诸多优势;本次设计显示屏采用LCD显示,主要其显示内容较多,便于操控,同时又可以UI功能拓展,未以后产品**预留无限可能。
    这里由于时间紧任务重,所以在传输方面,本次直接采用串口的方式传输到电脑终端,这与通过485传输功能完全一致;在低功耗方面暂未实现,因此该项目的**完善的空间较多。

    代码详解:
    1、 驱动DS18B20获取温度
    1. //从ds18b20得到温度值
    2. //精度:0.1C
    3. //返回值:温度值 (-550~1250)
    4. short DS18B20_Get_Temp(void)
    5. {
    6.     u8 temp;
    7.     u8 TL,TH;
    8.         short tem;
    9.     DS18B20_Start ();                    // ds1820 start convert
    10.     DS18B20_Rst();
    11.     DS18B20_Check();         
    12.     DS18B20_Write_Byte(0xcc);// skip rom
    13.     DS18B20_Write_Byte(0xbe);// convert            
    14.     TL=DS18B20_Read_Byte(); // LSB   
    15.     TH=DS18B20_Read_Byte(); // MSB  
    16.                       
    17.     if(TH>7)
    18.     {
    19.         TH=~TH;
    20.         TL=~TL;
    21.         temp=0;//温度为负  
    22.     }else temp=1;//温度为正                    
    23.     tem=TH; //获得高八位
    24.     tem<<=8;   
    25.     tem+=TL;//获得底八位
    26.     tem=(float)tem*0.625;//转换  
    27.         if(temp)return tem; //返回温度值
    28.         else return -tem;                 
    29. }
    复制代码

    2、 利用LCD显示温度数据
    1. BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"temp:", LEFT_MODE);
    2. i[0] = Temp / 10 + 0x30;
    3. i[1] = Temp % 10 + 0x30;
    4. BSP_LCD_DisplayChar(100, 60,i[0]);
    5. BSP_LCD_DisplayChar(124, 60,i[1]);
    复制代码


    3、 将温度数据利用串口的方式传输到后台终端
    1. HAL_UART_Transmit(&UartHandle,(uint8_t *)&Temp,1,100);
    复制代码
    最终效果如下:
    12.png



    STM32F746_DEMO.rar

    69.37 KB, 下载次数: 2

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 02:25 , Processed in 0.113813 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.