INHOUDSOPGAWE:

Afspeelopnemer met Framboos Pi: 7 stappe (met foto's)
Afspeelopnemer met Framboos Pi: 7 stappe (met foto's)

Video: Afspeelopnemer met Framboos Pi: 7 stappe (met foto's)

Video: Afspeelopnemer met Framboos Pi: 7 stappe (met foto's)
Video: Как спрятать данные в ячейках Excel? 2024, November
Anonim
Image
Image
Materiaal benodig
Materiaal benodig

Haai almal, In hierdie instruksies verduidelik ek hoe ek 'n afspeelopnemer gemaak het met behulp van Raspberry Pi. Die toestel is 'n Raspberry Pi -model B+, met 7 drukknoppies bo -op, 'n luidspreker wat aan een van die Pi se usb -poorte gekoppel is, en 'n mikrofoon wat aan 'n ander usb -poort gekoppel is. Elke knoppie word aan 'n klank gekoppel, sodat dit 7 verskillende klanke kan speel. Die klanke word gespeel na 'n kort druk op die knoppie. Om 'n nuwe klank op te neem, druk net meer as 1 sekonde op die knoppie, neem op na die piep en laat die knoppie aan die einde van die opname los. Dit word nie eenvoudiger as dit nie!

Stap 1: materiaal benodig

Materiaal benodig
Materiaal benodig
Materiaal benodig
Materiaal benodig

Vir hierdie projek benodig ek:

  • 'N Raspberry Pi -model B + en mikro -SD -kaart - 29,95 $ + 9,95 $
  • 'N Raspberry Pi -plastiekkas - 7,95 dollar
  • USB -luidsprekers - 12,50 $
  • 'N USB -mikrofoon - 5,95 dollar
  • 'N Halfgrootte perma-proto-bord-4,50 $
  • 7 kort drukknoppies - 2,50 $

Ek het ook nodig gehad:

  • Bietjie elektriese draad
  • Reghoekige vroulike opskrifte
  • Bietjie hout, swart verf en gom vir die knoopkas
  • 'N Soldeerbout en soldeersel

Stap 2: Die knoppies

Die knoppies
Die knoppies
Die knoppies
Die knoppies
Die knoppies
Die knoppies

Die knoppies wat gebruik word, is redelik lank (6 mm) sodat hulle deur die omhulseldikte kan gaan.

Ek het my 7 knoppies op 'n perma-proto-bord geplaas, wat soos 'n broodbord is, behalwe dat die komponente daarop gesoldeer is. Dit is meer robuust as 'n broodbord en goedkoper as om 'n PCB te druk. Elke knoppie skakel die grond met 'n GPIO op die Raspberry Pi. Ek het nie weerstande hier nie, aangesien die Pi reeds interne optel-/afwaartse weerstande het wat in die program ingestel sal word. In hierdie geval het ek hulle ingestel om op te trek (sien program hieronder).

Die knoppies word elke 4 rye of elke 0,4 duim geplaas.

Stap 3: Die knoppieskas

Die Buttons Case
Die Buttons Case
Die Buttons Case
Die Buttons Case
Die Buttons Case
Die Buttons Case

Ek het 'n baie eenvoudige omhulsel vir die knoppies gemaak, met laaghoutblaaie en vierkantige houtpyltjies. Die stokgrootte moet groot genoeg wees om die knoppiebasis en -bord te bevat, maar klein genoeg om die knoppie uit die omhulsel te laat kom. Ek het 'n 1/4 in x 1/4 in dowel gebruik.

Nadat u seker gemaak het dat die bord in die omhulsel pas, word die spykers aan die basis vasgeplak. Gate word dan op die boonste vel geboor (die bord kan gebruik word om elke 0,4 duim merkies te maak). Alle houtdele is geverf, die bord in die omhulsel geplaas en die boonste vel daarop vasgeplak.

Stap 4: Die Framboos Pi

Die Framboos Pi
Die Framboos Pi
Die Framboos Pi
Die Framboos Pi
Die Framboos Pi
Die Framboos Pi

Ek wou nie die drade direk aan die Pi soldeer nie, as ek die Pi in die toekoms vir iets anders wil gebruik. Ek het dus die drade aan reghoekige vroulike koppe gesoldeer en die koppe op die Pi ingeprop.

Die GPIO's wat gebruik word, is 21, 26, 20, 19, 13, 6 en 5. Die grondpen word ook gebruik.

Die mikrofoon en luidspreker is eenvoudig in 2 van die 4 usb -poorte gekoppel.

Die Pi word deur die mikro-usb-aansluiting aangedryf

Stap 5: Programmering

Om die Pi te programmeer, het ek dit met 'n ethernetkabel aan die internet gekoppel en dit beheer vanaf 'n afgeleë rekenaar met behulp van VNC viewer. U kan hierdie opstelling egter nie gebruik die eerste keer dat u aan die Pi koppel nie, omdat die bedryfstelsel nog nie geïnstalleer is nie en SSH nie uitgeskakel is nie. U moet dus ten minste die eerste keer 'n skerm, sleutelbord en muis koppel.

Dit was nogal moeilik om die opdragte te vind om 'n geluid op die regte klankkaart op te neem en af te speel. Dit is die opdragte wat vir my gewerk het:

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

    Speel 0.wav

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

    Neem maksimum 20 sekondes op in lêer 0.wav, met CD -kwaliteit

Die klanklêers is in die standaard gids (/home/pi) geleë. 'N Klanklêer vir die piep is ook nodig, geplaas in die standaardgids en genoem beep.wav.

Die python -kode self is die volgende:

python -kode vir 'n Raspberry Pi -afspeelopnemer

voer RPi. GPIO in as GPIO
invoer tyd
invoer os
#veranderlikes:
butPressed = [True, True, True, True, True, True, True]#as knoppie ingedruk word, dan is butPressed Onwaar
pen = [26, 19, 13, 6, 5, 21, 20] #GPIO -penne van elke knoppie
recordBool = Onwaar#Waar as 'n rekord aan die gang is
GPIO.setmode (GPIO. BCM)
vir i in reeks (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#stel Pi se interne weerstande in om op te trek
terwyl dit waar is:
vir i in reeks (0, 7):
butPressed = GPIO.input (pin )#kyk of 'n knoppie ingedruk word
as butPressed == Onwaar:#as 'n knoppie ingedruk word
previousTime = time.time ()
terwyl butPressed == Onwaar en recordBool == Onwaar:
butPressed = GPIO.input (pen )
as time.time () - vorige tyd> 1.0:#as die knoppie meer as 'n sekonde ingedruk word, dan is recordBool True
recordBool = Waar
as recordBool == True:#as recordBool True is, speel dit 'n piepgeluid en neem dit dan op
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)#rekords vir maksimum 20 sekondes in lêer i.wav, met cd kwaliteit
terwyl butPressed == Onwaar:
butPressed = GPIO.input (pen )
os.system ("pkill -9 arecord")#die rekord word gestaak as die knoppie losgemaak word, of na 20 sekondes
recordBool = Onwaar
anders:#as recordBool is vals, speel dit klank i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
tyd. slaap (0,1)

bekyk rawPlayback -opnemer wat aangebied word deur ❤ deur GitHub

Stap 6: Begin die Python -skrip by elke opstart

Om die python -script by die aanvang van elke Pi uit te voer, word die volgende reëls in 'n lêer met die naam playback.desktop in die gids /home/pi/.config/autostart/ geplaas

loop playback.py by die begin van Raspberry Pi

[Desktopinskrywing]
Kodering = UTF-8
Tipe = Aansoek
Naam = afspeel
Comment = Dit is 'n afspeelprogram
Exec = python /home/pi/playback.py
StartupNotify = vals
Terminal = waar
Versteek = vals

bekyk rawplayback.desktop aangebied deur ❤ deur GitHub

Stap 7: Eindnota

Vertel my in die kommentaarafdeling wat u van hierdie projek dink, laat weet my van u aanbevelings en stem vir my in die Raspberry Pi -wedstryd as u daarvan hou.

Sien uit daarna om jou te lees!

Aanbeveel: