Tartalomjegyzék:

Lejátszó felvevő Raspberry Pi -vel: 7 lépés (képekkel)
Lejátszó felvevő Raspberry Pi -vel: 7 lépés (képekkel)

Videó: Lejátszó felvevő Raspberry Pi -vel: 7 lépés (képekkel)

Videó: Lejátszó felvevő Raspberry Pi -vel: 7 lépés (képekkel)
Videó: Get started with the Raspberry Pi High End Audio DAC 2024, November
Anonim
Image
Image
Szükséges anyag
Szükséges anyag

Sziasztok, Ebben a tanulságosban elmagyarázom, hogyan készítettem lejátszó felvevőt a Raspberry Pi segítségével. A készülék egy Raspberry Pi B+modell, tetején 7 nyomógombbal, a Pi egyik USB -portjához csatlakoztatott hangszóróval és egy másik USB -porthoz csatlakoztatott mikrofonnal. Minden gomb hanghoz van társítva, így 7 különböző hangot tud lejátszani. A hangok a gomb rövid megnyomása után szólalnak meg. Új hang rögzítéséhez egyszerűen nyomja meg a gombot több mint 1 másodpercig, rögzítse a hangjelzést, majd engedje el a gombot a felvétel végén. Ennél egyszerűbb nem lesz!

1. lépés: Szükséges anyag

Szükséges anyag
Szükséges anyag
Szükséges anyag
Szükséges anyag

Ehhez a projekthez szükségem volt:

  • A Raspberry Pi B + modell és a micro SD kártya - 29,95 $ + 9,95 $
  • A Raspberry Pi műanyag tok - 7,95 $
  • USB hangszórók - 12,50 USD
  • USB mikrofon - 5,95 dollár
  • Fél méretű perma-proto tábla-4,50 $
  • 7 pillanatnyi nyomógomb - 2,50 $

Nekem is kellett:

  • Valami elektromos vezeték
  • Derékszögű női fejlécek
  • Néhány fa, fekete festék és ragasztó a gombtokhoz
  • Forrasztópáka és forrasztópáka

2. lépés: A gombok

A gombok
A gombok
A gombok
A gombok
A gombok
A gombok

A használt gombok meglehetősen magasak (6 mm), így át tudnak menni a tok vastagságán.

A 7 gombomat egy perma-proto táblára helyeztem, amely olyan, mint egy kenyérsütő, kivéve, ha az alkatrészeket forrasztják rá. Ez robosztusabb, mint a kenyérlap, és olcsóbb, mint a nyomtatás. Minden gomb a Raspberry Pi GPIO -jához kapcsolódik. Itt nincs ellenállásom, mivel a Pi már rendelkezik belső fel/le ellenállásokkal, amelyeket a program beállít. Ebben az esetben a felhúzásra állítottam őket (lásd az alábbi programot).

A gombok 4 sorban vagy 0,4 hüvelykben helyezkednek el.

3. lépés: A gombok tokja

A gombok tokja
A gombok tokja
A gombok tokja
A gombok tokja
A gombok tokja
A gombok tokja

Egy nagyon egyszerű tokot készítettem a gombokhoz, rétegelt lemezekkel és fából készült négyzetes dübelrel. A dübel méretének elég nagynak kell lennie ahhoz, hogy tartalmazza a gomb alját és a táblát, de elég kicsi ahhoz, hogy a gomb kivegye a tokból. 1/4 x 1/4 hüvelykes tiplit használtam.

Miután meggyőződött arról, hogy a tábla illeszkedik a tokba, a dübeleket az alaplapra ragasztják. Ezután lyukakat fúrnak a felső lapra (a táblával 0,4 hüvelykenként pontosan jelölhetők). Minden fa alkatrész festett, a deszkát a tokba helyezzük, és a felső lapot ragasztjuk rá.

4. lépés: A Raspberry Pi

A Raspberry Pi
A Raspberry Pi
A Raspberry Pi
A Raspberry Pi
A Raspberry Pi
A Raspberry Pi

