Вот и добрались мы до лицевой панели. Как я уже говорил ранее, можно обойтись и без нее, если, например, вы собираетесь использовать эту систему как беспроводные колонки в системе мультирум. Но для тех, кто любит классический дизайн было бы неплохо собрать что-то подобное. Итак, основные функции этой панели - зто управление включением и выключением контроллера (малинки) и усилителя(tas5713). Ну и вспомогательные - это регулировка громкости с функцией дополнительной кнопки, подсветка и инфракрасный приемник от пульта дистанционного управления. Всем этим управляет маленький микроконтроллер pic10f202. Для работы ему необходимо иметь сигналы от Rpi Zero - PWR_U/D и он будет отправлять сигнал SHTDWN_RPI. Для этого необходимо в файле конфигурации Rpi Zero /boot/config.txt прописать следующее:
dtoverlay=gpio-poweroff,active_low,gpiopin=22
dtoverlay=gpio-shutdown,gpio_pin=27,active_low=1,gpio_pull=up
Первая строка это инструкция Rpi Zero загрузить модуль управления питанием, когда устройство выключается, оверлейный модуль "gpio-poweroff" устанавливает на 22 ножке низкий уровень, что заставляет программу pic10f202 обесточить силовое реле и, тем самым выключить устройство. Вторая - это загрузка модуля управления выключением, при нажатии на кнопку управления питанием, при работающем устройстве, pic10f202 отправит сигнал SHTDWN_RPI, который обработает модуль "gpio-shutdown" и запустит процесс выключения устройства. Файл прошивки нужно загрузить в микроконтроллер с помощью программатора, я использовал PICKIT-3.
Принципиальная схема очень проста
Всё собрано на печатной плате 40х100 мм Для желающих повторить выкладываю gerber файлы и BOM
Приведу фото предыдущей версии, т.к. обновленная версия пока ещё не собрана.