Оглавление:
- Шаг 1: Необходимый материал
- Шаг 2: кнопки
- Шаг 3: чехол для кнопок
- Шаг 4: Raspberry Pi
- Шаг 5: Программирование
- Шаг 6. Запускайте скрипт Python при каждом запуске
- Шаг 7: Конец примечания
Видео: Рекордер воспроизведения с Raspberry Pi: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Всем привет, В этом руководстве я объясню, как я сделал рекордер воспроизведения с помощью Raspberry Pi. Устройство представляет собой модель Raspberry Pi B + с 7 кнопками сверху, динамиком, подключенным к одному из портов USB Pi, и микрофоном, подключенным к другим портам USB. Каждая кнопка связана со звуком, поэтому она может воспроизводить 7 разных звуков. Звуки воспроизводятся после краткого нажатия кнопки. Чтобы записать новый звук, просто нажмите кнопку более 1 секунды, запишите после звукового сигнала и отпустите кнопку в конце записи. Нет ничего проще!
Шаг 1: Необходимый материал
Для этого проекта мне понадобились:
- Модель Raspberry Pi B + и карта micro SD - 29,95 $ + 9,95 $
- Пластиковый корпус Raspberry Pi - 7.95 $
- USB-колонки - 12,50 $
- USB-микрофон - 5.95 $
- Плата perma-proto половинного размера - 4,50 $
- 7 кнопок мгновенного действия - 2.50 $
Еще мне понадобились:
- Какой-то электрический провод
- Заголовки под прямым углом с внутренней резьбой
- Немного дерева, черной краски и клея для корпуса пуговиц.
- Паяльник и припой
Шаг 2: кнопки
Используемые кнопки довольно высокие (6 мм), чтобы проходить сквозь толщину корпуса.
Я разместил свои 7 кнопок на плате perma-proto, которая похожа на макет, за исключением того, что на ней припаяны компоненты. Это более надежно, чем макет, и дешевле, чем печатать печатную плату. Каждая кнопка подключает землю к GPIO на Raspberry Pi. У меня здесь нет резисторов, так как у Pi уже есть внутренние подтягивающие / понижающие резисторы, которые будут установлены в программе. В этом случае я настроил их на подтягивание (см. Программу ниже).
Пуговицы размещаются через каждые 4 ряда или каждые 0,4 дюйма.
Шаг 3: чехол для кнопок
Я сделал очень простой футляр для пуговиц из листов фанеры и деревянного квадратного дюбеля. Размер дюбеля должен быть достаточно большим, чтобы вмещать основание кнопки и доску, но достаточно маленьким, чтобы пуговица выходила из корпуса. Я использовал дюбель размером 1/4 дюйма на 1/4 дюйма.
Убедившись, что доска вошла в корпус, дюбели приклеиваются к листу основы. Затем в верхнем листе просверливаются отверстия (можно использовать доску для точных отметок через каждые 0,4 дюйма). Все детали из дерева окрашиваются, доска помещается в корпус, а на него наклеивается верхний лист.
Шаг 4: Raspberry Pi
Я не хотел припаивать провода непосредственно к Pi, на случай, если я захочу использовать Pi для чего-то еще в будущем. Поэтому я припаял провода к прямоугольным гнездовым разъемам и подключил разъемы к Pi.
Используемые GPIO: 21, 26, 20, 19, 13, 6 и 5. Также используется контакт заземления.
Микрофон и динамик просто подключаются к 2 из 4 портов USB.
Pi питается от розетки micro-usb.
Шаг 5: Программирование
Чтобы запрограммировать Pi, я подключил его к Интернету с помощью кабеля Ethernet и управлял им с удаленного компьютера с помощью программы просмотра VNC. Однако вы не можете использовать эту настройку при первом подключении к Pi, потому что ОС еще не установлена, а SSH не работает. Таким образом, вам нужно будет подключить экран, клавиатуру и мышь, по крайней мере, в первый раз.
Было довольно сложно найти команды для записи и воспроизведения звука на правильной звуковой карте. Вот те команды, которые у меня сработали:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Воспроизводит 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Записывает максимум 20 секунд в файл 0.wav с качеством cd
Звуковые файлы находятся в каталоге по умолчанию (/ home / pi). Также необходим звуковой файл для звукового сигнала, помещенный в каталог по умолчанию и названный beep.wav.
Сам код Python следующий:
код python для рекордера воспроизведения Raspberry Pi
импортировать RPi. GPIO как GPIO |
время импорта |
импорт ОС |
# переменные: |
butPressed = [True, True, True, True, True, True, True] # если кнопка i нажата, то butPressed имеет значение False |
pin = [26, 19, 13, 6, 5, 21, 20] # контактов GPIO каждой кнопки |
recordBool = False # Истина, если запись в процессе |
GPIO.setmode (GPIO. BCM) |
для i в диапазоне (0, 7): |
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP) # устанавливает внутренние резисторы Pi на подтягивание |
в то время как True: |
для i в диапазоне (0, 7): |
butPressed = GPIO.input (pin ) # проверяет, нажата ли кнопка |
if butPressed == False: # если кнопка нажата |
previousTime = time.time () |
while butPressed == False и recordBool == False: |
butPressed = GPIO.input (контакт ) |
if time.time () - previousTime> 1.0: # если кнопка нажата более секунды, то recordBool имеет значение True |
recordBool = True |
if recordBool == True: # if recordBool равно True, он воспроизводит звуковой сигнал, а затем записывает |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav") |
os.system ("arecord% d.wav -D sysdefault: CARD = 1 -f cd -d 20 &"% i) # записывает максимум 20 секунд в файл i.wav с качеством компакт-диска |
while butPressed == False: |
butPressed = GPIO.input (контакт ) |
os.system ("pkill -9 arecord") # запись останавливается при отпускании кнопки или через 20 секунд |
recordBool = False |
else: #if recordBool имеет значение False, он воспроизводит звук i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0% d.wav"% i) |
time.sleep (0,1) |
просмотреть рекордер rawPlayback, размещенный на ❤ от GitHub
Шаг 6. Запускайте скрипт Python при каждом запуске
Чтобы запустить скрипт python при каждом запуске Pi, следующие строки помещаются в файл с именемplay.desktop в папке /home/pi/.config/autostart/
запускает play.py при запуске Raspberry Pi
[Desktop Entry] |
Кодировка = UTF-8 |
Тип = Приложение |
Имя = Воспроизведение |
Комментарий = Это приложение для воспроизведения |
Exec = python /home/pi/playback.py |
StartupNotify = false |
Терминал = истина |
Скрытый = ложь |
просмотреть rawplayback.desktop, размещенный на ❤ от GitHub
Шаг 7: Конец примечания
Расскажите, пожалуйста, в разделе комментариев, что вы думаете об этом проекте, дайте мне знать о своих рекомендациях и проголосуйте за меня в конкурсе Raspberry Pi, если он вам понравился.
Жду возможности вас прочитать!
Рекомендуемые:
Mood Speaker - мощный динамик для воспроизведения музыки с настроением в зависимости от температуры окружающей среды: 9 шагов
Mood Speaker - мощный динамик для воспроизведения музыки настроения в зависимости от температуры окружающей среды: Привет! Для моего школьного проекта в MCT Howest Kortrijk я сделал динамик Mood Speaker, это умный динамик Bluetooth с различными датчиками, ЖК-дисплеем и WS2812b светодиодная лента в комплекте. Динамик воспроизводит фоновую музыку в зависимости от температуры, но может
Часы регулятора воспроизведения: 7 ступеней (с изображениями)
Часы-регулятор репродукции: это руководство (300 мм) Корпус часов с циферблатом от Ebay, но можно использовать любой корпус до трех
Использование автомобильной стереосистемы для воспроизведения Mp3-файлов на старой домашней стереосистеме: 7 шагов
Использование автомобильной стереосистемы для воспроизведения файлов Mp3 на старой домашней стереосистеме. Воспроизведение файлов mp3 на домашней стереосистеме. За последние два десятилетия я загрузил или скопировал около 5000 мелодий классического рока, и мне нужен был простой способ воспроизведения цифровых музыкальных файлов на старой домашней стереосистеме. У меня подключен домашний кинотеатр (HTC)
Альбомы с тегами NFC для автоматического воспроизведения музыки Spotify на Chromecast: 5 шагов
Альбомы с тегами NFC для автоматического воспроизведения музыки Spotify на Chromecast: этот проект начался с идеи создать коллаж из альбомов моих самых популярных исполнителей на Spotify. Поигравшись с Spotify API в Python, я подумал, что было бы неплохо связать эти обложки альбомов с их URI Spotify и начать воспроизведение
Таймер воспроизведения iPad: 5 шагов (с изображениями)
IPad Play Timer: я думаю, что это тема, с которой борются все родители. Сколько дети могут играть со своими iPad (или любым другим планшетом). Мы пробовали несколько подходов, например, фиксированное время, но это не сработало, так как наш ребенок тогда всегда хотел вернуться домой прямо сейчас