模仿3d打印中使用 Arduino 来根据 NTC 温度传感器的查询表来测量温度的示例程序。
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 温度传感器的查询表来测量温度的示例程序。相关推荐
- 遗传算法求解3D打印中零件二维排布问题(MATLAB实现)
目录 遗传算法求解3D打印中零件二维排布问题(MATLAB实现) 一.遗传算法简介 二.排样方法 1.二维不规则排样 2.编码及解码方式 三.遗传算法求解 1.算法建模 2.遗传算子 选择算子 交叉算 ...
- 3D打印中常见的7中材质分析
3D打印中常见的7中材质分析 3D打印中使用过的材质是有很多种的,想要选择合适的3D打印材料,就必须了解3D打印材料的特性,每种3D打印材料都有自己的特性,应该根据自己产品的需求以及打印材料特性,有针 ...
- 韦丹塔和富士康投资200亿美元兴建半导体工厂;精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立 | 美通企业日报...
美通社要闻摘要: 韦丹塔和富士康投资200亿美元兴建半导体工厂.精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立.富士胶片向半固态电池研发商24M投资2000万美元.依维柯和现代汽车在汉诺威车展联合展 ...
- 3D打印中的翘曲变形—cubePro打印机的故障原因
背景介绍 翘曲变形问题在3D打印机(熔融沉积成型-FDM)中广泛存在,严重影响了打印件的成型精度.近来对现有的资料进行归纳整理,发现打印件发生翘曲变形的根本原因是温度引起的层间应力,具体为:材料堆 ...
- 3D打印中最常见的清洗问题,如何解决
3D打印机是一种很需要保养的设备.现在高端SLS技术的3D打印机是看似最能应用于产房的一款3D打印的设备,它需要一套完整的配套系统,包括了自发电力系统.安全保护系统.检测管理系统等来辅助这一款打印机. ...
- 3D打印中喷头不出丝是不是常见问题,如何来解决?
在使用FDM打印机时经常会碰到的问题就是程序设置好了,但到了要打印的时候喷头却喷不出丝料,或者是在打印到一半的时候丝料突然不出了.下面来分析一下这种3D打印常见问题. 其实这类问题的根源就是喷头堵住了 ...
- 如何解决3D打印中出现拉丝和垂料问题?
转自:https://m.sohu.com/a/83141572_336216 一.概述 当打印件上残留细小的塑料丝线,则发生了拉丝.通常,这是因为当喷嘴移到新的位置时,塑料从喷嘴中垂出来了.作为弘瑞 ...
- blender 3d打印_如何在Blender中开始3D打印
blender 3d打印 作为3D艺术家,过去通常意味着您是一位数字艺术家,您在无形材料的虚拟环境中工作. 您的工作结果注定只能在印刷或屏幕上看到. 即使在虚拟现实(VR)环境中,结果充其量也只能是对 ...
- 怎样设置rotacast插件_鞋类丨3D打印设计中Grasshopper的应用——用插件Pufferfish生成网格...
(详情请戳上面图片链接↑↑↑)之前我们学习了怎么做方方正正的网格,但现实的产品总是奇形怪状的,怎么能在这些形体中生成网格呢?其实总体思路是一样的,我们也是要在形体之中生成单元格,然后把结构线对应到单元 ...
最新文章
- 学习 慕课网 PHP工程师学习计划--我的笔记汇总
- Spring事务传播行为详解
- mysql打印语句_最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)
- php下载文件压缩包已经损坏或未知格式,这个压缩文件格式未知或者数据已经被损坏解决方法...
- 离散蚁群算法实例(求解旅行商问题)
- 2017面试分享(js面试题记录)
- 趣读:程序员泪流满面的20个瞬间!
- 分类算法中常用的评价指标
- python dlib人脸检测_使用Python+OpenCV+Dlib实现人脸检测与人脸特征关键点识别
- Lintcode: Implement Queue by Stacks 解题报告
- 计算机aero背景黑,Win7中Aero下面的主题变为黑色
- 【渝粤教育】国家开放大学2018年秋季 1070t组织行为学 参考试题
- plc计算机辅助编程设计方法,国产plc怎么编程
- 分子生物学数据库和软件
- 统计推断-经典统计推断
- 软件开发测试男友花束,观察这四束花束凭直觉选一束花?测一测别人都在羡慕你的什么?...
- bootmgr快速修复win7_「科普」UEFI+GPT、Legacy+MBR引导模式介绍 引导修复
- c语言字符结构数组初始化,C语言结构体数组初始化问题
- 王茂斋拳架_王茂斋太极功(接近传奇,从读懂原著开始;吴式太极拳北派宗师王茂斋,门人杨禹廷、刘晚苍、王培生等名家辈出;《太极功源流支派论》《三十二目》)...
- 请用面向对象的思想,谈一谈这次面试的过程
热门文章
- 遇到Mac OS应用程序“Eclipse.app“无法打开的异常
- 在CSDN问答,什么样的回答更容易被采纳?
- 网络渗透技术笔记 3.9
- 最年轻的计算机教授,中国最年轻的教授_蔡海涛的学科成就
- Unity体感应用开发——Kinect V2 获取彩色摄像头数据
- html实用的插件,辅助工具
- 如何删除OneDrive在桌面右键的上下文菜单
- 7天物联网智能家居实战-DAY1
- qstring 字符串查找_QString总结
- 法大大荣获京交会人力资源“双创10强”