zoukankan      html  css  js  c++  java
  • arduino开发ESP8266学习笔记五——模拟输入

    ESP8266ADC检测电压是0V到1V,和arduino uno和nano的0~5V不同,使用时一定要注意输入的电压不能超过0V到1V否则会烧坏ESP8266的ADC。ESP8266的ADC是12为的,所以返回值值从0-1023之间的值,ESP8266只有一个ADC即使A0脚。

    电路图如图1所示:

    图1

    通过电阻分压得到适当的电压值,为保险起见,将上面的电阻设置成3.3K。这样最大电压值就是

    为了效果明显,使用一个LED用采到的电压值,设置LED亮度。

     程序代码

    int analogInput=A0;//
    int LED=14;
    void setup() {
      Serial.begin(9600);//初始化串口波特率
      pinMode(LED,OUTPUT);
      //Serial.println("模拟电压值:");//通过串口发送

    }

    void loop()
    {
      int analogValue;//用来存放读到的模拟值,范围是0-1023
      // float brightnessValue;
      analogValue=analogRead(analogInput);
      // brightnessValue=1.0*analogValue/1024.0;
      analogWrite(LED,analogValue);
      delay(1);
      Serial.println(analogValue);//通过串口将采到的模拟值发送到电脑

    }

    额,代码是对的,但是不知道是不是开发板的原因,我的模拟返回值最高只有241(分压电阻位50K),当分压电阻为1K的时候只有136。 

     ?????????????????

     

     

     

  • 相关阅读:
    布局类组件介绍
    容器类组件介绍
    应用升级介绍
    Http组件的介绍
    Webview组件和HTML的介绍
    数据绑定介绍
    业界最具影响力MySQL精品文章荟萃(300篇)
    业界最有价值的 ASP.NET 博文汇总
    一个引号导致1个小时网站打不开
    这个世界从来没有任何一件工作叫“钱多、事少、离家近”
  • 原文地址:https://www.cnblogs.com/--Destroyer--/p/13282555.html
Copyright © 2011-2022 走看看