求助 analogRead 不能读取数据 wifi-Arduino中文社区 - Powered by Discuz! Archiver

fenghai2ni 发表于 2020-8-27 13:18

求助 analogRead 不能读取数据 wifi

本帖最后由 fenghai2ni 于 2020-8-28 09:55 编辑

问题已经解决 出在adc针脚上esp32 在使用wifi的时候 adc2 的虚拟量读不出来而只能用adc1

使用的是esp32   开发板
做 电压陶瓷震动传感器 案例
esp32用sta模式 连接网络后 不能使用analogRead ()方法读取到针脚的模拟数据这个怎么办呢?
https://www.arduino.cn/data/attachment/forum/201909/05/092034u2b6tvaua22zp828.jpg

出现的问题:
单独测试这个是可以读取到数据的 代码如下
#define LED_PIN 2
int zhendong = 13; // ESP32 Pin D4
int valq;

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("ESP32 Touch Test");
pinMode(LED_PIN, OUTPUT);
pinMode(zhendong, INPUT);
digitalWrite(LED_PIN, 0);
}

void loop() {
// put your main code here, to run repeatedly:
valq = analogRead(zhendong);
if (valq == 0) {
digitalWrite(LED_PIN, 0);
}
else {
digitalWrite(LED_PIN, 1);
Serial.println(valq);
}
delay(1000);
}

当我想通过wifi将读取的数据传送到电脑上
这时候analogRead 方法读取不到针脚的数据了
后来又试了digitalRead() 方法 确认是可以读到0.1数据的

增加后的代码:

#include <WiFi.h>
#define LED_PIN 2
int zhendong = 13; // ESP32 Pin D4
int valq;
#define AP_SSID "111111" //这里改成你的wifi名字
#define AP_PSW"123456788"//这里改成你的wifi密码

void setup() {
      // put your setup code here, to run once:
      Serial.begin(115200);
      Serial.println("ESP32 Touch Test");
      pinMode(LED_PIN, OUTPUT);
      pinMode(zhendong, INPUT);
      digitalWrite(LED_PIN, 0);

      WiFi.mode(WIFI_STA);
      WiFi.begin(AP_SSID, AP_PSW);
      Serial.println("等待连接WiFi... ");
      while (WiFi.status() != WL_CONNECTED) {
                Serial.print(".");
                WiFi.begin(AP_SSID, AP_PSW);
                delay(1000);
      }
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.print("IP address: ");
      Serial.println(WiFi.localIP());
}

void loop() {
      // put your main code here, to run repeatedly:
      valq = analogRead(zhendong);
      if (valq == 0) {
                digitalWrite(LED_PIN, 0);
      }
      else {
                digitalWrite(LED_PIN, 1);
                Serial.println(valq);
      }
      delay(1000);
}
















ifeue 发表于 2020-8-28 06:50

从这些信息里真看不出问题

fenghai2ni 发表于 2020-8-28 09:53

ifeue 发表于 2020-8-28 06:50
从这些信息里真看不出问题

感谢关注 此问题已经解决

n1001 发表于 2020-8-28 23:59

ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解决
具体请百度,我就一个模糊的印象

fenghai2ni 发表于 2020-9-3 10:30

n1001 发表于 2020-8-28 23:59
ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解 ...

确实是这个问题 感谢您帮助

n1001 发表于 2020-9-6 13:34

fenghai2ni 发表于 2020-9-3 10:30
确实是这个问题 感谢您帮助

我也是刚好遇到,顺便查了一下
页: [1]
查看完整版本: 求助 analogRead 不能读取数据 wifi