Съдържание:

Рекордер за възпроизвеждане с Raspberry Pi: 7 стъпки (със снимки)
Рекордер за възпроизвеждане с Raspberry Pi: 7 стъпки (със снимки)

Видео: Рекордер за възпроизвеждане с Raspberry Pi: 7 стъпки (със снимки)

Видео: Рекордер за възпроизвеждане с Raspberry Pi: 7 стъпки (със снимки)
Видео: Home Assistant - Сървър за автоматизация на архивиране 2024, Юли
Anonim
Image
Image
Необходим материал
Необходим материал

Здравейте всички, В тази инструкция обяснявам как направих записващо устройство за възпроизвеждане с помощта на Raspberry Pi. Устройството е Raspberry Pi модел B+, със 7 бутони отгоре, високоговорител, свързан към един от usb портовете на Pi, и микрофон, свързан към друг usb портове. Всеки бутон е свързан със звук, така че може да възпроизвежда 7 различни звука. Звуците се възпроизвеждат след кратко натискане на бутона. За да запишете нов звук, просто натиснете бутона за повече от 1 секунда, запишете след звуковия сигнал и пуснете бутона в края на записа. Не става по -просто от това!

Стъпка 1: Необходим материал

Необходим материал
Необходим материал
Необходим материал
Необходим материал

За този проект имах нужда от:

  • Raspberry Pi модел B + и микро SD карта - 29.95 $ + 9.95 $
  • Пластмасов калъф Raspberry Pi - 7,95 $
  • USB високоговорители - 12,50 $
  • USB микрофон - 5,95 $
  • Половин размер перма-прото дъска-4,50 $
  • 7 моментни бутона - 2,50 $

Имах нужда и от:

  • Някакъв електрически проводник
  • Женски заглавки с прав ъгъл
  • Малко дърво, черна боя и лепило за калъфа с копчета
  • Поялник и спойка

Стъпка 2: Бутоните

Бутоните
Бутоните
Бутоните
Бутоните
Бутоните
Бутоните

Използваните бутони са доста високи (6 мм), така че да могат да преминават през дебелината на кутията.

Поставих моите 7 бутона върху перма-прото платка, която е като макет, с изключение на това, че компонентите са запоени върху нея. Това е по -стабилно от макет и по -евтино от отпечатването на печатна платка. Всеки бутон свързва земята с 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 viewer. Не можете обаче да използвате тази настройка при първото свързване с Pi, тъй като операционната система все още не е инсталирана и SSH не е деактивиран. Така че ще трябва да свържете екран, клавиатура и мишка поне за първи път.

Беше доста трудно да се намерят командите за запис и възпроизвеждане на звук на дясната звукова карта. Това са командите, които работиха при мен:

  • aplay -D plughw: CARD = Device_1, DEV = 0 0.wav

    Пуска 0.wav

  • arecord 0.wav -D sys по подразбиране: CARD = 1 -f cd -d 20

    Записва за максимум 20 секунди във файл 0.wav, с CD качество

Звуковите файлове се намират в директорията по подразбиране (/home/pi). Звуков файл за звуковия сигнал също е необходим, поставен в директорията по подразбиране и наречен beep.wav.

Самият код на python е следният:

python код за рекордер за възпроизвеждане на Raspberry Pi

импортирайте RPi. GPIO като GPIO
време за импортиране
внос os
#променливи:
butPressed = [True, True, True, True, True, True, True]#ако бутонът i е натиснат, тогава butPressed е невярно
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 за изтегляне
докато е вярно:
за i в обхват (0, 7):
butPressed = GPIO.input (pin )#проверява дали е натиснат бутон
if butPressed == False:#ако е натиснат бутон
previousTime = time.time ()
while butPressed == False и recordBool == False:
butPressed = GPIO.input (щифт )
ако time.time () - previousTime> 1.0:#ако бутонът е натиснат за повече от секунда, тогава recordBool е True
recordBool = Вярно
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, следните редове се поставят във файл, наречен playback.desktop в папка /home/pi/.config/autostart/

стартира playback.py при стартиране на Raspberry Pi

[Запис на работния плот]
Кодиране = UTF-8
Тип = Приложение
Име = Възпроизвеждане
Коментар = Това е приложение за възпроизвеждане
Exec = python /home/pi/playback.py
StartupNotify = false
Терминал = вярно
Скрито = невярно

вижте rawplayback.desktop, хоствано с ❤ от GitHub

Стъпка 7: Крайна бележка

Моля, кажете ми какво мислите за този проект в секцията за коментари, уведомете ме за вашите препоръки и гласувайте за мен в конкурса Raspberry Pi, ако ви е харесал.

С нетърпение очаквам да ви прочета!

Препоръчано: