zoukankan      html  css  js  c++  java
  • 模拟输入(ADC-A0)

    ESP8266具有内置的10位ADC,只有一个ADC通道(A0引脚),即只有一个ADC输入引脚可读取来自外部器件的模拟电压

    ESP8266上的ADC通道和芯片供电电压复用,也就是说我们可以将其设置为测量系统电压或者外部电压

    测量外部电压:

    analogRead(A0),用于读取施加在模块的ADC引脚上的外部电压;

    输入电压范围:   0 - 3.0V之间;

    测量精度  由于ADC具有10位分辨率,因此会给出0-1023的值范围

    注意点:    为了支持外部电压范围(0-3.3v),NodeMcu做了一个电阻分压器,如图所示:

    例子

    编写一个读取NodeMcu的ADC引脚上的模拟电压。我们这里使用电位器在ADC引脚上提供0-3.3V的可变电压。如下图连接线:

     

    代码:

    void setup() {
      Serial.begin(115200);//配置波特率
    }
     
    void loop() {
      Serial.print("ADC Value: ");
      Serial.println(analogRead(A0));//读取A0脚的数据,输出0-1023 对应 外部输入电压 0-1.0v
      delay(1000);
    }
    测量系统VCC电压:
    ADC引脚必须保持悬空;在读取VCC电源电压之前,应更改ADC模式以读取系统电压
    ADC_MODE(ADC_VCC);//设置ADC模式为读取系统电压
    //ADC_MODE(ADC_TOUT)     读取外部电压模式---默认
    void setup() {
      Serial.begin(115200);//配置波特率
    }
     
    void loop() {
    Serial.print("ESP8266当前系统电压(mV): ");
    Serial.println(ESP.getVcc());//ESP.getVcc()读取VCC的电压,单位mv
    delay(1000);
    }

    天子骄龙 

  • 相关阅读:
    杂记
    asp.net preview 5 bug[转]
    jquery笔记
    北京互联网创业团队诚邀英才加盟
    伊瓜苏大瀑布
    log4net udp组件的应用
    Mock介绍
    自写的BackgroundWorker的学习例子
    RegexBuddy使用例子,及Visual Studio中正则使用的请教
    TestDriven.NET2.14.2190(not RTM) last update at 2008723
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11004953.html
Copyright © 2011-2022 走看看