3d打印中NTC 温度传感器是用的查询表法进行温度测量,如下是示例

#define NTC_PIN A0 // NTC接在A0口上// NTC查询表// 温度(°C) 电阻(Ω)// -50       10000// -40       7596// -30       5741// -20       4295// -10       3183// 0         2392// 10        1796// 20        1365// 30        1019// 40        761// 50        557// 60        408// 70        298// 80        221// 90        159// 100       113
int resistanceTable[15] = {10000, 7596, 5741, 4295, 3183, 2392, 1796, 1365, 1019, 761, 557, 408, 298, 221, 159};
int temperatureTable[15] = {-50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
void setup() {
Serial.begin(9600); // 打开串口,波特率为9600
}
void loop() {
int ntcValue = analogRead(NTC_PIN); // 读取NTC的电阻值float resistance = (float)(1023-ntcValue)*10000/ntcValue; // 计算NTC的电阻
int temperature; // 声明温度变量// 使用二分法查询表查找温度
int left = 0;
int right = 14;
while (left <= right) {
int mid = (left + right) / 2;
if (resistance < resistanceTable[mid]) {
right = mid - 1;
} else if (resistance > resistanceTable[mid]) {
left = mid + 1;
} else {
temperature = temperatureTable[mid];
break;
}
}
if (left > right) { // 如果没有找到,则使用线性插值计算float slope = (float)(temperatureTable[left] - temperatureTable[right]) / (resistanceTable[left] - resistanceTable[right]);
temperature = temperatureTable[right] + slope * (resistance - resistanceTable[right]);
}
Serial.println(temperature); // 将温度值发送到串口delay(1000); // 等待1秒
}

在这个程序中

在这个程序中,我们首先读取 NTC 的电阻值,然后使用二分法查询表查找温度。如果找到了匹配的电阻值,则直接使用表中的温度值。如果没有找到,则使用线性插值的方法计算温度值。最后,我们将温度值发送到串口。

使用查询表的方法可以提高测量精度,因为表中的数据是经过校准的,但是同时也会增加程序的复杂度,需要消耗额外的存储空间。如果空间有限,可以考虑使用更简单的测量方法,比如基于线性关系的公式。

模仿3d打印中使用 Arduino 来根据 NTC 温度传感器的查询表来测量温度的示例程序。相关推荐

  1. 遗传算法求解3D打印中零件二维排布问题(MATLAB实现)

    目录 遗传算法求解3D打印中零件二维排布问题(MATLAB实现) 一.遗传算法简介 二.排样方法 1.二维不规则排样 2.编码及解码方式 三.遗传算法求解 1.算法建模 2.遗传算子 选择算子 交叉算 ...

  2. 3D打印中常见的7中材质分析

    3D打印中常见的7中材质分析 3D打印中使用过的材质是有很多种的,想要选择合适的3D打印材料,就必须了解3D打印材料的特性,每种3D打印材料都有自己的特性,应该根据自己产品的需求以及打印材料特性,有针 ...

  3. 韦丹塔和富士康投资200亿美元兴建半导体工厂;精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立 | 美通企业日报...

    美通社要闻摘要: 韦丹塔和富士康投资200亿美元兴建半导体工厂.精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立.富士胶片向半固态电池研发商24M投资2000万美元.依维柯和现代汽车在汉诺威车展联合展 ...

  4. 3D打印中的翘曲变形—cubePro打印机的故障原因

    背景介绍   翘曲变形问题在3D打印机(熔融沉积成型-FDM)中广泛存在,严重影响了打印件的成型精度.近来对现有的资料进行归纳整理,发现打印件发生翘曲变形的根本原因是温度引起的层间应力,具体为:材料堆 ...

  5. 3D打印中最常见的清洗问题,如何解决

    3D打印机是一种很需要保养的设备.现在高端SLS技术的3D打印机是看似最能应用于产房的一款3D打印的设备,它需要一套完整的配套系统,包括了自发电力系统.安全保护系统.检测管理系统等来辅助这一款打印机. ...

  6. 3D打印中喷头不出丝是不是常见问题,如何来解决?

    在使用FDM打印机时经常会碰到的问题就是程序设置好了,但到了要打印的时候喷头却喷不出丝料,或者是在打印到一半的时候丝料突然不出了.下面来分析一下这种3D打印常见问题. 其实这类问题的根源就是喷头堵住了 ...

  7. 如何解决3D打印中出现拉丝和垂料问题?

    转自:https://m.sohu.com/a/83141572_336216 一.概述 当打印件上残留细小的塑料丝线,则发生了拉丝.通常,这是因为当喷嘴移到新的位置时,塑料从喷嘴中垂出来了.作为弘瑞 ...

  8. blender 3d打印_如何在Blender中开始3D打印

    blender 3d打印 作为3D艺术家,过去通常意味着您是一位数字艺术家,您在无形材料的虚拟环境中工作. 您的工作结果注定只能在印刷或屏幕上看到. 即使在虚拟现实(VR)环境中,结果充其量也只能是对 ...

  9. 怎样设置rotacast插件_鞋类丨3D打印设计中Grasshopper的应用——用插件Pufferfish生成网格...

    (详情请戳上面图片链接↑↑↑)之前我们学习了怎么做方方正正的网格,但现实的产品总是奇形怪状的,怎么能在这些形体中生成网格呢?其实总体思路是一样的,我们也是要在形体之中生成单元格,然后把结构线对应到单元 ...

最新文章

  1. 学习 慕课网 PHP工程师学习计划--我的笔记汇总
  2. Spring事务传播行为详解
  3. mysql打印语句_最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
  4. php下载文件压缩包已经损坏或未知格式,这个压缩文件格式未知或者数据已经被损坏解决方法...
  5. 离散蚁群算法实例(求解旅行商问题)
  6. 2017面试分享(js面试题记录)
  7. 趣读:程序员泪流满面的20个瞬间!
  8. 分类算法中常用的评价指标
  9. python dlib人脸检测_使用Python+OpenCV+Dlib实现人脸检测与人脸特征关键点识别
  10. Lintcode: Implement Queue by Stacks 解题报告
  11. 计算机aero背景黑,Win7中Aero下面的主题变为黑色
  12. 【渝粤教育】国家开放大学2018年秋季 1070t组织行为学 参考试题
  13. plc计算机辅助编程设计方法,国产plc怎么编程
  14. 分子生物学数据库和软件
  15. 统计推断-经典统计推断
  16. 软件开发测试男友花束,观察这四束花束凭直觉选一束花?测一测别人都在羡慕你的什么?...
  17. bootmgr快速修复win7_「科普」UEFI+GPT、Legacy+MBR引导模式介绍 引导修复
  18. c语言字符结构数组初始化,C语言结构体数组初始化问题
  19. 王茂斋拳架_王茂斋太极功(接近传奇,从读懂原著开始;吴式太极拳北派宗师王茂斋,门人杨禹廷、刘晚苍、王培生等名家辈出;《太极功源流支派论》《三十二目》)...
  20. 请用面向对象的思想,谈一谈这次面试的过程

热门文章

  1. 遇到Mac OS应用程序“Eclipse.app“无法打开的异常
  2. 在CSDN问答,什么样的回答更容易被采纳?
  3. 网络渗透技术笔记 3.9
  4. 最年轻的计算机教授,中国最年轻的教授_蔡海涛的学科成就
  5. Unity体感应用开发——Kinect V2 获取彩色摄像头数据
  6. html实用的插件,辅助工具
  7. 如何删除OneDrive在桌面右键的上下文菜单
  8. 7天物联网智能家居实战-DAY1
  9. qstring 字符串查找_QString总结
  10. 法大大荣获京交会人力资源“双创10强”