Turinys:

Atkūrimo įrašymo įrenginys su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)
Atkūrimo įrašymo įrenginys su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)

Video: Atkūrimo įrašymo įrenginys su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)

Video: Atkūrimo įrašymo įrenginys su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)
Video: Automatinis kalendoriaus pamainų planavimo įrankis programoje „Excel“. 2024, Lapkritis
Anonim
Image
Image
Reikalinga medžiaga
Reikalinga medžiaga

Sveiki visi, Šioje pamokoje paaiškinu, kaip sukūriau atkūrimo įrašymo įrenginį naudodamas „Raspberry Pi“. Įrenginys yra „Raspberry Pi“modelis B+, su 7 mygtukais viršuje, garsiakalbis, prijungtas prie vieno iš „Pi“USB prievadų, ir mikrofonas, prijungtas prie kitų „USB“prievadų. Kiekvienas mygtukas yra susietas su garsu, todėl jis gali atkurti 7 skirtingus garsus. Garsai skamba trumpai paspaudus mygtuką. Norėdami įrašyti naują garsą, tiesiog paspauskite mygtuką ilgiau nei 1 sekundę, įrašykite po pyptelėjimo ir paleiskite mygtuką įrašo pabaigoje. Tai nėra lengviau nei tai!

1 žingsnis: reikalinga medžiaga

Reikalinga medžiaga
Reikalinga medžiaga
Reikalinga medžiaga
Reikalinga medžiaga

Šiam projektui man reikėjo:

  • „Raspberry Pi“modelis B + ir „micro SD“kortelė - 29,95 USD + 9,95 USD
  • „Raspberry Pi“plastikinis dėklas - 7,95 USD
  • USB garsiakalbiai - 12,50 USD
  • USB mikrofonas - 5,95 USD
  • Pusės dydžio perma-proto lenta-4,50 USD
  • 7 momentiniai mygtukai - 2,50 USD

Man taip pat reikėjo:

  • Kažkoks elektros laidas
  • Stačiakampės moterų antraštės
  • Šiek tiek medžio, juodų dažų ir klijų sagų dėklui
  • Lituoklis ir lydmetalis

2 žingsnis: mygtukai

Mygtukai
Mygtukai
Mygtukai
Mygtukai
Mygtukai
Mygtukai

Naudojami mygtukai yra gana aukšti (6 mm), kad jie galėtų pereiti per korpuso storį.

Aš padėjau savo 7 mygtukus ant „perma-proto“lentos, kuri yra tarsi duonos lenta, išskyrus tai, kad komponentai yra lituojami. Tai tvirtesnė nei duonos lenta ir pigiau nei spausdinti PCB. Kiekvienas mygtukas susiejamas su GPIO „Raspberry Pi“. Aš čia neturiu rezistorių, nes „Pi“jau turi vidinius traukimo/nuleidimo rezistorius, kurie bus nustatyti programoje. Šiuo atveju aš juos nustatiau prisitraukti (žr. Programą žemiau).

Mygtukai dedami kas 4 eilutes arba kas 0,4 colio.

3 žingsnis: mygtukų dėklas

Mygtukų dėklas
Mygtukų dėklas
Mygtukų dėklas
Mygtukų dėklas
Mygtukų dėklas
Mygtukų dėklas

Aš padariau labai paprastą sagų dėklą su faneros lakštais ir mediniu kvadratiniu kaiščiu. Kaiščio dydis turi būti pakankamai didelis, kad jame būtų sagų pagrindas ir lenta, tačiau pakankamai mažas, kad mygtukas išeitų iš dėklo. Aš naudoju 1/4 x 1/4 kaiščio.

Įsitikinę, kad lenta tinka dėžutėje, kaiščiai priklijuojami prie pagrindo lakšto. Tada ant viršutinio lapo išgręžiamos skylės (lenta gali būti naudojama tiksliai žymėti kas 0,4 colio). Visos medinės dalys yra nudažytos, lenta dedama į dėklą, o viršutinis lapas klijuojamas.

4 žingsnis: „Raspberry Pi“

„Raspberry Pi“
„Raspberry Pi“
„Raspberry Pi“
„Raspberry Pi“
„Raspberry Pi“
„Raspberry Pi“

Aš nenorėjau lituoti laidų tiesiai prie „Pi“, jei ateityje noriu naudoti „Pi“kažkam kitam. Todėl aš lituodavau laidus prie stačiakampių moterų antgalių ir prijungiau „Pi“antraštes.

