فهرست مطالب:

ضبط پخش با Raspberry Pi: 7 مرحله (همراه با تصاویر)
ضبط پخش با Raspberry Pi: 7 مرحله (همراه با تصاویر)

تصویری: ضبط پخش با Raspberry Pi: 7 مرحله (همراه با تصاویر)

تصویری: ضبط پخش با Raspberry Pi: 7 مرحله (همراه با تصاویر)
تصویری: آموزش راه اندازی و کار با رزبری پای 4 | بررسی Raspberry Pi OS 2024, نوامبر
Anonim
Image
Image
مواد مورد نیاز
مواد مورد نیاز

سلام به همه،

در این قسمت آموزشی نحوه ساخت ضبط پخش با استفاده از رزبری پای را توضیح می دهم. این دستگاه رزبری پای مدل B+است که دارای 7 دکمه فشاری در بالا ، بلندگو متصل به یکی از پورت های USB Pi و میکروفون متصل به پورت های USB دیگر است. هر دکمه به یک صدا مرتبط است ، بنابراین می تواند 7 صدای مختلف را پخش کند. صداها پس از فشار کوتاه دکمه پخش می شوند. برای ضبط صدای جدید ، کافی است دکمه را بیش از 1 ثانیه فشار دهید ، پس از بوق ضبط کنید و دکمه را در انتهای ضبط رها کنید. ساده تر از این نمی شود!

مرحله 1: مواد مورد نیاز

مواد مورد نیاز
مواد مورد نیاز
مواد مورد نیاز
مواد مورد نیاز

برای این پروژه به موارد زیر نیاز داشتم:

  • رزبری پای مدل B + و کارت حافظه micro SD - 29.95 دلار + 9.95 دلار
  • یک جعبه پلاستیکی رزبری پای - 7.95 دلار
  • بلندگوهای USB - 12.50 دلار
  • میکروفون USB - 5.95 دلار
  • یک تخته پرما پروتو نیم اندازه-4.50 دلار
  • 7 دکمه فوری - 2.50 دلار

من همچنین نیاز داشتم:

  • مقداری سیم برق
  • هدرهای زن با زاویه راست
  • مقداری چوب ، رنگ مشکی و چسب برای قاب دکمه
  • لحیم کاری و لحیم کاری

مرحله 2: دکمه ها

دکمه ها
دکمه ها
دکمه ها
دکمه ها
دکمه ها
دکمه ها

دکمه های استفاده شده کاملاً بلند (6 میلی متر) هستند تا بتوانند از ضخامت بدنه عبور کنند.

من 7 دکمه خود را روی یک تخته پرما-اولیه قرار دادم ، که مانند یک تخته نان است ، به جز اجزای روی آن لحیم می شوند. این دستگاه از یک تخته نان قوی تر و ارزان تر از چاپ یک PCB است. هر دکمه روی Raspberry Pi به GPIO متصل می شود. من در اینجا مقاومت ندارم زیرا Pi از قبل دارای مقاومت داخلی کشش/کاهش داخلی است که در برنامه تنظیم می شود. در این حالت من آنها را به حالت کشش تنظیم کرده ام (برنامه زیر را ببینید).

دکمه ها هر 4 ردیف یا هر 0.4 اینچ قرار می گیرند.

مرحله 3: مورد دکمه ها

مورد دکمه ها
مورد دکمه ها
مورد دکمه ها
مورد دکمه ها
مورد دکمه ها
مورد دکمه ها

من یک قاب بسیار ساده برای دکمه ها ، با ورق های تخته سه لا و رولپلاک چوبی مربعی درست کردم. اندازه رولپلاک باید آنقدر بزرگ باشد که پایه و صفحه دکمه را در خود جای دهد ، اما آنقدر کوچک است که اجازه دهد دکمه از قاب خارج شود. من از 1/4 در x 1/4 در رولپلاک استفاده کردم.

پس از اطمینان از اینکه تخته در قاب قرار می گیرد ، رولپلاک ها به ورق پایه چسبانده می شوند. سپس سوراخ هایی روی ورق بالایی حفر می شود (از تخته می توان به طور دقیق در هر 0.4 اینچ علامت گذاری کرد). تمام قطعات چوبی رنگ آمیزی شده ، تخته در کیس قرار داده شده و ورق بالایی روی آن چسبانده شده است.

مرحله 4: رزبری پای

رزبری پای
رزبری پای
رزبری پای
رزبری پای
رزبری پای
رزبری پای

من نمی خواستم سیم ها را مستقیماً به Pi لحیم کنم ، در صورتی که بخواهم در آینده از Pi برای چیز دیگری استفاده کنم. بنابراین سیمها را به هدرهای زن با زاویه راست لحیم کردم و هدرها را روی Pi وصل کردم.

GPIO های مورد استفاده 21 ، 26 ، 20 ، 19 ، 13 ، 6 و 5 است. از پایه پایه نیز استفاده می شود.

میکروفون و بلندگو به سادگی 2 عدد از 4 پورت usb را وصل کرده اند.

نیروگاه Pi از طریق پریز micro-usb تغذیه می شود

مرحله 5: برنامه نویسی

برای برنامه نویسی Pi ، آن را با استفاده از کابل اترنت به اینترنت متصل کردم و آن را از طریق رایانه از راه دور با استفاده از نمایشگر VNC کنترل کردم. با این حال ، نمی توانید از این تنظیمات برای اولین بار که به Pi متصل می شوید استفاده کنید ، زیرا سیستم عامل هنوز نصب نشده است و SSH نیز فعال نیست. بنابراین شما باید صفحه ، صفحه کلید و ماوس را حداقل برای اولین بار متصل کنید.

پیدا کردن دستورات ضبط و پخش صدا بر روی کارت صدا مناسب بسیار مشکل بود. اینها دستوراتی هستند که برای من کار کردند:

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

    0.wav را پخش می کند

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

    حداکثر 20 ثانیه در فایل 0.wav با کیفیت cd ضبط می کند

فایلهای صوتی در فهرست پیش فرض (/home/pi) قرار دارند. یک فایل صوتی برای بیپ نیز ضروری است که در فهرست پیش فرض قرار داده شده و beep.wav نامیده می شود.

خود کد پایتون به شرح زیر است:

کد پایتون برای ضبط پخش Raspberry Pi

RPi. GPIO را به عنوان GPIO وارد کنید
زمان واردات
وارد کردن سیستم عامل
#متغیرها:
butPressed = [True، True، True، True، True، True، True] #if اگر دکمه i فشار داده شود ، سپس butPressed نادرست است
pin = [26 ، 19 ، 13 ، 6 ، 5 ، 21 ، 20] پین های #GPIO هر دکمه
recordBool = غلط#درست است اگر رکوردی در حال پیشرفت باشد
GPIO.setmode (GPIO. BCM)
برای i در محدوده (0 ، 7):
GPIO.setup (pin ، GPIO. IN، pull_up_down = GPIO. PUD_UP)#مقاومتهای داخلی Pi را به حالت کشش تنظیم می کند
در حالی که True:
برای i در محدوده (0 ، 7):
butPressed = GPIO.input (pin )#بررسی می کند که آیا دکمه ای فشار داده شده است
if butPressed == غلط:#اگر دکمه ای فشار داده شود
previousTime = time.time ()
while butPressed == False و recordBool == False:
butPressed = GPIO.input (پین )
if time.time () - previousTime> 1.0:#اگر دکمه بیش از یک ثانیه فشار داده شود ، سپس recordBool درست است
recordBool = درست است
if recordBool == True: #if recordBool True است ، یک صدای بوق پخش می کند و سپس ضبط می کند
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)#ضبط حداکثر 20 ثانیه در فایل i.wav ، با کیفیت cd
while butPressed == غلط:
butPressed = GPIO.input (پین )
os.system ("pkill -9 arecord")#هنگامی که دکمه رها می شود ، یا بعد از 20 ثانیه رکورد متوقف می شود
recordBool = غلط
else: #if recordBool False است ، صدا i.wav را پخش می کند
os.system ("aplay -D plughw: CARD = Device_1، DEV = 0٪ d.wav"٪ i)
زمان خواب (0.1)

مشاهده rawPlayback recorder میزبانی شده با ❤ توسط GitHub

مرحله 6: اسکریپت پایتون را در هر راه اندازی اجرا کنید

برای اجرای اسکریپت پایتون در هنگام راه اندازی Pi ، خطوط زیر در فایلی به نام playback.desktop در پوشه /home/pi/.config/autostart/ قرار داده می شود.

playback.py را در راه اندازی Raspberry Pi اجرا می کند

[ورودی رومیزی]
رمزگذاری = UTF-8
نوع = برنامه
نام = پخش
نظر = این یک برنامه پخش است
Exec = python /home/pi/playback.py
StartupNotify = false
ترمینال = درست
پنهان = غلط

مشاهده rawplayback.desktop میزبانی شده توسط ❤ توسط GitHub

مرحله 7: پایان یادداشت

لطفا نظر خود را در مورد این پروژه در قسمت نظرات به من بگویید ، توصیه های خود را به من اطلاع دهید و اگر دوست داشتید در مسابقه رزبری پای به من رای دهید.

منتظر خواندن شما هستم!

توصیه شده: