Cover Image

Moode Audio player - подключение кнопок управления воспроизведением

Февраль 18, 2021

Контакты GPIO2 и GPIO3 имеют фиксированные подтягивающие резисторы.

При включении контакты устанавливаются в режим входа, контакты 0-8 подтягиваются к 3V3, контакты 9-27 подтягиваются к 0V.

ПРИМЕЧАНИЕ. Используйте запятую для разделения аргументов в поле CMD. Пример: mpc, load, My Playlist

mpc,prev

mpc,next

mpc,toggle

mpc,volume,+5

mpc,volume,-5

poweroff

Воспроизведение плейлистов с помощью кнопки

Поместите команды в сценарий BASH и назначьте сценарий кнопке

1. Создайте myscript.sh в своем домашнем каталоге /home/pi/

Пример:

#!/bin/bash

mpc clear

mpc load "my_playlist"

mpc play

2. Отметьте его как исполняемый

chmod +x ~/myscript.sh

используйте абсолютный путь вместо ~/

/home/pi/myscript.sh

Проверить работу кнопок

проверяю кнопки через "gpio readall"

Чтобы каждый раз не запускать команду в ожидании наблюдаемых изменений, можно применить утилиту "watch", которая будет обновлять вывод команды "gpio readall" с интервалом в 1 секунду (параметр "-n 1"):

sudo watch -n 1 "gpio readall"

Способ устранения неполадок следующий:

1. Отключите обработчик кнопки GPIO в конфигурации системы

2. Откройте терминал SSH

3. Запустите его из командной строки

Код:

sudo /var/www/command/gpio-buttons.py

4. Нажмите кнопку

5. Запишите все распечатанные ошибки или журнал отладки.

Схема подключения кнопки к GPIO9-27 (нажатие кнопки - смена уровня с высокого на низкий) с дополнительным конденсатором для подавления дребезга контактов. Взято с ph0en1x.net

Пробовал подключать кнопку на GPIO26 напрямую без резисторов, происходило самопроизвольное срабатывание. Собрал по этой схеме - кнопка стала работать как  надо.

Резистор R1 можно установить на сопротивление 10 КОм - 20 КОм, а для резистора R2 на 600 Ом - 2 КОм, все должно уверенно работать.

Плюсы такого включения:

БЕЗОПАСНОСТЬ - при любых экспериментах, в любой, пусть даже ошибочной конфигурации пина GPIO, порту ничего не грозит;

НАДЕЖНОСТЬ - такая схема обеспечивает надежную установку каждого из состояний (высокий и низкий уровни) в любой момент работы малинки и ее программ (мы не используем управляемые программно, внутренние подтягивающие резисторы).

Минусы:

НЕБОЛЬШАЯ ИЗБЫТОЧНОСТЬ - придется "разориться" на 2 маломощных резистора для каждой из кнопок/переключателей.

Все дополнительные кнопки подключаются по такой же схеме - с двумя резисторами подключенными к линиям GND и 3.3V.

Вот схема подключения трех кнопок к трем GPIO-пинам в Raspberry Pi:

Сопротивления резисторов здесь оптимальные: 1кОм и 20кОм.

Схема подключения кнопки к GPIO (нажатие кнопки - смена уровня с низкого на высокий) с дополнительным конденсатором для подавления дребезга контактов.

Почему важна кнопка питания Raspberry Pi?

Никогда не следует «выдергивать» шнур питания из Pi, так как это может привести к серьезному повреждению данных (а в некоторых случаях и к физическому повреждению SD-карты).

Примечание: когда мы «выключаем» Pi, он переводит его в состояние остановки, которое по-прежнему потребляет очень небольшое количество энергии. Это похоже на то, как работают все современные компьютеры. В этом руководстве мы рассмотрим процесс добавления кнопки питания, которая будет останавливать и выводить Pi из остановленного состояния. Кроме того, после того, как ваш Pi отключился, вы можете безопасно отключить источник питания (если захотите), не беспокоясь о повреждении данных.

Для вывода RPI из состояния остановки замыкаем контакты 5 и 6 (GPIO3 и GND) вместе. 

Простой способ проверить это - выключить Pi с помощью sudo shutdown -h now и подключить контакты 5 и 6 кабелем «мама-мама». Вам нужно только на мгновение замкнуть их. Вы увидите, что Pi «проснулся».

Используйте сценарий установки - оригинал статьи

Самый простой способ установить необходимые сценарии - клонировать репозиторий кнопки питания и запустить сценарий установки.

SSH в свой Pi, установите git (если это еще не сделано), а затем запустите:

git clone https://github.com/Howchoo/pi-power-button.git

./pi-power-button/script/install

Применил этот способ "выключения / включения" у себя в музыкальном центре - работает отлично.

LINKS from Nadim

Static Pages