ATmega328芯片-“变身”-温度计-,附示例教程
概述
常见的AVR单片机内都包含一个温度传感器,用于监测异常高温,便于通过编程为单片机提供保护。
用于Arduino主控芯片的常见的AVR单片机列表如下:
MCU | 是否内嵌温度传感器 |
---|---|
ATmega8 | No |
ATmega8L | No |
ATmega8A | No |
ATmega168 | No |
ATmega168A | Yes |
ATmega168P | Yes |
ATmega328 | Yes |
ATmega328P (Arduino UNO\MiNi\Pro MINI) | Yes |
ATmega1280 (Arduino Mega) | No |
ATmega2560 (Arduino Mega 2560) | No |
ATmega32U4 (Arduino Leonardo) | Yes |
通过上表可以看出:常用的Arduino UNO可以作为临时温度传感器使用。
今天的实验,我们就通过编程来读取ATmega328P内部温度计的读数。
实验分析
由于通电电阻的热效应,只有刚开机时AVR单片机的温度才是室温,随后随着MCU工作产热,温度会有上升。
程序里提供的温度单位是摄氏度,由串口监视窗口显出,准确性依赖于GetTemp函数里t的线性转换公式,你可以改变104.31这个数来校准读数。
实验代码
// Internal Temperature Sensor// Example sketch for ATmega328 types.void setup(){Serial.begin(9600); Serial.println(F("Internal Temperature Sensor"));}void loop(){// Show the temperature in degrees Celcius.Serial.println(GetTemp(),1);delay(1000);}double GetTemp(void){unsigned int wADC;double t;// The internal temperature has to be used// with the internal reference of 1.1V.// Channel 8 can not be selected with// the analogRead function yet. // Set the internal reference and mux.ADMUX = (_BV(REFS1) | _BV(REFS0) | _BV(MUX3));ADCSRA |= _BV(ADEN); // enable the ADC delay(20); // wait for voltages to become stable. ADCSRA |= _BV(ADSC); // Start the ADC // Detect end-of-conversionwhile (bit_is_set(ADCSRA,ADSC)); // Reading register "ADCW" takes care of how to read ADCL and ADCH.wADC = ADCW; // The offset of 324.31 could be wrong. It is just an indication.t = (wADC - 104.31 ) / 1.22; // The returned temperature is in degrees Celcius.return (t);}
参考文档
Atmel官方校准AVR内部温度的参考文档
一篇与本文相关的技术文档
一些测量确定偏移量和获得
内部温度传感器可以用作一个随机数种子
感谢一直关注着禾灮成长进步的朋友们。你们的信任、支持和鼓励,鞭策着我们一路走到了今天。感谢所有的合作伙伴,我们相互促进,共同见证了彼此的成长。感谢所有曾经在禾灮彼此倚靠、相互鼓励、携手同心、砥砺同行的兄弟姐妹。这里承载了我们的青春与热血。禾灮,感谢有你。未来,我们将一如既往,砥砺前行。禾灮·小楊2018.07.20
ATmega328芯片-“变身”-温度计-,附示例教程相关推荐
- M1芯片Mac安装达芬奇17闪退安装不了,怎么办?达芬奇17直装优化版支持big sur/M1芯片处理器 详细的安装教程+中英文设置方法
达芬奇调色软件DaVinci Resolve Studio 17是Blackmagic Design 旗下一款著名的调色软件,也是世界上唯一一款将专业8K编辑,色彩校正,视觉效果和音频后期制作功能集于 ...
- php 构造函数 链接数据库,构造函数在php中的使用方法(附示例)-php教程
php中的结构函数 正在PHP里,假如你不手写结构函数,则php正在实例化这个工具的时分,会主动为类成员和类办法进行初始化,调配内存等工作,然而有些时分不克不及餍足咱们的要求,比方咱们要正在工具实例化 ...
- python中pickle模块的用法_Python中json模块和pickle模块的简单介绍(附示例)
本篇文章给大家带来的内容是关于Python中json模块和pickle模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Python中的json模块和pickl ...
- mysql查看用户名_Mysql创建数据表的方法介绍(附示例)
本篇文章给大家带来的内容是关于Mysql创建数据表的方法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据表是数据库最重要的组成部分之一,是其他对象的基础.如果我们的 ...
- 微软Windows 11正式发布!(附安装教程)
如此前预告,微软官方宣布,Windows 11正式版于今日(10月5日)全面上市. Windows 11现在已经正式可以下载了.虽然微软之前宣布将于10月5日在全球范围内推出搭载Windows 11的 ...
- c52传感器温度显示c语言编程,基于STC89C52的数字温度计 附C语言代码.doc
基于STC89C52的数字温度计 附C语言代码 <数字显示温度计>论文 学校: 华侨大学 学院: 信息科学与工程学院 班级:10级 集成电路设计与集成系统 组别: 自控06组 组员:*** ...
- mysql创建数据表示例_Mysql创建数据表的方法介绍(附示例)
本篇文章给大家带来的内容是关于Mysql创建数据表的方法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 数据表是数据库最重要的组成部分之一,是其他对象的基础.如果我们的 ...
- mongodb安装失败与解决方法(附安装教程)
mongodb安装失败与解决方法(附安装教程) 参考文章: (1)mongodb安装失败与解决方法(附安装教程) (2)https://www.cnblogs.com/liuda-page/p/922 ...
- python同步异步_python中Tornado的同步与异步I/O的介绍(附示例)
本篇文章给大家带来的内容是关于python中Tornado的同步与异步I/O的介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 协程是Tornado种推荐的编程方式,使用 ...
- java final 实例_Java中final实现原理的深入分析(附示例)
本篇文章给大家带来的内容是关于Java中final实现原理的深入分析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. final在Java中是一个保留的关键字,可以声明成员变 ...
最新文章
- pytorch 随机打乱
- 高效学习,战胜拖延症
- java字母反过来_java之字母反转~~ - Plight - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
- 给定三角形 ABC 和一点 P(x,y,z),判断点 P 是否在 ABC 内,给出思路并手写代码
- association in CDS view is converted to LEFT OUTER MANY TO ONE JOIN in the runtime
- python操作文件和目录_python文件和目录操作方法
- 什么是Redis的VM机制
- Android LED电子表时钟字体digital font
- m4s格式转换mp3_AnyMP4 MP3 Converter for Mac(音视频mp3格式转换工具)
- 腾跃英语计算机学院微信公众号,英语四级报名_微信还能这么玩:Geek大学生搭建英语课堂互动系统_沪江英语...
- java计算机毕业设计基于安卓/微信小程序的个人健康打卡系统
- Node Express框架快速入门教程
- 2017杭州云栖大会精华PPT
- mysql 存储过程 if !=_mysql 存储过程 if !=
- 2017陕西省网络空间安全技术大赛_Crypto_crypt1_Writeup
- 解决:U盘无法安装到这个磁盘选中的磁盘具有MBR分区表
- 筛法打印质数表【附:100000以内质数表】
- 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
- 基于java大学生就业信息管理系统
- ios .mm文件调用c语言函数报错,深入浅出 iOS 编译
热门文章
- 一场农业“人机”对战,能否凿开农村致富新门路呢?
- 梦幻古龙服务器系统,【梦幻XY单机服务端】梦幻古龙一键安装客户端+附搭建安装教程...
- 数据中心建筑及装修施工工序工艺管理要点
- lgg7刷机包下载_LG G7 恢复Download回官方。
- 暴风影音- C++研发工程师(windows方向-在线视频)
- Android建快捷方式app,创建快捷方式最新版下载-创建快捷方式appv1.17 安卓版-腾牛安卓网...
- Java学习资料--网盘分享
- unity开宝箱动画_如何用PPT打造一个「开启宝箱」的动画?
- 红米K40 Pro的root步骤(MIUI12.5 稳定版 安卓11)
- UCRT: VC 2015 Universal CRT, by Microsoft