Inhaltsverzeichnis:

Playback-Recorder mit Raspberry Pi - Gunook
Playback-Recorder mit Raspberry Pi - Gunook

Video: Playback-Recorder mit Raspberry Pi - Gunook

Video: Playback-Recorder mit Raspberry Pi - Gunook
Video: Automatic Internet Radio Recorder on Raspberry Pi 2024, November
Anonim
Image
Image
Benötigtes Material
Benötigtes Material

Hallo allerseits, In diesem anweisbaren erkläre ich, wie ich einen Wiedergaberecorder mit Raspberry Pi gemacht habe. Das Gerät ist ein Raspberry Pi Modell B+ mit 7 Drucktasten oben, einem Lautsprecher, der an einen der USB-Ports des Pi angeschlossen ist, und einem Mikrofon, das an einen anderen USB-Port angeschlossen ist. Jeder Taste ist ein Sound zugeordnet, sodass 7 verschiedene Sounds abgespielt werden können. Die Sounds werden nach einem kurzen Tastendruck abgespielt. Um einen neuen Ton aufzunehmen, drücken Sie einfach die Taste länger als 1 Sekunde, nehmen Sie nach dem Piepton auf und lassen Sie die Taste am Ende der Aufnahme los. Einfacher geht es nicht!

Schritt 1: Benötigtes Material

Benötigtes Material
Benötigtes Material
Benötigtes Material
Benötigtes Material

Für dieses Projekt brauchte ich:

  • Ein Raspberry Pi Modell B+ und eine Micro-SD-Karte - 29,95 $ + 9,95 $
  • Ein Raspberry Pi-Kunststoffgehäuse - 7.95 $
  • USB-Lautsprecher - 12.50 $
  • Ein USB-Mikrofon - 5,95 $
  • Ein halbes Perma-Proto-Board - 4,50 $
  • 7 momentane Druckknöpfe - 2,50 $

Ich brauchte auch:

  • Einige elektrische Kabel
  • Rechtwinklige Buchsenleisten
  • Etwas Holz, schwarze Farbe und Kleber für das Knopfetui
  • Ein Lötkolben und Lot

Schritt 2: Die Tasten

Die Knöpfe
Die Knöpfe
Die Knöpfe
Die Knöpfe
Die Knöpfe
Die Knöpfe

Die verwendeten Tasten sind recht hoch (6mm), damit sie durch die Gehäusedicke gehen können.

Ich habe meine 7 Tasten auf einem Perma-Proto-Board platziert, das wie ein Steckbrett ist, außer dass Komponenten darauf gelötet sind. Dies ist robuster als ein Steckbrett und billiger als das Drucken einer Leiterplatte. Jede Taste verbindet Masse mit einem GPIO auf dem Raspberry Pi. Ich habe hier keine Widerstände, da der Pi bereits interne Pull-Up / Down-Widerstände hat, die im Programm eingestellt werden. In diesem Fall habe ich sie auf Klimmzug gestellt (siehe Programm unten).

Die Schaltflächen werden alle 4 Reihen oder alle 0,4 Zoll platziert.

Schritt 3: Das Tastengehäuse

Das Tastengehäuse
Das Tastengehäuse
Das Tastengehäuse
Das Tastengehäuse
Das Tastengehäuse
Das Tastengehäuse

Ich habe einen sehr einfachen Fall für die Knöpfe gemacht, mit Sperrholzplatten und einem quadratischen Holzdübel. Die Dübelgröße muss groß genug sein, um die Knopfbasis und die Platine aufzunehmen, aber klein genug, um die Knopfoberseite aus dem Gehäuse herauszulassen. Ich benutzte einen 1/4 Zoll x 1/4 Zoll Dübel.

Nachdem sichergestellt ist, dass die Platte in das Gehäuse passt, werden die Dübel auf die Grundplatte geklebt. Dann werden Löcher in das obere Blatt gebohrt (das Brett kann verwendet werden, um alle 0,4 Zoll präzise Markierungen zu machen). Alle Holzteile werden bemalt, das Brett in den Koffer gelegt und das Deckblatt darauf geklebt.

Schritt 4: Der Raspberry Pi

Der Himbeer-Pi
Der Himbeer-Pi
Der Himbeer-Pi
Der Himbeer-Pi
Der Himbeer-Pi
Der Himbeer-Pi

Ich wollte die Drähte nicht direkt an den Pi löten, falls ich den Pi in Zukunft für etwas anderes verwenden möchte. Ich lötete daher die Drähte an rechtwinklige Buchsenleisten an und steckte die Header auf den Pi.

Die verwendeten GPIOs sind 21, 26, 20, 19, 13, 6 und 5. Der Masse-Pin wird ebenfalls verwendet.

Das Mikrofon und der Lautsprecher werden einfach an 2 der 4 USB-Anschlüsse angeschlossen.

Der Pi wird über die Micro-USB-Steckdose mit Strom versorgt

Schritt 5: Programmierung

Um den Pi zu programmieren, habe ich ihn über ein Ethernet-Kabel mit dem Internet verbunden und ihn mit dem VNC-Viewer von einem Remote-Computer aus gesteuert. Sie können dieses Setup jedoch nicht verwenden, wenn Sie sich zum ersten Mal mit dem Pi verbinden, da das Betriebssystem noch nicht installiert ist und SSH nicht deaktiviert ist. Sie müssen also zumindest beim ersten Mal einen Bildschirm, eine Tastatur und eine Maus anschließen.

Es war ziemlich mühsam, die Befehle zum Aufnehmen und Abspielen eines Sounds auf der richtigen Soundkarte zu finden. Dies sind die Befehle, die bei mir funktioniert haben:

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

    Spielt 0.wav

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

    Nimmt maximal 20 Sekunden in Datei 0.wav auf, mit CD-Qualität

Die Sounddateien befinden sich im Standardverzeichnis (/home/pi). Außerdem ist eine Sounddatei für den Beep erforderlich, die im Standardverzeichnis abgelegt und beep.wav genannt wird.

Der Python-Code selbst ist der folgende:

Python-Code für einen Raspberry Pi-Wiedergaberekorder

RPi. GPIO als GPIO importieren
Importzeit
Importieren von OS
#Variablen:
butPressed = [True, True, True, True, True, True, True]#wenn Taste i gedrückt wird, dann ist butPressed falsch
Pin = [26, 19, 13, 6, 5, 21, 20]#GPIO-Pins jeder Taste
recordBool = False#True, wenn ein Datensatz in Bearbeitung ist
GPIO.setmode(GPIO. BCM)
für i im Bereich (0, 7):
GPIO.setup(pin, GPIO. IN, pull_up_down=GPIO. PUD_UP)#setzt die internen Widerstände von Pi auf Pull-up
während Wahr:
für i im Bereich (0, 7):
butPressed = GPIO.input(pin)#prüft ob eine Taste gedrückt wird
if butPressed == False:#wenn eine Taste gedrückt wird
previousTime = time.time()
while butPressed == False und recordBool == False:
butPressed = GPIO.input(pin)
if time.time() - previousTime > 1.0:#Wenn die Taste länger als eine Sekunde gedrückt wird, ist recordBool True
recordBool = True
if recordBool == True:#Wenn recordBool True ist, spielt es einen Piepton ab und nimmt dann auf
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)#Aufzeichnungen für maximal 20 Sekunden in Datei i.wav, mit CD-Qualität
while butPressed == Falsch:
butPressed = GPIO.input(pin)
os.system("pkill -9 arecord")#die Aufnahme wird gestoppt, wenn die Taste losgelassen wird oder nach 20 Sekunden
recordBool = False
else:#if recordBool ist False, es spielt den Ton i.wav. ab
os.system("aplay -D plughw:CARD=Device_1, DEV=0 %d.wav" %i)
time.sleep(0.1)

RawPlayback-Recorder anzeigen, gehostet mit ❤ von GitHub

Schritt 6: Führen Sie das Python-Skript bei jedem Start aus

Um das Python-Skript bei jedem Start von Pi auszuführen, werden die folgenden Zeilen in eine Datei namensplayback.desktop im Ordner /home/pi/.config/autostart/ abgelegt.

führt beim Start von Raspberry Pi play.py aus

[Desktop-Eintrag]
Kodierung=UTF-8
Typ=Anwendung
Name=Wiedergabe
Comment=Dies ist eine Wiedergabeanwendung
Exec= python /home/pi/playback.py
StartupNotify=false
Terminal=wahr
Versteckt=falsch

rawplayback.desktop anzeigen, gehostet mit ❤ von GitHub

Schritt 7: Notiz beenden

Bitte sagen Sie mir im Kommentarbereich, was Sie von diesem Projekt halten, teilen Sie mir Ihre Empfehlungen mit und stimmen Sie für mich im Raspberry Pi-Wettbewerb ab, wenn es Ihnen gefallen hat.

Ich freue mich, Sie zu lesen!

Empfohlen: