Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Мой отец недавно купил ножную педаль с bluetooth, позволяющую ему держать ноты на планшете и перелистывать страницы ногой. Очень подходит как для нот, так и для PDF-инструкций Lego, которые являются двумя моими любимыми прошлыми занятиями, и хотя я хотел иметь свой собственный, я не был готов заплатить 80 евро.
Я начал искать проекты DIY, чтобы сделать свои собственные. Вскоре я наткнулся на инструкцию Peakecentral, использующую EZ-Key Adafruit Bluefruit, делающую именно то, что я хотел. Проблема заключалась в том, что компонент Adafruit больше не доступен. Мне нужно еще кое-что.
Поискав в Интернете, я заметил, что преемник ESP8266 (ESP32) имеет поддержку BLE. Тогда я решил пойти на это. Я заказал две отладочные платы ESP32 (ESP-Wroom-32) и приступил к созданию прототипа. Результатом является плата, показанная на следующей странице вместе со схемой.
Запасы
Я использовал спецификацию, созданную Peakecentral, которая включила кнопку пары, которую я использовал в качестве кнопки сброса. Как кнопка питания, так и кнопка сброса имеют встроенные светодиоды, которые я использовал, чтобы указать, нажата ли кнопка (например, включено питание или выполняется сброс:
- оболочка, будь креативным
- 1 ESP32
- Подготовлена Arduino IDE с платой ESP32 и библиотекой BLE HID (учебное пособие)
- 1 переключатель SPST с внешним диаметром 16 мм, фиксируемый, с синим светодиодом (SW2)
- 1 переключатель SPST с внешним диаметром 12 мм, без фиксации, с красным светодиодом (SW1)
- 2 ножных переключателя мгновенного действия (SW3 и SW4)
- 1 разъем батареи PP3
- 1 батарея PP3
- 2 резистора 1k0
- многожильный соединительный провод
- резиновая лента для предотвращения скольжения
Шаг 1: прототипирование
Я использую два ножных переключателя мгновенного действия и два переключателя со светодиодом. Мне потребовалось некоторое время, чтобы понять, как использовать светодиоды так, как я хотел. У нас есть два светодиода. Один из них загорится, когда ESP32 загружается, затем он выключится и загорится, как только будет установлено соединение Bluetooth. Подключен к IO13. Другой светодиод подключен к кнопке сброса и загорается при нажатии кнопки. Таким образом, вы узнаете, правильно ли была нажата кнопка сброса. Сначала я задумался, зачем на выключатель подключен резистор, соединяющий землю с кнопкой. Поэтому я выделил часть схемы, чтобы вы могли четко видеть подключения резистора к светодиоду и земле.
Шаг 2: Программное обеспечение
Имея прототип на месте, давайте начнем с программной части проекта. Первоначально мы хотим настроить две кнопки для перелистывания страниц (стрелка вверх и стрелка вниз) и третью кнопку для сброса. После этого мы хотели бы, чтобы светодиод кнопки питания включался при включении устройства, а затем быстро его выключал и, наконец, включал, когда устройство подключено.
Я отредактировал сценарий, который искал в Google, на предмет примеров ESP32 HID. В примере https://www.hackster.io/user0448083246/esp32-ble-h… с геймпадом было готово четыре кнопки, хотя мне нужно всего две. Я немного изменил программное обеспечение в соответствии со своими потребностями. Эскиз IDE можно скачать с этой страницы.
Шаг 3: Настройка оборудования
Для этого урока я предполагаю, что у вас есть некоторые навыки пайки. Просмотрите принципиальную схему, чтобы создать небольшую печатную плату для упрощения подключения. Я использовал PCB с маленькими (3 отверстия на «остров»), я припаял провода к PCB. Наконец, был припаян ESP32. Не забудьте использовать прочный кожух, который выдержит удары ногой по нему. Также подумайте о том, чтобы предотвратить скольжение под ногой.
До сих пор я использовал свою педаль от одной 9-вольтовой батареи, и она все еще работает.
Удачи! Пожалуйста, оставляйте свои заметки и комментарии ниже.