arduino 温度传感器 玩转Arduino手机编程——打造极具创客范的体温计
玩转Arduino手机编程——打造极具创客范的体温计
体温计是我们生活中非常常见的健康用品,自疫情以来更是在“热销”榜上居高不下,比较多见的主要有水银体温计、电子体温计、红外线体温计。
如果在紧急情况下需要,但手头上没有现成的体温计怎么办呢?
作为一名爱鼓捣的创客,这都不是事儿!不就是一个温度传感器+一个控制器+一个显示模块解决的事儿嘛。
今天小蜗牛就给大家展示一个更加极致的、更具创客范的体温计。
一、所需器件
蜗牛控制器蜗牛控制器:完全兼容Arduino,支持手机编程
DS18B20金属头温度传感器DS18B20:高精度单总线数字温度传感器
DS18B20是由Maxim Integrated(以前的Dallas Semicondu ctor)生产的数字温度传感器。它是市场上最受欢迎的温度传感器之一,在较大的温度范围(-55°C至+125 C)内提供相当高的精度(+0.5C),对于我们日常生活中的湿度测量包括体温测量是绰绰有余了。由于传感器的工作电压为3.0至5.5V,因此可以与Arduino直接连接。
红线为电源线(3.0V~5.5V),黑线为地线(GND),黄线为数据线。
二、连接电路
DS18B20传感器的电源线接到蜗牛控制器的5V引脚,黑线连接到“接地”引脚,黄线连接至D2引脚。同时,数据线要串联一个5000欧姆左右的电阻上拉到5V。
三、编程实现
借用蜗牛控制器自带的蓝牙串口组件,直接将采集的温度值发送到手机上,不再需要额外的显示模块。
1.打开串口
在“串口”积木组中选择“打开串口”积木,将其拖放到右侧的“初始化区”,拼接如下。
注意:蜗牛控制器的波特率必须设置为115200
2.DS18B20获取湿度值
DS18B20利用单总线协议控制,时序严格而且复杂。但好在Arduino的开发者们为它开发了一整套的开发函数,创客们只需调用几条函数语句即可。而蜗牛控制器对DS18B20的使用更胜一筹,因为全程只需要一个积木。
DS18B20编程积木
DS18B20积木位于“传感器”积木组中。将其拖放至程序区后,只需指定它的连接引脚(DATA管脚连在蜗牛控制器的IO端口编号)即可,这里选择2,即对应D2引脚。
3.温度测量显示
蜗牛端将DS18B20采集到的温度值通过蓝牙串口发送到手机端,手机端通过接收后在“交互”窗口进行显示。
串口发送温湿度值用到了“串口打印”和“串口打印(换行)”两种串口发送积木。
前者输出后不换行,保证下一次输出内容在同一行;后者输出后换行,下一次输出内容显示在下一行。最后,因为单片机执行速度很快,执行上述语句大概只需要几十微秒,为防止串口堵塞,必须加一个延迟等待,而且温度也不需要特别快的显示频率。延时等待积木位于左侧的“控制”积木组。这里每1秒显示一次测量结果。
这些积木组合后拼接成如下的样式。
完整的程序模块
四、程序下载
1.蜗牛控制器供电
供电后,其上的蓝色指示灯会处于闪烁状态,表明蜗牛控制器正常工作了。
2.手机环境配置
使用蜗牛手机APP时,需要打开手机的蓝牙和GPS定位功能,同时保证蓝牙未被其它设备连接。
3.连接蜗牛控制器
点击左上角的“连接”按钮,按钮由灰底“连接”切换为黄底“断开”,表明连接成功。
点击“下载”按钮开始程序编绎和下载,就可以看到“下载”按钮切换为百分号数字进度条了。
程序无线下载中...
五、温度测量
程序下载完成后,连接后传感器,将DS18B20的金属头清洁后,夹在腋窝。
体温测量中...
点击APP最上面的“交互”按钮,打开手机与蜗牛控制器的交互窗口。可以看到,每隔1秒钟左右,蜗牛控制器上传一次温度值到手机上。大概3分钟后就可以看到体温趋于稳定了。
六、后记
1.测量校准
使用中,DS18B20与真实湿度值还是有一定偏差的,这时我们就需要对它进行大致的校准,做到心里有数。
最简单的校准方法就是选定一个基准温度(最常用的是人的体温),也就是在尽量短的时间内,分别用数字湿度计和我们本例的湿度计分别测量一个体温,计算两者的偏差,作为后续使用的修改系数。
2.应用范围
由于DS18B20的测量湿度范围较宽,该体温计不仅可以用于体温检测,还可以用于生活中的水温测量等等,还是比较广泛的。
温度传感器 LM35
温度传感器有很多类型,今天我们再来学习一种:温度传感器LM35
它精密集成电路温度器件,输出电压与摄氏温度成线性比例。
LM35器件优于以开尔文校准的线性温度传感器,因为用户不需要从输出中减去大的恒定电压以获得便利的摄氏缩放。LM35器件不需要任何外部校准或调整,即可在室温下提供±1/4°C的典型精度,在-55°C至150°C的温度范围内提供±3°C的典型精度。
技术规格
直接以摄氏度校准
线性 + 10-mV/°C比例因子
0.5°C确保准确度(在25°C)
额定温度范围为-55°C至150°C
适用于远程应用
必需的组件
你将需要以下组件:
1 × Breadboard 面包板
1 × Arduino Uno R3
1 × LM35 传感器
程序
按照电路图连接面包板上的组件,如下图所示。
在计算机上打开Arduino IDE软件。使用Arduino语言进行编码控制你的电路。通过单击“New”打开一个新的窗口
。
Arduino代码
float temp; //定义浮点型变量,记录读取的数据
int tempPin = 0;//传感器数据接到A0口
void setup() {
Serial.begin(9600);
}
void loop() {
temp = analogRead(tempPin);//读取模拟口传来的数据
// read analog volt from sensor and save to variable temp
temp = temp * 0.48828125;//通过系数换算
// convert the analog volt to its temperature equivalent
Serial.print("TEMPERATURE = ");
Serial.print(temp); // display temperature value
Serial.print("*C");
Serial.println();
delay(1000); // update sensor reading each one second
}
代码说明
LM35传感器有三个端子:Vs,Vout和GND。我们将按如下方式连接传感器:
将+Vs连接到Arduino板上的+5v电压。
将Vout连接到Arduino板上的模拟0或A0。
将GND连接到Arduino上的GND。
模数转换器(ADC)基于公式ADC值将模拟值转换为数字近似值=样本*1024/参考电压(+5v)。将模拟值转换为数字逼近。 那么用+5v做参考,数字近似值将等于输入电压*205。
相关问答
stm32和 arduino传感器 可以共用么?可以使用Arduino相关的传感器,只要电压是5V的都可以。一般开关型和电压型的传感器可以直接使用,其他需要特定协议的传感器要根据协议编写代码或引用51单片机的...
家用电烤火炉温控器自制?电烤火炉是一种常见的取暖设备。现有的电烤火炉一般在侧面上安装有电位器开关,通过手动操作电位器开关来控制电烤火炉的开关和调节温度。但是现有的电烤火炉在...
arduino 介绍?Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、...
树莓派是否能使用 Arduino传感器 ?当然可以通过gpio完善一下:题主需要知道:是没有arduino传感器这一说的,各种传感器都会输出数据,各种主控都可以自由读取这些数据,只存在Arduino专用扩展板...
arduino 雨滴 传感器 控制led灯程序?点亮LED灯的程序,我们可以有一个控制旋钮,打开旋钮就可以点亮,但是灯的程序在打开的过程当中,需要进行相应的检测程序安装正确就可以进行点亮。哎呀dunall...
如何评价软件 Arduino ?笔者认为是Arduino太简单了,在STM32单片机上需要一个星期才能完成功能的任务,用Arduino做出同样的项目不需要2...更有千千万万的创客在里面沟通、交流,社区里...
怎么做一个空调显示器监视器?制作空调显示器监视器需要以下步骤:1.**选取合适的硬件组件**:选择适用的液晶显示屏、微控制器(如Arduino、RaspberryPi)、温湿度传感器等。2.**编程开...
怎样在玻璃上面显示 温度 计?要在玻璃上显示温度计,首先需要一个温度传感器和相应的显示设备。常见的温度传感器有热电偶、热敏电阻等,它们可以将温度转化为电信号。然后,你可以使用一个电...
arduino 湿度 传感器 不检测的时候显示1023?是的,当Arduino湿度传感器不检测时显示1023。1.这是由于Arduino湿度传感器的工作原理决定的。传感器采用模拟信号输出方式,当传感器不检测湿度时,会产生一...
物联网技术到底是什么技术?物联网工程到底是学什么的啊?物联网技术近几年火了起来,其实物联网最早可以追溯到1990年施乐的网络可乐贩卖机。很多大学也开设了物联网专业,那我们今天大致了解一下物联网。起源1995年比...