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。 

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

     

     

     

  • 相关阅读:
    idea config 文件
    python 时间相关
    python 限定类型
    windows 创建文件夹 链接
    java 笔记
    yml 字符串换行问题
    nginx 编译安装,问题
    git readme.md 文档头部写法
    git tag 相关操作
    敏捷开发
  • 原文地址:https://www.cnblogs.com/--Destroyer--/p/13282555.html
Copyright © 2011-2022 走看看