Sisukord:
- Samm: vajalik materjal
- 2. samm: nupud
- 3. samm: nuppude ümbris
- Samm: Vaarika Pi
- Samm: programmeerimine
- Samm: käivitage Pythoni skript igal käivitamisel
- Samm: lõpetage märkus
Video: Taasesituse salvesti Raspberry Pi abil: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
Tere kõigile, Selles juhendis selgitan, kuidas tegin Raspberry Pi abil taasesituse salvestaja. Seade on Raspberry Pi mudel B+, mille peal on 7 vajutusnuppu, kõlar on ühendatud ühe Pi USB -pordiga ja mikrofon on ühendatud teise USB -pordiga. Iga nupp on seotud heliga, nii et see võib esitada 7 erinevat heli. Heli esitatakse pärast lühikest nupuvajutust. Uue heli salvestamiseks vajutage lihtsalt nuppu üle 1 sekundi, salvestage pärast piiksu ja vabastage nupp salvestuse lõpus. See ei muutu lihtsamaks!
Samm: vajalik materjal
Selle projekti jaoks vajasin:
- A Raspberry Pi mudel B + ja micro SD -kaart - 29,95 $ + 9,95 $
- Raspberry Pi plastkott - 7,95 dollarit
- USB kõlarid - 12,50 dollarit
- USB -mikrofon - 5,95 dollarit
- Poole suurune perma-proto plaat-4,50 dollarit
- 7 hetkelist nuppu - 2,50 dollarit
Mul oli ka vaja:
- Mingi elektrijuhe
- Täisnurksed naissoost päised
- Nööbikarbi jaoks natuke puitu, musta värvi ja liimi
- Jootekolb ja jootekolb
2. samm: nupud
Kasutatavad nupud on üsna kõrged (6 mm), nii et need võivad korpuse paksusest läbi minna.
Asetasin oma 7 nuppu perma-proto tahvlile, mis on nagu leivaplaat, välja arvatud komponendid, mis on sellele joodetud. See on vastupidavam kui leivalaud ja odavam kui trükkplaadi printimine. Iga nupp ühendab Raspberry Pi GPIO -ga. Mul pole siin takistoreid, kuna Pi-l on juba sisemised tõmbe-/allalaadimistakistid, mis programmis seatakse. Sel juhul olen määranud need tõmbamiseks (vt programmi allpool).
Nupud asetatakse iga 4 rea või iga 0,4 tolli järel.
3. samm: nuppude ümbris
Tegin nööpidele väga lihtsa ümbrise, vineerplaatide ja puidust nelinurkse tüübliga. Tüübli suurus peab olema piisavalt suur, et sellesse mahuks nööpide alus ja laud, kuid piisavalt väike, et nööp korpusest välja lasta. Ma kasutasin 1/4 tolli x 1/4 tüüblit.
Pärast plaadi korpuse sobivuse kontrollimist liimitakse tüüblid aluslehe külge. Seejärel puuritakse ülemisele lehele augud (tahvli abil saab täpselt teha jälgi iga 0,4 tolli järel). Kõik puitdetailid on värvitud, plaat paigutatud korpusesse ja pealmine leht liimitud selle peale.
Samm: Vaarika Pi
Ma ei tahtnud juhtmeid otse Pi külge joota, juhuks, kui soovin tulevikus Pi -d millekski muuks kasutada. Seetõttu jootsin juhtmed täisnurksete naissoost päiste külge ja ühendasin päised Pi külge.
Kasutatavad GPIO -d on 21, 26, 20, 19, 13, 6 ja 5. Samuti kasutatakse maandusnõela.
Mikrofon ja kõlar on lihtsalt ühendatud 2 -st neljast USB -pordist.
Pi saab toite mikro-USB-pistikupesa kaudu
Samm: programmeerimine
Pi programmeerimiseks ühendasin selle Etherneti kaabli abil Internetiga ja juhtisin seda kaugarvutist VNC vaataja abil. Kuid te ei saa seda seadistust kasutada esmakordsel Pi -ga ühenduse loomisel, kuna OS pole veel installitud ja SSH pole keelatud. Seega peate vähemalt esimest korda ühendama ekraani, klaviatuuri ja hiire.
Õige helikaardi heli salvestamise ja esitamise käskude leidmine oli üsna tülikas. Need käsklused töötasid minu jaoks:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Mängib 0.wav
-
arecord 0.wav -D sys vaikimisi: CARD = 1 -f cd -d 20
Salvestab CD -kvaliteediga faili 0.wav maksimaalselt 20 sekundiks
Helifailid asuvad vaikekataloogis (/home/pi). Vajalik on ka piiksu helifail, mis on paigutatud vaikekataloogi ja nimega beep.wav.
Pythoni kood ise on järgmine:
pythoni kood Raspberry Pi taasesituse salvestajale
RPi. GPIO importimine GPIO -na |
impordi aeg |
import os |
#muutujad: |
butPressed = [True, True, True, True, True, True, True, True]#kui vajutatakse nuppu i, siis on vajutatud vale |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO tihvtid iga nupu kohta |
recordBool = False#Tõsi, kui kirje on pooleli |
GPIO.setmode (GPIO. BCM) |
i jaoks vahemikus (0, 7): |
GPIO.seadistus (tihvt , GPIO. IN, pull_up_down = GPIO. PUD_UP)#määrab Pi sisetakistused üles tõmbamiseks |
kuigi tõsi: |
i jaoks vahemikus (0, 7): |
butPressed = GPIO.input (pin )#kontrollib, kas nuppu vajutatakse |
kui vajutatakse == Vale:#kui nuppu vajutatakse |
previousTime = time.time () |
samas kui vajutatud == Vale ja recordBool == Vale: |
butpressed = GPIO.input (pin ) |
if time.time () - previousTime> 1.0:#kui nuppu vajutatakse üle sekundi, siis recordBool on True |
recordBool = Tõsi |
kui recordBool == Tõsi: #if recordBool on tõene, mängib see piiksu ja seejärel salvestab |
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) #rekordid maksimaalselt 20 sekundiks failis i.wav, CD kvaliteediga |
samal ajal kui vajutatud == Vale: |
butpressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord")#kirje peatatakse, kui nupp lahti lastakse või 20 sekundi pärast |
recordBool = Vale |
else: #if recordBool on vale, ta esitab heli i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
aeg. uni (0,1) |
vaata rawPlayback salvestajat, mille hostiks on GitHub ❤
Samm: käivitage Pythoni skript igal käivitamisel
Pythoni skripti käivitamiseks iga Pi käivitamisel sisestatakse järgmised read faili playback.desktop kaustas /home/pi/.config/autostart/
käivitab playback.py Raspberry Pi käivitamisel
[Töölaua sisestus] |
Kodeerimine = UTF-8 |
Tüüp = rakendus |
Nimi = taasesitus |
Kommentaar = See on taasesituse rakendus |
Exec = python /home/pi/playback.py |
StartupNotify = vale |
Terminal = tõsi |
Varjatud = vale |
vaadake rawplayback.desktopi, mida GitHub haldab koos ❤ -ga
Samm: lõpetage märkus
Palun rääkige kommentaaride osas, mida arvate sellest projektist, andke mulle oma soovitustest teada ja hääletage minu poolt Raspberry Pi konkursil, kui see teile meeldis.
Ootan teid lugema!
Soovitan:
Tuulekiiruse ja päikesekiirguse salvesti: 3 sammu (piltidega)
Tuulekiiruse ja päikesekiirguse salvestaja: pean registreerima tuule kiiruse ja päikesekiirguse võimsuse (kiirguse), et hinnata, kui palju energiat saaks tuuleturbiini ja/või päikesepaneelidega ammutada. Mõõdan ühe aasta, analüüsin andmed ja seejärel kavandage võrgust väljasüsteem
Arduino abil YouTube'i taasesituse juhtimiseks kasutage žeste: 5 sammu
Kasutage Arduino abil YouTube'i taasesituse juhtimiseks žeste: StoryYouTube võimaldab teil ainult paremat nuppu klõpsates 5 sekundit edasi kerida. Nii otsustasin kasutada Arduino ja pythonit, et teha kontroller, mis aitaks mul 20 sekundit edasi liikuda iga kord, kui käega vehkisin
Kella tegemine M5stick C abil Arduino IDE abil RTC reaalajas kell M5stack M5stick-C abil: 4 sammu
Kella tegemine M5stick C abil, kasutades Arduino IDE | RTC reaalajas kell koos M5stack M5stick-C-ga: Tere, selles juhendis olevad poisid, me õpime, kuidas Arduino IDE abil kella m5stick-C arendusplaadiga teha. Nii kuvab m5stick kuupäeva, kellaaja ja amp; kuunädal ekraanil
RC lennuandmete salvesti/must kast: 8 sammu (piltidega)
RC lennuandmete salvestaja/must kast: selles juhendis ehitan arduino -põhise võitlusandmete salvesti RC -sõidukitele, täpsemalt RC -lennukitele. Kasutan andmete salvestamiseks UBlox Neo 6m GPS -moodulit, mis on ühendatud arduino pro mini ja SD -kaardi kilbiga
Automaatse taasesituse keelamine USB-s ja CD-draivis Windows XP-s: 6 sammu
Keelake automaatne esitamine USB-s ja CD-draivis Windows XP-s: viirused levivad hõlpsalt USB-mäluseadmete kaudu. Sel viisil edastatud viirused luuakse nii, et need käivitatakse automaatselt (aktiveeritakse automaatselt), kui need ühendatakse töötava arvutiga või kui draiv avatakse (klõpsates või topeltklõpsates)