打印
[开发工具]

CuriosityNano测评报告】+室内温度测量

[复制链接]
1043|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
https://bbs.21ic.com/icview-3040340-1-1.html
借用此贴内容,将MCU换成该PIC18F开发板

传感器原理图
通过MCC配置端口,如下所示,启用的MCC外设库有ADC、UART1


生成代码后,在main.c添加内容

#include "mcc_generated_files/mcc.h"
#include "stdio.h"
#include "math.h"
#define K 273.15
#define T0 (25.0+K)
#define R0 10000.0
#define B 3455.0      

/*
电阻值换算到温度
adc_val:NTC当前的阻抗值,单位欧姆
返回值:摄氏度
*/

float Res_to_Tem(float adc_val)
{
        float temp;
        temp=1/((1/T0)+(log(adc_val/R0)/B));
        return temp-K;
}

void main(void)
{
    unsigned int val=0;
    float Rval,temp;

    SYSTEM_Initialize();
  
    while (1)
    {
       ADCC_StartConversion(channel_ANC0);
        while(!ADCC_IsConversionDone());
        
        val=ADCC_GetConversionResult();
        printf("val=%d\n",val);
        Rval=1000*((val*6.2)/(4095-val));
        temp=Res_to_Tem(Rval);
        
        printf("Temp=%f\n",temp);
        
        LED_Toggle();
        __delay_ms(500);
     }

}
将传感器模块的GND,连接到开发板的GND插孔,VCC连接到VTG插孔,Out连接到RC0,运行后串口打印以下内容。

实际测试电路如下图所示,另外该例子还点亮了开发板的LED,LED按照1秒闪烁1下的节奏闪烁。



使用特权

评论回复
沙发
gaoyang9992006|  楼主 | 2020-11-10 00:48 | 只看该作者
另外,Temp的单位是摄氏度,忘了打印单位了,不影响啊,不再更了。

使用特权

评论回复
板凳
里面有晴雨| | 2020-11-10 08:52 | 只看该作者
楼主用的是什么开发环境,我也想玩一下,看看是否好用。

使用特权

评论回复
地板
gaoyang9992006|  楼主 | 2020-11-10 10:13 | 只看该作者
里面有晴雨 发表于 2020-11-10 08:52
楼主用的是什么开发环境,我也想玩一下,看看是否好用。

用的MPLAB X 可以图形化配置,不过是基于JAVA平台的那种,所以电脑配置低了稍微有点卡。

使用特权

评论回复
5
xuanhuanzi| | 2020-11-10 22:37 | 只看该作者
666,点赞。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

1989

主题

16041

帖子

211

粉丝