Вот многофункциональная самодельная версия популярного блока генерации белого шума, используемого для улучшения сна или расслабления. Этот проект был разработан для создания генератора белого шума с довольно редко встречающимися функциями:
- Воспроизводит стереофонический звук CD-качества.
- Использует настоящие аудиосэмплы с незаметным зацикливанием без пробелов
- Аудиовыход линейного уровня для использования с высококачественными активными динамиками
- Панель управления с поворотным энкодером и ЖК-экраном
- Веб-управление с удобным пользовательским интерфейсом
- Полностью открытый и настраиваемый исходный код
Этот проект можно собрать во многих различных исполнениях, например, в маленьком корпусе, внутри старого радиоприемника или со встроенным усилителем и динамиками. Здесь понадобится Raspberry Pi и Audio Bonnet – это основа устройства.

Без дисплея или элементов управления можете управлять генератором белого шума с помощью встроенной веб-панели управления, просматривая ее IP-адрес.
- Raspberry Pi 3 A+
- Adafruit I2S Audio Bonnet
- Adafruit Encoder
- Adafruit I2C Stemma QT Rotary Encoder Breakout
- Adafruit кнопка SPST
- Adafruit Scrubber knob
В большей коробке используются кнопки из списка деталей и полноразмерный Raspberry Pi 3B+, а в меньшей — Raspberry Pi Zero 2W с микропереключателями, припаянными к небольшой универсальной печатной плате.
Сборка устройства
Модуль Audio Bonnet имеет площадки, которые обеспечивают доступ к контактам GPIO при подключении к Pi.


Используя принципиальную схему подключите кнопки к соответствующим контактам на плате. Нужно будет припаять провода.


Подключите ЖК-дисплей используя подходящую схему для 1,44″ дисплея, которую можно найти в приложении с файлами. Припаяйте энкодер к плате, как описано там же. Наконец, подключите плату энкодера к крышке. Можете использовать разъем Qwiic на одном конце, но в любом случае терминал INT на плате энкодера должен быть подключен к GPIO 17.


Прикрепите Audio Bonnet к Pi, затем закрепите все в корпусе. Вот как выглядит собранный корпус внутри:


Программное обеспечение
В этом проекте используется платформа balena для простоты развертывания, управления устройствами и как лучший способ запуска контейнеров на Pi. Зарегистрируйте бесплатную учетную запись на сайте. После сборки оборудования и создания учетной записи balena, создайте образ карты microSD, который нужно записать и вставить в свой Pi. Если хотите внести собственные изменения в программное обеспечение, клонируйте репозиторий проекта и используйте интерфейс командной строки balena, чтобы передать измененный код на свое устройство.


После создания парка нажмите кнопку «Добавить устройство» на панели управления balenaCloud. Выберите тип Pi, который вы будете использовать, из раскрывающегося списка, и даже можете добавить свои учетные данные WiFi на этом этапе — таким образом ваш Pi будет автоматически подключаться к Интернету при включении питания. После того, как вставите карту в Pi и включите его, он должен начать загрузку программного обеспечения. После загрузки необходимо перейти к настройке устройства в balenaCloud и добавить следующую переменную конфигурации в раздел «Пользовательская конфигурация»:
BALENA_HOST_CONFIG_dtoverlay
Со значением:
“hifiberry-dac”,”i2s-mmap”
Нажать кнопку «Применить все изменения» внизу страницы. Это перезагрузит устройство, после чего оно распознает Audio Bonnet.
Настройка и использование
Программное обеспечение включает в себя ряд расслабляющих звуков. Чтобы добавить больше звуков, перейдите к IP-адресу устройства (можно найти его на панели управления balenaCloud) через порт 9000. То есть 192.168.1.100:9000 — но используйте свой IP-адрес. Начальный логин для файлового браузера Minio — / — здесь можете перетащить дополнительные звуковые файлы в папку «noise myminio» myminio123. Они должны быть следующего типа: несжатые wav-файлы формата PCM. Звуковой файл должен быть оптимизирован для циклического воспроизведения. Если хотите сопровождающее изображение для каждого звукового файла, дайте ему то же имя, но с расширением .jpg. Изображения должны быть 128×128 пикселей. После загрузки дополнительных файлов следует перезагрузить устройство из панели управления balenaCloud. Подключите комплект активных динамиков к аудиоразъему и система будет готова к работе.
Можно прокручивать доступные звуки, вращая колесо энкодера. Нажмите колесико, чтобы воспроизвести выбранный звук. Кнопка остановки останавливает воспроизведение текущего звука.
Кнопка дисплея переключается между отображением громкости и отображением информации об устройстве. Можно отрегулировать уровень громкости с помощью энкодера, когда отображается полоса громкости.
Четыре кнопки мгновенно начинают воспроизводить предустановленный звук. Чтобы сохранить предустановку, откройте веб-интерфейс устройства, просмотрев его IP-адрес (порт 80).
Рядом с каждым звуком кнопки с метками от 1 до 4. Нажмите номер кнопки рядом со звуком, чтобы назначить его этому предустановленному номеру.


В общем устройство состоит из нескольких контейнеров, которые взаимодействуют друг с другом через API, а также совместно используют том хранилища. Этот проект — отличный пример того, как контейнеры могут работать вместе и четко разделять функциональность.






