Arduino 简易屏显电子温度计

news2025/1/16 8:16:47

Arduino 简易屏显电子温度计

    • 一、前言
    • 二、硬件要求
    • 三、参数基础
    • 四、原理剖析
    • 五、实验思路
    • 六、程序概要
    • 七、arduino使用接线
    • 八、成果展示
    • 九、总结

一、前言

温度计的使用,在日常生活中随处可见,电子行业也有相应的温控传感器设备,不管的是电子芯片的种类,还是信号的输出处理协议上,已经是十分常见的了。

本次给各位介绍的就是一款,以热电偶为主体用来测温的模块,用来搭配成为显示便捷的电子温度计。

二、硬件要求

MAX6675是一个复杂的单片热电偶数字转换器,内部具有信号调节放大器、12位的模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器、1个SPI兼容接口和1个相关的逻辑控制。

热电偶的功能是检测热、冷两端温度的差值,热电偶热节点温度可在0℃-1023.75℃范围变化。冷端即安装MAX6675的电路板周围温度,该温度在20℃-85℃范围内变化。
在这里插入图片描述
0.96寸i2c协议的黄绿双色OLED显示屏一块,用来显示数值,不多赘述。
在这里插入图片描述
无源蜂鸣器模块一块,此处用来对温高或温低进行报警。
在这里插入图片描述

三、参数基础

MAX6675
支持协议:SPI
测温范围:0℃~ 1024℃
转换器温度分辨率:0.25°C
工作电压范围 :3. 0~5. 5V
工作电流 :50mA。
工作温度范围:-20℃~ 85℃
模块尺寸:15mm*28mm 含一个3mm直径螺丝孔
K型热电偶接线位置,使用301普通接线端子,方便简洁

oled显示屏
大小:0.96寸
分辨率:12864
宽电压:3.3-5v
体积: 27mm
27mm*2mm
温度范围:-30℃-70℃
使用寿命: ≥16000小时
支持协议:iic

无源蜂鸣器模块
工作电压:3.3-5v
小板pcb尺寸:3.3cm-1.3cm

四、原理剖析

MAX6675内部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T和T-输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。在将温度电压值转换为相等价的温度值之前,需要对热电偶的冷端温度进行补偿,冷端温度即MAX6675周围温度与0℃实际参考值之间的差值。
在这里插入图片描述
当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。MAX6675是通过冷端补偿检测和校正周围温度变化的,该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到ADC。
在这里插入图片描述
oled使用较为简易的ssd1306库,利用display一系列函数,编辑字体、颜色。。。。。。
在这里插入图片描述
无源蜂鸣器模块利用所测数值反馈的数值设定,达到需要的范围时,可通过开发板发出低电平,就可鸣叫示意。
在这里插入图片描述

五、实验思路

Created with Raphaël 2.3.0 开始 arduino程序编写、烧录 传感器接收温度 oled数值显示 达到限位时出现蜂鸣 结束

六、程序概要

#include <GyverMAX6675.h>// 6675的库

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>  //1306的库文件

#define CLK_PIN   13  //  SCK接线13
#define DATA_PIN  12  //  SO接线12
#define CS_PIN    10  //  CS接线10
GyverMAX6675<CLK_PIN, DATA_PIN, CS_PIN> sens; //调用GyverMAX6675子函数

#define OLED_RESET 13                   //设置复位是13号引脚
Adafruit_SSD1306 display(OLED_RESET);

#define m 7       //设置蜂鸣器的电平显示为7号引脚
void setup() {
  // put your setup code here, to run once:
display.begin(SSD1306_SWITCHCAPVCC,0x3C); //刷新
display.clearDisplay(); //清屏
display.setTextColor(WHITE);   //字体白色
display.display();  //显示
pinMode(m, OUTPUT);  //定义引脚为输出脚
}

void loop() {
  // put your main code here, to run repeatedly:
  display.setTextSize(2);       //字体大小为2号
  display.setCursor(0,0);         //字体排布在oled里面的行、列数

 if (sens.readTemp()) {   
  display.print("Temp:");          
  display.print(sens.getTemp()-2); //显示读出值
  display.print(" *C");
 display.display();
 display.clearDisplay();        //if函数,读取并显示此时的温度值,如果没有oled也可换为串口显示。不仅需要display改为Serial还有一次循环上,增加一个Serial.begin(需要的波特率)
     if((sens.getTemp()-2) > 37){
      digitalWrite(7,0);
      }
      else digitalWrite(7,1);            //对蜂鸣器的一个判断。
    //Serial.print(sens.getTempInt());  
  } else display.print("Error");  
                
}

