Spisu treści:

Rejestrator odtwarzania z Raspberry Pi: 7 kroków (ze zdjęciami)
Rejestrator odtwarzania z Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: Rejestrator odtwarzania z Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: Rejestrator odtwarzania z Raspberry Pi: 7 kroków (ze zdjęciami)
Wideo: Tworzenie Domowego Systemu Monitoringu: Raspberry Pi, Serwer Shinobi i Kamery IP Za Darmo! Timelaps 2024, Listopad
Anonim
Image
Image
Potrzebny materiał
Potrzebny materiał

Cześć wszystkim, W tej instrukcji wyjaśniam, jak zrobiłem rejestrator odtwarzania za pomocą Raspberry Pi. Urządzenie to Raspberry Pi model B+, z 7 przyciskami na górze, głośnikiem podłączonym do jednego z portów USB Pi oraz mikrofonem podłączonym do innego portu USB. Każdy przycisk jest powiązany z dźwiękiem, więc może odtwarzać 7 różnych dźwięków. Dźwięki są odtwarzane po krótkim naciśnięciu przycisku. Aby nagrać nowy dźwięk, po prostu naciśnij przycisk dłużej niż 1 sekundę, nagraj po sygnale i puść przycisk na końcu nagrania. To nie może być prostsze!

Krok 1: Potrzebny materiał

Potrzebny materiał
Potrzebny materiał
Potrzebny materiał
Potrzebny materiał

Do tego projektu potrzebowałem:

  • Raspberry Pi model B+ i karta micro SD - 29,95 $ + 9,95 $
  • Plastikowa obudowa Raspberry Pi - 7,95 $
  • Głośniki USB - 12,50 $
  • Mikrofon USB - 5,95 $
  • Półwymiarowa płyta perma-proto - 4,50 $
  • 7 chwilowych przycisków - 2,50 $

Potrzebowałem również:

  • Niektóre przewody elektryczne
  • Nagłówki żeńskie pod kątem prostym
  • Trochę drewna, czarnej farby i kleju do etui na guziki
  • Lutownica i lut

Krok 2: Przyciski

Przyciski
Przyciski
Przyciski
Przyciski
Przyciski
Przyciski

Zastosowane przyciski są dość wysokie (6mm), dzięki czemu przechodzą przez grubość obudowy.

Umieściłem moje 7 przycisków na płytce perma-proto, która jest jak płytka stykowa, z wyjątkiem tego, że są na niej przylutowane elementy. Jest to bardziej wytrzymałe niż płytka prototypowa i tańsze niż drukowanie na płytce drukowanej. Każdy przycisk łączy uziemienie z GPIO na Raspberry Pi. Nie mam tutaj rezystorów, ponieważ Pi ma już wewnętrzne rezystory pull-up/down, które zostaną ustawione w programie. W tym przypadku ustawiłem je na podciąganie (patrz program poniżej).

Przyciski są umieszczone co 4 rzędy lub co 0,4 cala.

Krok 3: Sprawa przycisków

Przyciski przypadku
Przyciski przypadku
Przyciski przypadku
Przyciski przypadku
Przyciski przypadku
Przyciski przypadku

Zrobiłem bardzo proste etui na guziki, ze sklejki i drewnianego kwadratowego kołka. Rozmiar kołka musi być wystarczająco duży, aby pomieścić podstawę przycisku i płytkę, ale na tyle mały, aby górna część przycisku wyszła z obudowy. Użyłem kołka 1/4 cala x 1/4 cala.

Po upewnieniu się, że deska pasuje do obudowy, kołki są przyklejane do arkusza bazowego. Następnie w górnej blasze wierci się otwory (płyta może być wykorzystana do wykonania precyzyjnych oznaczeń co 0,4 cala). Wszystkie elementy drewniane są pomalowane, płyta umieszczona w etui, a górna blacha naklejona na nią.

Krok 4: Raspberry Pi

Malinowy Pi
Malinowy Pi
Malinowy Pi
Malinowy Pi
Malinowy Pi
Malinowy Pi

Nie chciałem lutować przewodów bezpośrednio do Pi, na wypadek gdybym chciał użyć Pi do czegoś innego w przyszłości. Dlatego przylutowałem przewody do żeńskich nagłówków pod kątem prostym i podłączyłem nagłówki do Pi.

Używane GPIO to 21, 26, 20, 19, 13, 6 i 5. Używany jest również pin uziemiający.

