PlatformIO+ESP32+Vscode+DS18B20温度传感器(一直输出-127)
DS18B20一直输出-127 ??
一、硬件连线

将相应的线接到ESP wroom 32

二、代码
- 先在PlatformIO的library添加onWire库和DallasTemperature
库 #include <Arduino.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define DS18B20PIN 4 OneWire onWire(DS18B20PIN);
DallasTemperature sensors(&onWire);
void setup()
{
Serial.begin(115200);
sensors.begin();
} void loop()
{
sensors.requestTemperatures(); // Send the command to get temperatures
float ds_num = sensors.getTempCByIndex(0);
Serial.println(ds_num);
}
三、遇到的问题
代码编译运行没有问题,但是在串口看到都是输出-127。

网上看了解决方案是这样说的:
- ESP32 的GPIOx与Dx可能不是一个口,所以定义的时候得注意下那个IO口是不是对的。
- 电源没有正确接入
- 需要外加一个上拉电阻
我遇到的是第3个。后来查看ESP32 的数据手册知道,有点GPIO是不提供上拉的。而且DS18B20的手册也有说,需要加上拉电阻。原因是这样的,IO作为输出时,自带锁存功能,也就是写1后,输出一直是1(锁存器上的值),引脚上可能被外部电路影响而不是1了。所以需要上拉。

加了上拉电阻之后,就能够输出正常的温度值了。


如有见解,欢迎留言指教。
PlatformIO+ESP32+Vscode+DS18B20温度传感器(一直输出-127)的更多相关文章
- 单线制DS18B20温度传感器LED数码管显示当前的温度值
/******************************************* 程序功能:利用单线制DS18B20温度传感器 LED数码管显示当前的温度值 ***************** ...
- DS18b20温度传感器基础使用
认识管脚 认识唯一标示的64位地址序列号 寄存器数据译码成温度值(下面只针对12位转化的,还有9..10等其他位的转化方式,不同位的转化,其精度也不同) 传感器存储器 配置寄存器使用说明 DS18b2 ...
- DS18B20温度传感器知识点总结
2018-01-1818:20:48 感觉自己最近有点凌乱,一个很简单的问题都能困扰自己很久.以前能很好使用和调试的DS18B20温度传感器,今天愣是搞了很久,妈卖批. 仅仅一个上拉电阻就困扰了我很久 ...
- 「雕爷学编程」Arduino动手做(39)——DS18B20温度传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- nanopi的ds18b20温度传感器测试
参考(抄袭)资料在这里 先接线,3.3v,gnd,数据输出脚,我是PG11 vim /boot/armbianEnv.txt overlays=w1-gpio param_w1_pin=PG11 pa ...
- 单片机学习(十二)1-Wire通信协议和DS18B20温度传感器
目录 一.DS18B20 1. DS18B20简介 2. 电路原理图 3. 内部结构 内部完整结构框图 存储器结构 二.单总线(1-Wire BUS) 1. 单总线简介 2. 电路规范 3. 单总线的 ...
- 总结:如何驱动DS18B20温度传感器
DS18B20时序分析: 以下是STM32的驱动代码: #include "bsp_ds18b20.h" static void DS18B20_GPIO_Config(void) ...
- vscode springboot logback 日志输出到不同文件
参照了:https://blog.csdn.net/appleyk/article/details/78717388# 在src\main\resources中新建一个logback-boot.xml ...
- 使用天祥TX-1C调试DS18B20温度传感器的收获
翻查DS18B20的DataSheet编写操作函数,其过程遇到了不少坎,记下来备查. 对于单总线的DS18B20芯片,首先严格按照时序图写出正确的“写0”.“写1”和“读0.1”的基础函数,再以此写出 ...
- stm32 ds18b20 温度传感器
相关文章:http://blog.csdn.net/zhangxuechao_/article/details/74991985 举例 void DS18B20_in() { GPIO_InitTyp ...
随机推荐
- Hadoop3 No FileSystem for scheme "hdfs"
Hadoop3 No FileSystem for scheme "hdfs" 异常信息: org.apache.hadoop.fs.UnsupportedFileSystemEx ...
- 在Visual Studio中部署GDAL库的C++版本(包括SQLite、PROJ等依赖)
本文介绍在Visual Studio软件中配置.编译C++环境下GDAL库.SQLite环境与PROJ库的详细方法. GDAL库是一个非常方便的地理数据处理库,但其在C++环境下的配置与编译流 ...
- 一次人脸识别ViewFaceCore使用的经验分享,看我把门店淘汰下来的POS机改成了人脸考勤机
POS软件是什么?你好意思吗,还在用老掉牙的Winform. 门店被淘汰的POS机 销售终端--POS(point of sale)是一种多功能终端,把它安装在信用卡的特约商户和受理网点中与计算机联成 ...
- 完蛋,我被offer包围了|秋招自救指南
前言 白泽时隔8年终于记起了b站的密码,这篇文章的视频讲解版已经上传,出镜怪不好意思的,后面写技术文章也会同步用视频的方式讲解,期待您的关注. 公众号:白泽talk,交流群:622383022. 大家 ...
- 编写高效的代码,你应该了解Array、Memory、ReadOnlySequence
针对"缓冲区"编程是一个非常注重"性能"的地方,我们应该尽可能地避免武断地创建字节数组来存储读取的内容,这样不但会导致大量的字节拷贝,临时创建的字节数组还会带来 ...
- NC19325 游戏
题目链接 题目 题目描述 BLUESKY007,fengxunling和dreagonm三个人发现了一个像素游戏,这款神奇的游戏每次会生成一个nxm的网格,其中每一个格子都被随机染色为R,G,B三种颜 ...
- Hooks与普通函数的区别
Hooks与普通函数的区别 在这里的Hooks具体指的是自定义Hooks,自定义的Hooks与我们定义的普通函数类似,都可以封装逻辑,以实现逻辑的复用.Hooks实际上是一种特殊的函数,而由于Hook ...
- SpringBoot+Shiro+LayUI权限管理系统项目-2.业务模型分析
1.项目模型介绍 1.1 部门表 部门编码.部门名称.上级部门 1.2 角色表 角色编码.角色名称 1.3 权限表 权限名称.权限标识.权限类型.上级权限.URL.权限图标.是否外部打开 1.4 用户 ...
- win32 - wsprintf和wvsprintf
前者很常用, 经常被用来转换为字符串或者拼接字符串. 例子: #include <Windows.h> #include <stdio.h> int main() { int ...
- ASP.NET Core MVC应用模型的构建[2]: 定制应用模型
在对应用模型的基本构建方式具有大致的了解之后,我们来系统地认识一下描述应用模型的ApplicationModel类型.对于一个描述MVC应用模型的ApplicationModel对象来说,它承载的元数 ...