Turinys:
- 1 žingsnis: reikalinga medžiaga
- 2 žingsnis: mygtukai
- 3 žingsnis: mygtukų dėklas
- 4 žingsnis: „Raspberry Pi“
- 5 žingsnis: programavimas
- 6 veiksmas: paleiskite „Python“scenarijų kiekvieną kartą paleisdami
- 7 žingsnis: pabaiga
Video: Atkūrimo įrašymo įrenginys su „Raspberry Pi“: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
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
Š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
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
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“
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:
Atminties įrašymo įrenginys - Kalėdų dovana: 8 žingsniai (su nuotraukomis)
Atminties įrašymo įrenginys - Kalėdų dovana: Ciao a tutti! In vista del Natale arriva il momento dei regali, sono sicuro quindi che molti di voi sentiranno la needità di donare qualitycosa di speciale. In questo periodo così difficile certamente sono mancate molte progi per condividere e
Vėjo greičio ir saulės spindulių įrašymo įrenginys: 3 žingsniai (su nuotraukomis)
Vėjo greičio ir saulės spindulių įrašymo įrenginys: Turiu užregistruoti vėjo greitį ir saulės spinduliuotės galią (apšvitinimą), kad galėčiau įvertinti, kiek galios būtų galima išgauti naudojant vėjo turbiną ir (arba) saulės kolektorius. Vienus metus matuosiu, analizuosiu duomenis ir tada suplanuokite ne tinklo sistemą
„ScanUp“NFC skaitytuvas/rašytojas ir garso įrašymo įrenginys akliesiems, silpnaregiams ir visiems kitiems: 4 žingsniai (su nuotraukomis)
„ScanUp NFC“skaitytojas/rašytojas ir garso įrašymo įrenginys akliesiems, silpnaregiams ir visiems kitiems: studijuoju pramoninį dizainą, o projektas yra mano semestro darbas. Tikslas yra padėti silpnaregiams ir akliesiems naudoti įrenginį, leidžiantį įrašyti garsą WAV formatu į SD kortelę ir paskambinti ta informacija naudojant NFC žymą. Taigi per
ARUPI - nebrangus automatinis įrašymo įrenginys/autonominis įrašymo įrenginys (ARU), skirtas garsų kraštovaizdžio ekologams: 8 žingsniai (su nuotraukomis)
ARUPI - pigių automatinių įrašų įrenginys/autonominis įrašymo įrenginys (ARU) garso peizažo ekologams: šią instrukciją parašė Anthony Turneris. Projektas buvo sukurtas padedant Kento universiteto Kompiuterijos mokyklos „Shed“(ponas Daniel Knox buvo puiki pagalba!). Jis parodys, kaip sukurti automatizuotą garso įrašymo
RC skrydžio duomenų įrašymo įrenginys/juoda dėžutė: 8 žingsniai (su nuotraukomis)
RC skrydžio duomenų įrašymo įrenginys/„Black Box“: Šioje instrukcijoje aš kursiu arduino pagrindu sukurtą kovos duomenų registratorių RC transporto priemonėms, ypač RC lėktuvams. Duomenims įrašyti naudosiu „UBlox Neo 6m“GPS modulį, prijungtą prie „arduino pro mini“ir SD kortelės skydo