Встроенный светодиодный индикатор самопроизвольно загорается
Я пытаюсь подключить свой ESP32 к этому измерительному прибору CO2. Признаюсь, я ничего не знаю о соединении устройств с независимыми источниками питания друг с другом.
Я подключил ground to ground и CLK к PIN2. На всякий случай я поместил резистор между CLK и PIN2.
Я начал с 4,8 Ком сопротивления. АЦП ESP измерял 2,1 В, и это казалось прекрасным. Но когда я переключился на резистор 1К, пытаясь приблизиться к уровню "логический 1" (так я его понимаю), произошло нечто неожиданное. АЦП измерял 2,65 В, что все равно выходило за пределы 3,3 В. ЭСП должен был справляться, а встроенный светодиод загорелся, хотя ничего в моем скетче для этого не требовалось.
Хотя конфигурация работала стабильно в течение нескольких минут, пока я ее тестировал, и никакого дыма не появилось, я боюсь, что светодиодное освещение спонтанно может быть признаком электрического пробоя.
Оба устройства находятся на одном USB-концентраторе.
Вот скетч, который я использую:
#define PIN_CLOCK 2
void setup() {
pinMode(PIN_CLOCK, INPUT);
Serial.begin(4800);
}
bool last = 0;
void loop() {
int x = analogRead(PIN_CLOCK);
bool val = x > 1500;
if (last != val)
Serial.println(x*3.3/4095);
last = val;
}
Может ли кто-нибудь объяснить, почему загорается светодиод?
Может ли кто-нибудь порекомендовать хорошую статью/видео об основных правилах подключения таких устройств?
1 ответ
Вам не нужен резистор в цепи. Просто подключите устройства друг к другу напрямую, как показано в руководстве, на которое вы ссылаетесь. Они оба являются устройствами 3,3 В и отлично работают без каких-либо дополнительных компонентов.
Считывание аналогового значения из тактового сигнала в любом случае довольно бессмысленно, так что в данный момент в ваших экспериментах действительно нет смысла. Они ничего не доказывают.
Относительно того, почему загорелся свет - это, скорее всего, связано с тем, что ESP настроен на использование этого светодиода для индикации состояния Wi-Fi или чего-то подобного. Дело в том, что в ESP32 происходит гораздо больше, чем просто в вашем коде. Ваш код-всего лишь один поток в сложной системе.
- bh1750 lightsesor не будет работать
- Как определить наличие воды с помощью всего двух проводов
- Библиотека емкостных датчиков на D1 Mini
- Почему чтение на ESP32 читает max, когда чтение на UNO читается точно?
- ESP32-CAM не читает BME680
- Esp32 не может прочитать датчик MH-Z19C
- ESP32 не может считывать данные с датчиков DHT11, MH-Z19C
- Значения кватернионов из BNO055 недоступны.
> Вывод часов является выходом ESP на nRF24L01. Не могли бы вы подробнее остановиться на этом? Я, вероятно, ввел вас в заблуждение, назвав его "CLK". Я имел в виду, что подключил то, что в учебнике называется ZG-C, к D2. nRF24L01 является частью другой настройки. Все еще остается вопрос: "почему встроенный светодиод"?, @Ilya I. Margolin
Ах, так вы используете раздел 3.2 учебника? По-прежнему остается в силе, что вам не нужен резистор там. Что касается внутреннего светодиода - он может управляться кодом Wi-Fi и не имеет никакого отношения к тому, что вы делаете., @Majenko
Схема была бы большой помощью и, возможно, ссылками на конкретные модули, которые вы используете, а также на технические характеристики., @Gil