求助 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
从这些信息里真看不出问题
感谢关注 此问题已经解决 ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解决
具体请百度,我就一个模糊的印象 n1001 发表于 2020-8-28 23:59
ESP32有ADC1和ADC2,分别负责两组引脚的模拟值读取,其中一个的优先级高于WiFi
我当时也遇到过,设为33脚解 ...
确实是这个问题 感谢您帮助 fenghai2ni 发表于 2020-9-3 10:30
确实是这个问题 感谢您帮助
我也是刚好遇到,顺便查了一下
页:
[1]