Знакомимся с ESP32, часть 3: по мелочи
Всем привет! Это третья часть цикла "Знакомимся с ESP32", в которой мы рассмотрим всякие функции по мелочи: работа с сенсорными кнопками, чтение АЦП, ШИМ, и т. д.
Сенсорные кнопки
В первой части я забыл упомянуть, что в ESP32 есть контроллер сенсорных кнопок. Это такая штука, что если прикоснуться к пину пальцем, то он выдаст некое значение, которое будет означать "вероятность" прикосновения к пину.
Пример с чтением
Для начала я приложу очень нужную картинку
Это может быть очень полезно. А теперь код
Попробуем его модифицировать. Вот.
Пример с прерыванием
АЦП
На самом деле, никаких отличий от Arduino нет. Просто та же функция analogRead, только с тем отличием, что передавать в аргументы нужно не номер аналогового пина, а номер GPIO. Выдаёт значение 0-4095, потому что АЦП 12-битный
ШИМ
Тут всё не так однозначно. ШИМ вроде как нету, но есть библиотека "ledc", которая позволяет использовать до 16 каналов ШИМ одновременно и повесить каждый из них на любой порт. Код
Цифровые пины
Ну тут всё обычно. digitalWrite, digitalRead, pinMode
Пока всё. В следующей части я, скорее всего, расскажу про Wi-Fi
Решил психануть и сразу все посты выложить?
Два вопроса: максимальная частота ШИМ и возможность синхронизации, максимальная частота АЦП?
Наткнулся на прикол, что все АЦП в банке 2, коих 10 штук, перестают работать, как только включаешь Wi-Fi или BLE. Фикса нет, все ждут вестей от разработчиков. А разработчики не торопятся обрадовать.
= никаких отличий от Arduino нет=
не к пункту про АЦП, а вообще... Надо акцентировать что есть большое отличие - питание плат под ардуинку 5В, а под esp32 - 3,3В. Соответственно и сигнальный уровень. Причем, далеко не все платы esp32 имеют выход питания 5В. Приходится учитывать.