Taula de continguts:
- Pas 1: Material necessari
- Pas 2: els botons
- Pas 3: el cas dels botons
- Pas 4: el Raspberry Pi
- Pas 5: programació
- Pas 6: executeu el script Python a cada inici
- Pas 7: finalitzar la nota
Vídeo: Gravador de reproducció amb Raspberry Pi: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Hola a tothom, En aquest instructiu explico com vaig fer una gravadora de reproducció amb Raspberry Pi. El dispositiu és un model Raspberry Pi B +, amb 7 polsadors a la part superior, un altaveu connectat a un dels ports USB del Pi i un micròfon connectat a un altre port USB. Cada botó està associat a un so, de manera que pot reproduir 7 sons diferents. Els sons es reprodueixen després de prémer breument el botó. Per gravar un so nou, només cal prémer el botó durant més d'un segon, gravar després del pit i deixar anar el botó al final del registre. No és més senzill que això.
Pas 1: Material necessari
Per a aquest projecte necessitava:
- Una Raspberry Pi model B + i targeta micro SD: 29,95 $ + 9,95 $
- Una caixa de plàstic Raspberry Pi: 7,95 $
- Altaveus USB: 12,50 $
- Un micròfon USB: 5,95 $
- Una placa perma-proto de mida mitjana: 4,50 $
- 7 botons momentanis: 2,50 $
També necessitava:
- Alguns cables elèctrics
- Capçaleres femenines d'angle recte
- Una mica de fusta, pintura negra i cola per a la funda del botó
- Un soldador i soldador
Pas 2: els botons
Els botons utilitzats són bastant alts (6 mm) perquè puguin passar pel gruix de la caixa.
Vaig col·locar els meus 7 botons en una placa perma-proto, que és com una taula de tall, excepte que hi ha soldats components. Això és més robust que un tauler de revisió i és més barat que imprimir un PCB. Cada botó enllaça terra amb un GPIO al Raspberry Pi. No tinc resistències aquí, ja que el Pi ja té resistències internes de pujada / baixada que es configuraran al programa. En aquest cas, els he configurat per fer-los arribar (vegeu el programa més avall).
Els botons es col·loquen cada 4 files o cada 0,4 polzades.
Pas 3: el cas dels botons
Vaig fer una funda molt senzilla per als botons, amb fulls de fusta contraxapada i tac de fusta quadrat. La mida de la clavilla ha de ser prou gran per contenir la base del botó i el tauler, però prou petita per deixar que la part superior del botó surt de la caixa. He utilitzat una espiga de 1/4 de x 1/4 de polzada.
Després d’assegurar-se que el tauler s’adapta a la caixa, els tacs s’enganxen al full base. A continuació, es perforen forats al full superior (el tauler es pot utilitzar per fer marques amb precisió cada 0,4 polzades). Totes les parts de fusta estan pintades, el tauler col·locat a la caixa i la làmina superior enganxada a sobre.
Pas 4: el Raspberry Pi
No volia soldar els cables directament al Pi, per si volia utilitzar el Pi per a una altra cosa en el futur. Per tant, he soldat els cables a capçaleres femenines d’angle recte i he connectat les capçaleres al Pi.
Els GPIO que s’utilitzen són 21, 26, 20, 19, 13, 6 i 5. També s’utilitza el pin de terra.
El micròfon i l’altaveu es connecten simplement a 2 dels 4 ports USB.
El Pi s’alimenta a través de la presa micro-usb
Pas 5: programació
Per programar el Pi, el vaig connectar a Internet mitjançant un cable ethernet i el vaig controlar des d’un ordinador remot mitjançant el visor VNC. Tot i això, no podeu utilitzar aquesta configuració la primera vegada que us connecteu al Pi, perquè el sistema operatiu encara no està instal·lat i SSH no està desactivat. Per tant, haureu de connectar una pantalla, un teclat i un ratolí, almenys la primera vegada.
Va ser bastant complicat trobar les ordres per gravar i reproduir un so a la targeta de so adequada. Aquestes són les ordres que han funcionat per a mi:
-
aplay -D plughw: CARD = Device_1, DEV = 0 0.wav
Reprodueix 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Registra un màxim de 20 segons al fitxer 0.wav, amb qualitat de CD
Els fitxers de so es troben al directori per defecte (/ home / pi). També és necessari un fitxer de so per al so, situat al directori per defecte i anomenat beep.wav.
El codi python en si és el següent:
codi python per a una gravadora de reproducció Raspberry Pi
importar RPi. GPIO com a GPIO |
temps d'importació |
import os |
#les variables: |
butPressed = [True, True, True, True, True, True, True] #if Se prem el botó i, llavors butPressed és False |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO pins de cada botó |
recordBool = False # True si un registre està en curs |
GPIO.setmode (GPIO. BCM) |
per a l’interval (0, 7): |
GPIO. |
mentre que és cert: |
per a l’interval (0, 7): |
butPressed = GPIO.input (pin ) # comprova si es prem un botó |
si peròPremeu == Fals: #si es prem un botó |
previousTime = time.time () |
mentre butPressed == False i recordBool == False: |
butPressed = GPIO.input (pin ) |
si time.time () - anteriorTime> 1.0: #si es prem el botó durant més d'un segon, recordBool és True |
recordBool = Cert |
si recordBool == True: #if recordBool és True, reprodueix un so i després grava |
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) #records durant un màxim de 20 segons al fitxer i.wav, amb qualitat de cd |
mentre butPressed == Fals: |
butPressed = GPIO.input (pin ) |
os.system ("pkill -9 arecord") # el registre s'atura quan es deixa anar el botó o després de 20 segons |
recordBool = Fals |
else: #if recordBool és fals, reprodueix el so i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0% d.wav"% i) |
time.sleep (0,1) |
visualitza la gravadora rawPlayback allotjada amb ❤ per GitHub
Pas 6: executeu el script Python a cada inici
Per executar l'script python a l'inici de cada Pi, les línies següents es col·loquen en un fitxer anomenat playback.desktop a la carpeta /home/pi/.config/autostart/
executa playback.py a l'inici de Raspberry Pi
[Entrada d'escriptori] |
Codificació = UTF-8 |
Tipus = Aplicació |
Nom = Reproducció |
Comentari = Aquesta és una aplicació de reproducció |
Exec = python /home/pi/playback.py |
StartupNotify = fals |
Terminal = cert |
Amagat = fals |
veure rawplayback.desktop allotjat amb ❤ per GitHub
Pas 7: finalitzar la nota
Si us plau, digueu-me què opineu d’aquest projecte a la secció de comentaris, feu-me saber les vostres recomanacions i voteu-me al concurs Raspberry Pi si us ha agradat.
Amb ganes de llegir-vos!
Recomanat:
Rellotge regulador de reproducció: 7 passos (amb imatges)
Rellotge regulador de la reproducció: aquest instructiu, que és instructiu, us mostra com es pot fer un rellotge regulador de la reproducció mitjançant una caixa de rellotge vella i tres moviments de quars. He utilitzat un vell anglès de 12 " (300 mm) Carcassa de rellotge d'Ebay, però es pot utilitzar qualsevol cas sempre que hi hagi tres
Reproducció MP3 de paret FX de so: 12 passos (amb imatges)
MP3 Playing Sound FX Wall: creeu una paret sonora interactiva i divertida que reprodueixi MP3 amb un toc senzill. Què fas amb una paret buida? Podríeu afegir-hi algunes fotografies agradables? O cobriu-lo amb una planta de casa de colors. Fins i tot hem vist algunes persones amagar parets nues darrere del llibre
Talking Arduino - Reproducció d 'un MP3 amb Arduino sense cap mòdul Reproducció de fitxers Mp3 des d'Arduino mitjançant PCM: 6 passos
Talking Arduino | Reproducció d 'un MP3 amb Arduino sense cap mòdul Reproducció de fitxers Mp3 des d'Arduino mitjançant PCM: en aquest instructable aprendrem a reproduir un fitxer mp3 amb arduino sense fer servir cap mòdul d'àudio, aquí utilitzarem la biblioteca PCM per a Arduino que reprodueix PCM de 16 bits de freqüència de 8kHZ, de manera que fem això
Reproducció de CD sense reproductor de CD, amb AI i YouTube: 10 passos (amb imatges)
Reproducció de CD sense reproductor de CD, utilitzant AI i YouTube: voleu reproduir els vostres CD però ja no teniu cap reproductor de CD? No heu tingut temps per arrencar els vostres CD? Els heu tret, però els fitxers no estan disponibles quan calgui? Cap problema. Deixeu que la intel·ligència artificial (AI) identifiqui el vostre CD i que YouTube el reprodueixi. Vaig escriure una aplicació per a Android fent
Temporitzador de reproducció de l'iPad: 5 passos (amb imatges)
Temporitzador de reproducció d’iPad: crec que aquest és un tema amb què tots els pares tenen problemes. Quant poden jugar els nens amb els seus iPads (o qualsevol altra tauleta). Vam provar diversos enfocaments, com ara els temps fixos, però això realment no funcionava, ja que el nostre fill sempre volia anar a casa a casa