Как считывать аналоговое значение на ESP32-CAM с включенным считывателем SD-карт?
Я использую модуль ESP32-Cam для проекта, для которого мне нужны как SD-карта, так и камера. Согласно этой странице, единственными контактами, которые не используются ни камерой, ни устройством чтения SD-карт, являются GPIO0, GPIO2 и GPIO16. Тем не менее, мне нужно прочитать аналоговое значение, которое возможно только с контактами 12-15, 2 и 4, как указано на форумах Arduino, которые все используются устройством чтения SD-карт.
Однако я наткнулся на способ заставить SD-ридер оставить вывод GPIO4, а именно инициализировать его с помощью
SD_MMC.begin("/sdcard", true);
Теперь фонарик больше не загорается при доступе к SD-карте, а это значит, что выхода на GPIO4 больше нет. Однако он по-прежнему не позволяет мне считывать вывод после инициализации SD-карты. Я также попытался "преобразовать" контакт в GPIO через
pinMode(4, FUNCTION_3);
но это не имело никакого значения.
Итак, мой вопрос: как можно использовать вывод 4 для считывания аналоговых значений, сохраняя при этом работоспособность устройства чтения SD-карт? А если это невозможно, есть ли другой способ считывания аналогового значения в ESP32-CAM?
@Klaus Meier, 👍2
1 ответ
Лучший ответ:
Согласно схеме и примечаниям к контактам, я не думаю, что вы можете использовать GPIO4 в качестве входа АЦП (его можно использовать как вывод GPIO, и технически он может быть сконфигурирован как вывод АЦП), но на нем есть подтягивающий резистор 47k, что делает его невозможным для использования как вход АЦП.
В зависимости от ваших навыков подключения оборудования, одной из альтернатив является использование внешнего чипа АЦП с интерфейсом i2c (например, MCP3221) и подключение его к TWI_SCL и TWI_SDA, но эти контакты доступны только на cam-разъеме, а не на выводах заголовка.
- Камера esp32 и датчик PIR
- ESP32 чтение аналоговый 2,4 ГГц
- Программаторы для этой платы отсутствуют - Программирование ESP32 Cam с помощью Ardunio IDE
- ESP32 CAM не смог вовремя получить кадр
- Аналоговое чтение не работает при использовании WiFi
- В чем преимущество 3-мегапиксельного датчика OV3660 на камере ESP32 M5Stack, если он может сохранять только до 2-мегапиксельных изображений?
- DHT11 аналоговый или цифровой?
- Не удается включить распознавание лиц на esp32 cam : CORRUPT HEAP: Bad head at 0x3ffe2eb4. Expected 0xabba1234 got 0x00000008 abort()
Спасибо. В итоге я использовал FTP вместо SD-карты, что дало мне "много" цифровых контактов. Затем я подключил к двум из них микросхему ADC-i2c - как было предложено., @Klaus Meier