基于wemos d1开发版读取 DS18B20 传感器的温度及-127度问题

      在使用wemos的过程中,发现对于DS18B20的文章很少,大多数都是Arduino板的文章,虽然代码通用。但是还是有一些坑的。在这里就不讨论代码了,主要记录一下那几点坑及和Arduino板的一些区别。

      1、如果你一直显示-127度,那么排除你物理接线有问题,可能有以下原因:

           1)你的io口不对,wemos 板io口和通过DallasTemperature包代码添加的口差异很大,而且写D*也是不生效的,你需要写和Arduino板一样的纯数字,但是这里也是坑的开始,这里写出数字和wemos板的io口是不对应的,就拿2为例,你如果插入D2就会读到-127度,因为没有读到硬件。如果你写的2,需要插入到 D9 中。其他的话需要一 一测试。

      wemos在DS18B20时和Arduino板的区别

      ·1、他们所对应的io口差异很大,Arduino板和代码输入的io口一直,但是wemos板差异很大。而且在用DallasTemperature包读取过程中,weoms的插口和gpio口值也没有关系,比如D2对应GPIO16,但是你代码写16,插在D2口你也是拿不到数据的

 

       2、Arduino板载读取DS18B20时是需要绑定一个4.7k的电阻的,这个和网上说的一致。而且DS18B20可以接在5V或者3.3V都可以正常工作。

 

      3、wemos板读取DS18B20不需要特意绑定一个电阻。而且5V和3.3V都可以读到数据。但是在5V的时候数据不稳定,所以必须使用3.3V输入。

上一篇:基于51单片机的DS18B20温控风扇设计方案(仿真+原理图+源码+参考论文)


下一篇:单片机综合实验报告-06 | 数字温度计设计