七、arduino使用接线

线路连接:
MAX6675:
VCC——3.3V
GND——GND
SCK——13
SO——12
CS——10

OLED显示(IIC):
VCC——5V
GND——GND
SCL—— A5
SDA——A4

无源蜂鸣器:
VCC——VIN
GND——GND

在这里插入图片描述

八、成果展示

在这里插入图片描述

九、总结

1、本次使用中是以人体温度为测,较长的感应头可以方便伸入衣服等地方。不过误差在±1%,需要进行校正,上述程序就是借助得出值-2来进行精确,实验仅作参考。
2、程序中采集中,保证oled采集连贯显示,未设置延时,蜂鸣器仅出现嘀嗒声,不会连贯。
(电子助力亿点点,科技便捷每一天)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/117390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单片机实训day6——Proteus8.6版本+ STM32F103驱动LCD12864显示Keil5程序设计

内 容&#xff1a;实现LCD显示 学 时&#xff1a;4学时 知识点&#xff1a;LCD12864芯片介绍&#xff0c;读写操作时序&#xff0c;电路设计 重点&#xff1a; 读写操作时序 难点&#xff1a;读写操作时序 时间&#xff1a;2022年12月26日 9:00&#xff5e;11:50 总结&…

抖音小程序实践一:申请初始化

一、官方文档与实践 抖音小程序是什么&#xff1f;从官方视频了解 从2022年开始&#xff0c;字节跳动就开始火力全开的与知名企业合作&#xff0c;推动抖音小程序的孵化&#xff0c;然后逐步开放普通企业争相进入抖音小程序领域&#xff0c;来分一分流量的红利。 巨量星图抖…

微信小程序----使用发布订阅模式

目录 前言 小程序使用PubSubJS 获取 PubSubJS npm 构建 使用pubsub-js 1、使用publish发布消息 2、使用subscribe函数订阅消息 前言 发布-订阅模式 又叫 观察者模式。 它定义对象间的一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于…

excel图表设计:如何让数据变化更加可视化

挖掘数据背后的意义&#xff0c;不能只是单纯的将原始数据&#xff0c;从数字变成图表&#xff1b;而是要让数据变化具现出来&#xff0c;能直观看到其变化形态。 在我们的实际工作中&#xff0c;通常会看到很多类似下面这种架构的数据。 【正文】 因为这样的数据是非常常见的…

HTTP协议及Servlet详解

目录 HTTP协议 1、HTTP协议简介 2、HTTP协议特点 3、HTTP协议通信流程&#xff08;工作原理&#xff09; 4、HTTP报文格式 4.1、HTTP请求报文 4.2、HTTP响应报文 4.3、HTTP状态消息 Servlet详解 1、Servlet核心接口和类 1.1、Servlet接口 1.2、GenericServlet抽象类 …

分层自动化测试模型深入研究