Naudojami GPIO yra 21, 26, 20, 19, 13, 6 ir 5. Taip pat naudojamas įžeminimo kaištis.

Mikrofonas ir garsiakalbis yra tiesiog prijungti prie 2 iš 4 USB prievadų.

„Pi“yra maitinamas per „micro-usb“lizdą

5 žingsnis: programavimas

Norėdami užprogramuoti „Pi“, prijungiau jį prie interneto naudodami eterneto kabelį ir valdiau jį iš nuotolinio kompiuterio naudodami „VNC viewer“. Tačiau negalite naudoti šios sąrankos pirmą kartą prisijungę prie „Pi“, nes OS dar neįdiegta ir SSH nėra išjungta. Taigi bent pirmą kartą turėsite prijungti ekraną, klaviatūrą ir pelę.

Buvo gana sunku rasti komandas įrašyti ir paleisti garsą tinkamoje garso plokštėje. Šios komandos man dirbo:

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

    Groja 0.wav

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

    Įrašo ne ilgiau kaip 20 sekundžių faile 0.wav, su CD kokybe

Garso failai yra numatytame kataloge (/home/pi). Taip pat reikalingas pyptelėjimo garso failas, įdėtas į numatytąjį katalogą ir vadinamas beep.wav.

Pats python kodas yra toks:

„Raspberry Pi“atkūrimo įrašymo įrenginio python kodas

importuoti RPi. GPIO kaip GPIO
importo laikas
importuoti
#variables:
butPressed = [Tiesa, tiesa, tiesa, tiesa, tiesa, tiesa, tiesa, tiesa]#jei paspaustas mygtukas i, tada paspaustas yra klaidingas
smeigtukas = [26, 19, 13, 6, 5, 21, 20] #GPIO smeigtukai kiekvieno mygtuko
recordBool = False#Tiesa, jei įrašas vykdomas
GPIO.setmode (GPIO. BCM)
i diapazone (0, 7):
GPIO.setup (kaištis , GPIO. IN, pull_up_down = GPIO. PUD_UP)#nustato „Pi“vidinius rezistorius
nors tiesa:
i diapazone (0, 7):
butPressed = GPIO.input (kaištis )#tikrina, ar paspaustas mygtukas
jei spaudžiamas == Netiesa: #paspaudus mygtuką
previousTime = time.time ()
o butPressed == False and recordBool == False:
butPressed = GPIO.input (kaištis )
if time.time () - previousTime> 1.0:#jei mygtukas paspaudžiamas ilgiau nei sekundę, įrašykite įrašą
recordBool = Tiesa
jei recordBool == Tiesa: #if recordBool yra tiesa, jis pasigirsta pyptelėjimas ir tada įrašo
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)#įrašai ne ilgiau kaip 20 sekundžių faile i.wav, su CD kokybe
o paspaudus == Netiesa:
butPressed = GPIO.input (kaištis )
os.system ("pkill -9 arecord")#įrašas sustabdomas, kai mygtukas paleidžiamas arba po 20 sekundžių
recordBool = Netiesa
else:#if recordBool is False, jis atkuria garsą i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
laikas. miegas (0,1)

peržiūrėti „rawPlayback“įrašymo įrenginį, kurį priglobė „GitHub“kartu su ❤

6 veiksmas: paleiskite „Python“scenarijų kiekvieną kartą paleisdami

Norėdami paleisti „Python“scenarijų kiekvieną kartą paleidus „Pi“, šios eilutės įdedamos į failą, pavadintą playback.desktop aplanke /home/pi/.config/autostart/

paleis „playback.py“paleidžiant „Raspberry Pi“

[Įrašas darbalaukyje]
Kodavimas = UTF-8
Tipas = programa
Pavadinimas = atkūrimas
Komentaras = Tai atkūrimo programa
Exec = python /home/pi/playback.py
StartupNotify = klaidinga
Terminalas = tiesa
Paslėptas = klaidingas

Peržiūrėkite rawplayback.desktop, kurį priglobė „GitHub“❤

7 žingsnis: pabaiga

Prašau, pasakykite man, ką manote apie šį projektą komentarų skiltyje, praneškite man apie savo rekomendacijas ir balsuokite už mane „Raspberry Pi“konkurse, jei jums tai patiko.

Nekantriai laukiu jūsų skaitymo!

Rekomenduojamas: