Например TDA7294

Форум РадиоКот • Просмотр темы - ESP32C3 Bluetooth клавиатура
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср фев 11, 2026 01:24:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ESP32C3 Bluetooth клавиатура
СообщениеДобавлено: Вт окт 07, 2025 22:12:32 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт апр 28, 2016 22:33:47
Сообщений: 96
Откуда: ARPA Internet
Рейтинг сообщения: 0
Пожалуй, целую статью об этой поделке сочинить не стоит, мало контента. Но вот пара слов о том, как можно просто и легко сделать троллейбус некое подобие беспроводной клавиатуры из платы, продающейся на рынке под названием ESP32-C3 Super Mini.
Просто берём этот самый ESP32-C3 Super Mini, берём I2C расширитель PCF8574T и слепляем это вместе. :P Вот по такой схеме:
Изображение
Кнопульки, понятное дело, подключаются к расширителю в XP4 и тянут его ноги на землю. Здесь я использую выход прерывания PCF для того, чтобы будить ESP32-C3 из глубокого сна: как известно, этот выход переходит в 0, если состояние любого "квазидвунаправленного" выхода изменит состояние относительно того, которое было записано в чип, иными словами, если нажать на любую из кнопок.
На LM3671 сделана Step-down понижайка в 3,3В. Данный чип, помимо своей высокой эффективности, хорош ещё тем, что если напряжение на его входе становится близким к стабилизируемому на выходе, или даже ниже, он не уходит в какую-то защиту и т.д., а просто полностью открывает свой ключ, пропуская на выход практически всё, что есть на входе.
Тем не менее, чтобы не высаживать слишком сильно литиевый аккумулятор, добавлен супервизор DA1, вырубающий чип при входном напряжении ниже 2,6В и зажигающий светодиод, подключенный к пинам XP2.
К XP1 подключен тумблер в разрыв питания. M1 - это "классический" китайский модуль зарядки на TP4056, типа такого. К нему разведена панелька для банки 18650.
XP3 просто прокинутый на плату UART, мало ли для отладки (хотя мне не пригодилось).

Если кому надо, здесь полный архив проекта, включающий в себя плату в Altium Designer 10 и проект прошивки для Arduino PlatformIO, что есть почти то же самое, но с Майкрософтом и тёмной темой. 8)

Добавлено after 18 minutes 21 second:
Плата более-менее встала конкретно вот в этот корпус.
Изображение
И пара слов о софтовой части: чтобы всё завертелось, я, не долго думая, взял первый попавшийся проект BLE-клавы и немного его пообрезал. Чтобы он скомпилировался, нужна библиотека NimBLE, но не абы какая, а версии не выше 1.4.3...так гугловский ИИ-поиск утверждает. :roll: Для считывания PCF8574, конечно же, тоже возьмём готовую библиотеку от xreef. Чтобы экономить заряд батареи, через 5 минут контроллер уходит в т.н. "esp deep sleep" и в таком состоянии, сам по себе, потребляет всего пару сотен мкА. Но не забудем, что на плате по питанию распаян красный светодиод, который хоть и сильно придушен по току, но что-то таки потребляет, так что лучше очень аккуратно отпаять либо его самого, либо его ограничивающий ток резистор.
Задержка delay(20) нужна, чтобы адекватно успевала отработать библиотека PCF8574 и её алгоритм антидребезга для кнопок.
Остальное более-менее должно быть понятно.

А теперь о вещах, которые не очень понятны мне: какой-то этот блютус на ESP32C3 получается...не очень лоу энерджи! Модуль в активном состоянии (пока не спит) постоянно кушает чуть более 80 мА, не зависимо даже, подключился он к хосту, или нет. Это примерно столько же, сколько ест ESP8266! :hunger: Не знает ли кто, это, вообще, норма, или я что-то делаю не так?

_________________
Хоронили кваку - порвали три Rocket Launcherа.©


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ESP32C3 Bluetooth клавиатура
СообщениеДобавлено: Ср янв 07, 2026 22:28:53 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт апр 28, 2016 22:33:47
Сообщений: 96
Откуда: ARPA Internet
Рейтинг сообщения: 0
Слегка модифицировал скетч и пересобрал его с новыми библиотеками. Ссылка на диск прежняя: https://drive.google.com/file/d/1kZZ9sz ... drive_link Фактически увеличил задержку между вызовами чтения PCF8574, благодаря чем (вроде бы) опрос кнопок стал более стабильным, особенно сильно дребежжащих дешёвых кнопок. Видимо, алгоритм антидребезга не всегда адекватно работал.
Кстати, вот что внутри этой симпатичной коробочки:
Изображение

_________________
Хоронили кваку - порвали три Rocket Launcherа.©


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ESP32C3 Bluetooth клавиатура
СообщениеДобавлено: Чт янв 08, 2026 07:14:15 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 621
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3771
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Собрали-бы Вы это лучше на "нормальном" Bluetooth модуле, например, как описано здесь. В Вашем проекте ESP32 в режиме глубокого сна потребляет больше чем такие модули в активном режиме связи с компом. Неясно, какой Bluetooth протокол использован - Classic или BLE. Если последний, потребление в режиме соединения с компом должно быть не более 100 мкА, а если принять "специальные меры" для Вашего конкретного приложения, то раз в 5 меньше. Тогда можно будет запитать устройство просто от 2хААА батареек, будет работать неколько лет без смены. PCF8574 также не лучший выбор в плане токопотребения. Лучше посадить кнопки непосредственно на выводы портов модуля (при достаточном их количестве у "нормальных").


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ESP32C3 Bluetooth клавиатура
СообщениеДобавлено: Чт янв 08, 2026 16:37:09 
Встал на лапы
Аватар пользователя

Карма: 3
Рейтинг сообщений: 17
Зарегистрирован: Чт апр 28, 2016 22:33:47
Сообщений: 96
Откуда: ARPA Internet
Рейтинг сообщения: 0
Неясно, какой Bluetooth протокол использован - Classic или BLE.

Там однозначно BLE, иного ESP32C3 не умеет. Вот потому и странно, что столько жрёт, может я чего-то не "станцевал", надо было активировать какой-нибудь специальный "режим экономии"? Я с ESP серией пока что немного имел дела. :dont_know:
Да понятно, что в наше время существует уже +100500 чипов, у которых гарантировано мизерное потребление. Но было интересно попробовать именно что там у ESP32C3, как наиболее дешёвого и поддерживаемого во всяких ардуинах.

Добавлено after 20 minutes 17 seconds:
Наткнулся тут на интересные исследования: https://robdobson.com/2023/11/investiga ... anagement/ Мда, у автора ESP32C3 тоже кушает ток за обе щёки. Хотя включив некий "modem sleep" средний ток, по видимому, можно уменьшить, но я сам это пока не проверял, и частности, как такой режим скажется на стабильности соединения. Ещё цитата:
Цитата:
Все давно уже понятно.
проблема потребления ESP связана с большой мощностью приемо-передающей части.
По моим наблюдениям и расчетам на момент выпуска ESP8266 кпд передатчика на Wifi составлял 10%
В настоящее время видел чипы у которых кпд 30%.
Так как мощность у ESP самая большая из существующих чипов и она такая же для BLE, то и токи большие.
Чудес не бывает.

Штош, значит будем считать, что для данного чипа это норма. :facepalm:

_________________
Хоронили кваку - порвали три Rocket Launcherа.©


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ESP32C3 Bluetooth клавиатура
СообщениеДобавлено: Чт янв 08, 2026 20:44:14 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 621
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3771
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Цитата:
проблема потребления ESP связана с большой мощностью приемо-передающей части.
Проблема не в этом, а в самом чипе и в его ПО. Для сравнения, "нормальные" WiFi/BLE чипы семейства SiWx917 имеют практически такую-же максимальную выходную мощность +19dBm и максимальную тактовую частоту процессора 180MHz, но потребляют максимум 240мА (вместо 325мА у ESP32) при непрерывной передаче. Однако, в них имеется 13 режимов сна (вместо 3 у ESP32), позволяющих добиться среднего токопотребления 20-50мкА и не во сне, а в режиме поддержки соединения с WiFi точкой доступа. Про токопотребление Bluetooth а вообще молчу, a про режимы сна у ESP8266 и не заикаюсь. Это-же надо додуматься так сделать выход из сна у них. Т.е. ESP32 не ориентирована на энергосбережение и сколь-нибудь длительную (несколько лет) работу с автономным питанием, в то время как для большинства подобных по функционалу "нормальных" чипов это является одним из определяющих факторов.

То, что ESP поддерживается Arduino преимуществом скорее не является, поскольку непонятно кто пишет для них библиотеки. У меня всегда с ними проблемы и приходится переписывать их самому. Когда появилась ESP32 я попытался загрузить в них оба стека WiFi и Bluetooth, так у неё памяти не хватило, и это при 4Мб флеша. Просто не серьёзно. Может сейчас ПО уже улучшили и это стало возможным, но с тех пор я их обхожу, особенно на фоне "нормальных" альтернатив. Да, они стоят дороже, но с ними по крайней мере всё ясно и понятно и имеются замечательные средства разработки и подробная документация, делающие разработку кода не сложнее, а даже удобнее, чем в Arduino IDE. Ещё пример: недавно разбирался с радаром С1001. Документации по нему практически 0. Имеется лишь Arduino библиотека с ~1000 строками кода без единого комментария, которую хотел портировать на свой МК. Когда вник в их код у меня практически шок случился - какой идиот это вообще писал. Пришлось переписывать, и так каждый раз если из-за недостатка документации нужно адаптировать ардуиновский код под свой МК.

Короче, если гнаться за дешевизной компонентов и при преимущественно сетевом питании, то зачастую можно быстро и с минимумом знаний сварганить проект на ESP, компенсируя дашманский код библиотек высокой тактовой частотой процессора. Мне, кстати, понравилась Ваша недавняя статья про розетку, которую плюсанул.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y