Nem akartam közvetlenül a Pi -hez forrasztani a vezetékeket, arra az esetre, ha a Pi -t valami másra akarom használni a jövőben. Ezért a vezetékeket derékszögű női fejlécekhez forrasztottam, és bedugtam a fejléceket a Pi-hez.

A használt GPIO -k 21, 26, 20, 19, 13, 6 és 5. A földelőcsapot is használják.

A mikrofon és a hangszóró egyszerűen csatlakoztatva van a 4 USB -port 2 közül.

A Pi tápellátása a mikro-usb aljzaton keresztül történik

5. lépés: Programozás

A Pi programozásához Ethernet -kábellel csatlakoztattam az internethez, és egy távoli számítógépről vezéreltem a VNC viewer segítségével. Ezt a beállítást azonban nem használhatja, amikor először csatlakozik a Pi -hez, mert az operációs rendszer még nincs telepítve, és az SSH nincs letiltva. Tehát legalább először csatlakoztatnia kell egy képernyőt, billentyűzetet és egeret.

Elég nehézséget okozott megtalálni a hang rögzítésére és lejátszására vonatkozó parancsokat a megfelelő hangkártyán. Nekem ezek a parancsok működtek:

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

    0.wav lejátszása

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

    Legfeljebb 20 másodpercig rögzít a 0.wav fájlban, CD minőségben

A hangfájlok az alapértelmezett könyvtárban (/home/pi) találhatók. A hangjelzéshez hangfájl is szükséges, amelyet az alapértelmezett könyvtárba kell helyezni, és beep.wav néven.

Maga a python kód a következő:

python kód egy Raspberry Pi lejátszó felvevőhöz

importálja az RPi. GPIO -t GPIO -ként
importálási idő
importál
#variables:
butPressed = [True, True, True, True, True, True, True]#Ha lenyomja az i gombot, akkor a butPressed hamis
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO csapok mindegyik gombhoz
recordBool = False#Igaz, ha rekord van folyamatban
GPIO.setmode (GPIO. BCM)
i esetén (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#beállítja a Pi belső ellenállásait a felhúzáshoz
míg igaz:
i esetén (0, 7):
butPressed = GPIO.input (pin )#ellenőrzi, hogy megnyomtak -e egy gombot
ha butPressed == Hamis:#ha megnyom egy gombot
previousTime = time.time ()
míg butPressed == False and recordBool == False:
butPressed = GPIO.input (pin )
if time.time () - previousTime> 1.0:#ha a gombot több mint egy másodpercig nyomva tartja, akkor a recordBool igaz
recordBool = Igaz
if recordBool == True: #if recordBool True, hangjelzést ad, majd rögzít
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) #rekordok legfeljebb 20 másodpercig az i.wav fájlban, CD minőségben
míg nyomva van == Hamis:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#a rekord leáll, amikor a gombot elengedik, vagy 20 másodperc múlva
recordBool = Hamis
else:#if recordBool hamis, i.wav hangot játszik le
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
time.sleep (0,1)

a rawPlayback felvevő megtekintése, amelyet a GitHub ❤ üzemeltet

6. lépés: Futtassa a Python parancsfájlt minden indításkor

A Python parancsfájl futtatásához minden Pi indításakor a következő sorokat a playback.desktop nevű fájlba kell helyezni a /home/pi/.config/autostart/ mappában

futtatja a playback.py fájlt a Raspberry Pi indításakor

[Asztali bejegyzés]
Kódolás = UTF-8
Típus = Alkalmazás
Név = Lejátszás
Megjegyzés = Ez egy lejátszási alkalmazás
Exec = python /home/pi/playback.py
StartupNotify = hamis
Terminál = igaz
Rejtett = hamis

Tekintse meg a rawplayback.desktop alkalmazást, amelyet a GitHub ❤ üzemeltet

7. lépés: Jegyzet befejezése

Kérem, mondja el véleményét a megjegyzés rovatban erről a projektről, ossza meg velem az ajánlásait, és ha tetszett, szavazzon rám a Raspberry Pi versenyen.

Várlak szeretettel!

Ajánlott: