用 NodeMCU 检查电池状态?

Posted

技术标签:

【中文标题】用 NodeMCU 检查电池状态?【英文标题】:Check the battery status with NodeMCU? 【发布时间】:2016-02-14 07:00:14 【问题描述】:

我使用来自NodeMCU 的 ESP8266 开发板和 Lua。我用两节 AA 电池为我的芯片供电,这给了我 3V。看到这个:

https://www.hackster.io/noelportugal/ifttt-smart-button-e11841

如何使

【问题讨论】:

顺便说一句,如果您不想为 OTA WiFi 设置部分添加额外的 Lua 代码,您可能需要将 enduser setup module 添加到您的固件中。 【参考方案1】:

使用最新固件,您可以使用adc.readvdd33()。这对你的情况应该足够了

【讨论】:

太棒了。 ESP8266 可以工作的最低电压是多少? 我的一个朋友用的是2*AA电池,一般电压降到2.5V以下就更换电池。低于该点,ESP 有时不会在深度睡眠后重新启动。【参考方案2】:

我在某处读到 adc.readvdd33() 已被弃用?实际上,它适用于许多可用的 ESP8266 模块,文档说,“如果 ESP8266 已配置为使用 ADC 对外部引脚进行采样,则此函数将始终返回 65535”。这意味着任何具有 ADC 引脚(如 ESP8266-07 或 -12 等)的 ESP8266 在固件中都有分流。

但是通过添加几个电阻来制作分压器,您仍然可以使用 ADC 引脚。

[![原理图][1]][1] [1]:http://i.stack.imgur.com/FEILF.png 这些电阻值将允许它读取 0-12V,作为 0-1024 之间的值。 (ADC管脚电压必须小于1V。)

val = adc.read(0)

附录:将其添加到您的电路中会产生大约 10 倍的功耗。 0.01 毫安,很小但比没有更多。将这些值乘以 1000 以将其减小到无穷小。或者对 r1 使用 18 兆欧,对 r2 使用 2 兆欧,这会将电压除以 10,并且(猜测)如果不是所有电池在断开连接时都会衰减,则消耗的电流比大多数电池少。

【讨论】:

它没有被弃用,并且有一个示例显示阅读内容:nodemcu.readthedocs.io/en/master/en/modules/adc/#example @mark-mcginty 我正在使用 NodeMCU v1.0 并将其与 9V 电池连接。那么你能告诉我,电阻值应该是多少?你是怎么计算的?而这个 5V 和接地电源可以来自 NodeMCU 的内置引脚? @user3201500 上图中显示的值适用于 0-12 伏,9 伏在该范围内。 Calcs:ohmslawcalculator.com/voltage-divider-calculator我不确定我是否理解你的第三个问题,但如果你问是否有任何 ESP8266 引脚可以提供 5 伏电压,答案是否定的。

以上是关于用 NodeMCU 检查电池状态?的主要内容,如果未能解决你的问题,请参考以下文章

ESP8266 NodeMCU Lua 如何清除堆?

使用 arduino IDE 从 esp8266 nodeMCU 中的服务器下载文件时是不是需要 CRC 检查?

用NodeMCU读DHT22传感器

使用ESP8266NodeMCU机智云改造传统插座为智能插座

编译NodeMcu

使用 sjson.decode() 在 NodeMCU Lua 中检测格式错误的 JSON