Mikrofon i głośnik są po prostu podłączane do 2 z 4 portów USB.

Pi jest zasilany przez gniazdo micro-usb

Krok 5: Programowanie

Aby zaprogramować Pi, podłączyłem go do Internetu za pomocą kabla Ethernet i sterowałem nim ze zdalnego komputera za pomocą przeglądarki VNC. Nie możesz jednak użyć tej konfiguracji przy pierwszym połączeniu z Pi, ponieważ system operacyjny nie jest jeszcze zainstalowany, a SSH nie jest w stanie. Musisz więc podłączyć ekran, klawiaturę i mysz, przynajmniej za pierwszym razem.

Znalezienie poleceń do nagrywania i odtwarzania dźwięku na odpowiedniej karcie dźwiękowej było dość kłopotliwe. Oto polecenia, które dla mnie zadziałały:

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

    Odtwarza 0.wav

  • arecord 0.wav -D sysdefault:CARD=1 -f cd -d 20

    Nagrywa maksymalnie 20 sekund w pliku 0.wav, z jakością cd

Pliki dźwiękowe znajdują się w domyślnym katalogu (/home/pi). Niezbędny jest również plik dźwiękowy dla sygnału dźwiękowego, umieszczony w domyślnym katalogu i nazwany beep.wav.

Sam kod Pythona wygląda następująco:

kod Pythona dla rejestratora odtwarzania Raspberry Pi

importuj RPi. GPIO jako GPIO
czas importu
importuj system
#zmienne:
butPressed = [Prawda, Prawda, Prawda, Prawda, Prawda, Prawda, Prawda]#jeśli przycisk i zostanie naciśnięty, wtedy butPressed jest fałszywe
pin = [26, 19, 13, 6, 5, 21, 20]#piny GPIO każdego przycisku
recordBool = False#True jeśli rekord jest w toku
GPIO.setmode(GPIO. BCM)
dla i w zakresie (0, 7):
GPIO.setup(pin, GPIO. IN, pull_up_down=GPIO. PUD_UP)#ustawia wewnętrzne rezystory Pi na podciąganie
podczas gdy prawda:
dla i w zakresie (0, 7):
butPressed = GPIO.input(pin)#sprawdza, czy przycisk jest wciśnięty
if butPressed == False:#jeśli przycisk został naciśnięty
poprzedniCzas = czas.czas()
while butPressed == False i recordBool == False:
aleNaciśnięty = GPIO.input(pin)
if time.time() - previousTime > 1.0:#jeśli przycisk jest wciśnięty dłużej niż sekundę, wtedy recordBool ma wartość True
recordBool = Prawda
if recordBool == True:#jeśli recordBool ma wartość True, odtwarza sygnał dźwiękowy, a następnie nagrywa
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)#records przez maksymalnie 20 sekund w pliku i.wav, z jakością cd
while aNaciśnięty == Fałsz:
aleNaciśnięty = GPIO.input(pin)
os.system("pkill -9 arecord")#zapis zostaje zatrzymany po zwolnieniu przycisku lub po 20 sekundach
recordBool = Fałsz
else:#jeśli recordBool jest False, odtwarza dźwięk i.wav
os.system("aplay -D plughw:CARD=Urządzenie_1, DEV=0 %d.wav" %i)
czas.sen(0.1)

zobacz rejestrator rawPlayback hostowany z ❤ przez GitHub

Krok 6: Uruchom skrypt Pythona przy każdym uruchomieniu

Aby uruchomić skrypt Pythona podczas uruchamiania każdego Pi, następujące wiersze są umieszczane w pliku o nazwie playback.desktop w folderze /home/pi/.config/autostart/

uruchamia playback.py przy starcie Raspberry Pi

[Wpis na pulpicie]
Kodowanie=UTF-8
Typ=Aplikacja
Nazwa=Odtwarzanie
Comment=To jest aplikacja do odtwarzania
Exec= python /home/pi/playback.py
StartupNotify=false
Terminal=prawda
Ukryty=fałsz

zobacz rawplayback.desktop hostowany z ❤ przez GitHub

Krok 7: Notatka końcowa

Proszę powiedz mi, co myślisz o tym projekcie w sekcji komentarzy, daj znać o swoich rekomendacjach i zagłosuj na mnie w konkursie Raspberry Pi, jeśli Ci się spodobał.

Czekamy na czytanie!

Zalecana: