Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Halo semuanya, Dalam instruksi ini saya menjelaskan bagaimana saya membuat perekam pemutaran menggunakan Raspberry Pi. Perangkat ini adalah Raspberry Pi model B+, dengan 7 tombol tekan di atas, speaker yang terhubung ke salah satu port usb Pi, dan mikrofon yang terhubung ke port usb lain. Setiap tombol dikaitkan dengan sebuah suara, sehingga dapat memainkan 7 suara yang berbeda. Suara dimainkan setelah menekan tombol sebentar. Untuk merekam suara baru, cukup tekan tombol selama lebih dari 1 detik, rekam setelah bunyi bip, dan lepaskan tombol di akhir rekaman. Tidak ada yang lebih sederhana dari itu!
Langkah 1: Bahan yang Dibutuhkan
Untuk proyek ini saya membutuhkan:
- A Raspberry Pi model B+ dan kartu micro SD - 29,95 $ + 9,95 $
- Kasing plastik Raspberry Pi - 7,95 $
- Speaker USB - 12,50 $
- Mikrofon USB - 5,95 $
- Papan perma-proto setengah ukuran - 4,50 $
- 7 tombol tekan sesaat - 2,50 $
Saya juga membutuhkan:
- Beberapa kabel listrik
- Header wanita sudut kanan
- Beberapa kayu, cat hitam dan lem untuk kotak kancing
- Besi solder dan solder
Langkah 2: Tombol
Tombol yang digunakan cukup tinggi (6mm) sehingga bisa menembus ketebalan casing.
Saya menempatkan 7 tombol saya di papan perma-proto, yang seperti papan tempat memotong roti, kecuali komponen yang disolder di atasnya. Ini lebih kuat daripada papan tempat memotong roti, dan lebih murah daripada mencetak PCB. Setiap tombol menghubungkan ground ke GPIO di Raspberry Pi. Saya tidak memiliki resistor di sini karena Pi sudah memiliki resistor pull-up/down internal yang akan diatur dalam program. Dalam hal ini saya telah mengaturnya ke pull-up (lihat program di bawah).
Tombol ditempatkan setiap 4 baris, atau setiap 0,4 inci.
Langkah 3: Kasus Tombol
Saya membuat kasing yang sangat sederhana untuk kancingnya, dengan lembaran kayu lapis dan paku kayu persegi. Ukuran pasak harus cukup besar untuk menampung alas kancing dan papan, tetapi cukup kecil untuk membiarkan kancing keluar dari kasing. Saya menggunakan dowel 1/4 in x 1/4 in.
Setelah memastikan papan pas dengan kasing, pasak direkatkan ke lembaran dasar. Lubang kemudian dibor pada lembaran atas (papan dapat digunakan untuk membuat tanda dengan tepat setiap 0,4 inci). Semua bagian kayu dicat, papan ditempatkan di kasing, dan lembaran atas dilem di atasnya.
Langkah 4: Raspberry Pi
Saya tidak ingin menyolder kabel langsung ke Pi, kalau-kalau saya ingin menggunakan Pi untuk hal lain di masa mendatang. Oleh karena itu saya menyolder kabel ke header wanita sudut kanan, dan memasang header pada Pi.
GPIO yang digunakan adalah 21, 26, 20, 19, 13, 6 dan 5. Pin ground juga digunakan.
Mikrofon dan speaker cukup dicolokkan ke 2 dari 4 port usb.
Pi ditenagai melalui stopkontak micro-usb
Langkah 5: Pemrograman
Untuk memprogram Pi, saya menghubungkannya ke internet menggunakan kabel ethernet, dan mengontrolnya dari komputer jarak jauh menggunakan VNC viewer. Namun, Anda tidak dapat menggunakan pengaturan ini saat pertama kali terhubung ke Pi, karena OS belum diinstal dan SSH tidak tidak dapat digunakan. Jadi, Anda perlu menghubungkan layar, keyboard, dan mouse, setidaknya untuk pertama kalinya.
Cukup merepotkan untuk menemukan perintah untuk merekam dan memutar suara di kartu suara yang tepat. Ini adalah perintah yang bekerja untuk saya:
-
aplay -D plughw:CARD=Device_1, DEV=0 0.wav
Memainkan 0.wav
-
arecord 0.wav -D sysdefault:CARD=1 -f cd -d 20
Rekam maksimal 20 detik dalam file 0.wav, dengan kualitas cd
File suara terletak di direktori default (/ home/pi). File suara untuk bunyi bip juga diperlukan, ditempatkan di direktori default dan disebut beep.wav.
Kode python itu sendiri adalah sebagai berikut:
kode python untuk perekam pemutaran Raspberry Pi
impor RPi. GPIO sebagai GPIO |
waktu impor |
impor os |
#variabel: |
butPressed = [True, True, True, True, True, True, True]#jika tombol i ditekan, maka butPressed False |
pin = [26, 19, 13, 6, 5, 21, 20]#pin GPIO dari setiap tombol |
recordBool = Salah#Benar jika rekaman sedang berlangsung |
GPIO.setmode(GPIO. BCM) |
untuk saya dalam rentang (0, 7): |
GPIO.setup(pin, GPIO. IN, pull_up_down=GPIO. PUD_UP)#set resistor internal Pi untuk pull-up |
sementara Benar: |
untuk saya dalam rentang (0, 7): |
butPressed = GPIO.input(pin)#memeriksa apakah tombol ditekan |
if butPressed == False:#jika tombol ditekan |
waktu sebelumnya = waktu.waktu() |
while butPressed == False dan recordBool == False: |
tapiDitekan = GPIO.input(pin) |
if time.time() - beforeTime > 1.0:#jika tombol ditekan lebih dari satu detik, maka recordBool adalah True |
recordBool = Benar |
if recordBool == True:#if recordBool True, ia memainkan suara bip dan kemudian merekam |
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 untuk maksimum 20 detik dalam file i.wav, dengan kualitas cd |
while butPressed == Salah: |
tapiDitekan = GPIO.input(pin) |
os.system("pkill -9 arecord")#rekaman dihentikan saat tombol dilepaskan, atau setelah 20 detik |
recordBool = Salah |
lain:#jika recordBool adalah False, memainkan suara i.wav |
os.system("aplay -D plughw:CARD=Device_1, DEV=0 %d.wav" %i) |
waktu.tidur(0.1) |
lihat perekam rawPlayback yang dihosting dengan ❤ oleh GitHub
Langkah 6: Jalankan Script Python di Setiap Startup
Untuk menjalankan skrip python di setiap startup Pi, baris berikut diletakkan di file bernama playback.desktop di folder /home/pi/.config/autostart/
menjalankan playback.py di startup Raspberry Pi
[Entri Desktop] |
Pengkodean = UTF-8 |
Jenis=Aplikasi |
Nama=Pemutaran |
Comment=Ini adalah aplikasi pemutaran |
Exec= python /home/pi/playback.py |
StartupNotify=salah |
Terminal=benar |
Tersembunyi=salah |
lihat rawplayback.desktop dihosting dengan ❤ oleh GitHub
Langkah 7: Akhiri Catatan
Tolong beri tahu saya pendapat Anda tentang proyek ini di bagian komentar, beri tahu saya tentang rekomendasi Anda, dan pilih saya di kontes Raspberry Pi jika Anda menyukainya.
Looking forward untuk membaca Anda!