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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1969|回复: 5

求助 analogRead 不能读取数据 wifi

[复制链接]
发表于 2020-8-27 13:18 | 显示全部楼层 |阅读模式
本帖最后由 fenghai2ni 于 2020-8-28 09:55 编辑

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

使用的是esp32   开发板
做 电压陶瓷震动传感器 案例
esp32用sta模式 连接网络后 不能使用analogRead ()方法读取到针脚的模拟数据  这个怎么办呢?


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

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

  12. void loop() {
  13. // put your main code here, to run repeatedly:
  14. valq = analogRead(zhendong);
  15. if (valq == 0) {
  16. digitalWrite(LED_PIN, 0);
  17. }
  18. else {
  19. digitalWrite(LED_PIN, 1);
  20. Serial.println(valq);
  21. }
  22. delay(1000);
  23. }
复制代码


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

增加后的代码:

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

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

  14.         WiFi.mode(WIFI_STA);
  15.         WiFi.begin(AP_SSID, AP_PSW);
  16.         Serial.println("等待连接WiFi... ");
  17.         while (WiFi.status() != WL_CONNECTED) {
  18.                 Serial.print(".");
  19.                 WiFi.begin(AP_SSID, AP_PSW);
  20.                 delay(1000);
  21.         }
  22.         Serial.println("");
  23.         Serial.println("WiFi connected");
  24.         Serial.print("IP address: ");
  25.         Serial.println(WiFi.localIP());
  26. }

  27. void loop() {
  28.         // put your main code here, to run repeatedly:
  29.         valq = analogRead(zhendong);
  30.         if (valq == 0) {
  31.                 digitalWrite(LED_PIN, 0);
  32.         }
  33.         else {
  34.                 digitalWrite(LED_PIN, 1);
  35.                 Serial.println(valq);
  36.         }
  37.         delay(1000);
  38. }
复制代码

















发表于 2020-8-28 06:50 | 显示全部楼层
从这些信息里真看不出问题
 楼主| 发表于 2020-8-28 09:53 | 显示全部楼层
ifeue 发表于 2020-8-28 06:50
从这些信息里真看不出问题

感谢关注 此问题已经解决
发表于 2020-8-28 23:59 | 显示全部楼层
ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解决
具体请百度,我就一个模糊的印象
 楼主| 发表于 2020-9-3 10:30 | 显示全部楼层
n1001 发表于 2020-8-28 23:59
ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解 ...

确实是这个问题 感谢您帮助
发表于 2020-9-6 13:34 | 显示全部楼层
fenghai2ni 发表于 2020-9-3 10:30
确实是这个问题 感谢您帮助

我也是刚好遇到,顺便查了一下
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 08:34 , Processed in 0.307858 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表