分层自动化测试模型的发展 分层自动化测试模型最早是由Mike Cohn在2009年出版的《Succeeding with Agile》书中的第十六章进行阐述的,他说“测试金字塔是分层测试的一种最佳实践“。金字塔自动化测试模型如上图A所示,从下往上分为单元测试、接口测试、界面测试(其实我更习惯…

C语言 指针进阶学完指针必看练习题详解

该篇与上篇衔接 二维数组 int main() {int a[3][4] { 0 };printf("%d\n", sizeof(a));//48 3*4*sizeof(int)printf("%d\n", sizeof(a[0][0]));//4 第一行第一个元素 就是整形大小printf("%d\n", sizeof(a[0]));//16//a[0]就可以理解为 第…

Windows卸载easyconnect

Windows卸载easyconnect卸载深信服VPN客户端easyconnect解决办法卸载SangforPWEx服务手动卸载安装目录卸载深信服VPN客户端easyconnect Windows下的深信服VPN客户端easyconnect无法卸载. 解决办法 下载地址: http://download.sangfor.com.cn/download/product/sslvpn/Sangfor…

浅谈图数据库1:什么是图?

目录 一、图是什么&#xff1f; 二、“图”源自哪里&#xff1f; 三、加权图是什么&#xff1f; 四、有向图是什么&#xff1f; 五、图能给我们带来什么&#xff1f; 一、图是什么&#xff1f; 说到“图” 大部分人首先想到的是这样滴——图像 ​或者是 饼状图 折线图…

【ML实验4】多分类贝叶斯模型

实验代码获取 github repo 山东大学机器学习课程资源索引 实验目的 实验内容 数据集 构建多分类贝叶斯模型 这里的条件独立性指的是特征xjx_jxj​之间相互独立&#xff0c;这是一个十分强的假设。 证明 Problem Set 2 思路主要是证明下面引理&#xff0c;用拉格朗日乘子法&a…

CP2102国产替代DPU02— USB 转 UART 桥接芯片

DPU02是一个高度集成的USB转UART的桥接控制器&#xff0c;该产品提供了一个简单的解决方案&#xff0c;可将RS-232设计更新为USB设计&#xff0c;并简化PCB组件空间。该DPU02包括了一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带有完整调制解调控制信号的异步串行数…

【聆思CSK6视觉AI开发套件试用】Win11下安装全过程处理兼容性问题以及实现亮灯AI头肩检测

本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动&#xff0c;更多开发板试用活动请关注极术社区网站。作者&#xff1a;Wordiansom Win11上并且安装在其他盘的时候会出现的问题坑。。。。。。&#xff08;能用win10就用win10&#xff09;。 1. 晚拿到的开发板套件…

冲量在线携手中国电信研究院、北京电信和海光信息打造的数信链网的入选2022“星河”隐私计算标杆案例

为促进大数据技术产品及相关产业发展&#xff0c;加快培育数据要素市场、充分发挥数据作为生产要素的独特价值&#xff0c;树立行业标杆榜样力量&#xff0c;中国信息通信研究院、中国通信标准化协会大数据技术标准推进委员会(CCSA TC601)连续六年共同组织大数据“星河&#xf…

Java8 Stream流

目录Java8 Stream流一、Stream概述二、Stream 的创建&#xff08;4种方式&#xff09;参考地址&#xff08;表示感谢&#xff09;&#xff1a;Java8 Stream流 一、Stream概述 Stream API说明 Java8中有两大最为重要的改变。第一个是 Lambda 表达式&#xff1b;另外一个则是 St…

Gradle Plugin的开发及发布

Gradle Plugin的开发及发布前言插件的开发学习阶段&#xff08;build.gradle脚本&#xff09;开发阶段&#xff08;buildSrc&#xff09;PluginTaskExtension发布阶段&#xff08;独立module&#xff09;发布到本地发布到MavenCentral准备sonatype账号创建pgp证书配置sonatype和…

数据结构与算法基础(王卓)(6):带尾指针(单向)循环链表的合并;双链表及其插入和删除的详细操作

带尾指针&#xff08;单向&#xff09;循环链表的合并 PPT(157)&#xff1a; 操作前初始设定预设的条件​​​​我们要做的&#xff0c;即&#xff1a; 让A表尾节点指向B表首结点&#xff0c;让B表尾节点指向A表首结点&#xff1a; Project 1&#xff1a; Status 合并链表(…

NVIDIA NCCL 源码学习(九)- 单机内ncclSend和ncclRecv的过程

上节介绍了通信链路的建立过程&#xff0c;本节介绍下单机内部ncclSend和ncclRecv的运行过程。 单机内的通信都是通过kernel来进行的&#xff0c;所以整个通信的过程可以分为两步&#xff0c;第一步是准备kernel相关的参数&#xff0c;第二步是实际执行kernel的过程。 为方便…

闯关(贪心)

某综艺频道推出了一个闯关活动。 活动一共包含 n 个关卡&#xff08;编号 1∼n&#xff09;&#xff0c;其中 m 个关卡为特殊关卡。 每个关卡都有一个通关分数&#xff0c;其中第 i 个关卡的通关分数为 ai。 挑战者可以自由决定所有关卡的具体挑战顺序&#xff0c;并且每通过…

【工具类】Elasticsearch的HTTP客户端(Java)

一、介绍 1. 原理 Java基于Http请求操作ES&#xff0c;与Kibana上的操作一致。 Kibana上的dsl与Http的关系&#xff1a; GET、POST等同于HTTP的POSTPUT 等同于HTTP的PUTDELETE 等同于HTTP的DELETE 如图 该DSL可转化为HTTP请求 POST ip:port/docwrite/_search 请求体为&…

Mysql online DDL工具:gh-ost

gh-ost特点&#xff1a; 1、不使用触发器。 在gh-ost出现之前第三方MySQL DDL工具均采用触发器的方式进行实现&#xff0c;包括前面percona的pt-osc&#xff0c;Facebook的OSC等等。而gh-ost采用的机制和他们完全不同&#xff1a;它通过MySQL binlog来同步数据。 gh-ost会伪装…