Оглавление:

Рекордер воспроизведения с Raspberry Pi: 7 шагов (с изображениями)
Рекордер воспроизведения с Raspberry Pi: 7 шагов (с изображениями)

Видео: Рекордер воспроизведения с Raspberry Pi: 7 шагов (с изображениями)

Видео: Рекордер воспроизведения с Raspberry Pi: 7 шагов (с изображениями)
Видео: Программирование Raspberry Pi с использованием Simulink 2024, Ноябрь
Anonim
Image
Image
Необходимый материал
Необходимый материал

Всем привет, В этом руководстве я объясню, как я сделал рекордер воспроизведения с помощью 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

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
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, если он вам понравился.

Жду возможности вас прочитать!

Рекомендуемые: