جدول المحتويات:

مسجل التشغيل مع Raspberry Pi: 7 خطوات (بالصور)
مسجل التشغيل مع Raspberry Pi: 7 خطوات (بالصور)

فيديو: مسجل التشغيل مع Raspberry Pi: 7 خطوات (بالصور)

فيديو: مسجل التشغيل مع Raspberry Pi: 7 خطوات (بالصور)
فيديو: Install Octoscreen on Raspberry Pi with 7inch Screen! 2024, يوليو
Anonim
Image
Image
المواد المطلوبة
المواد المطلوبة

مرحبا جميعا،

في هذا الدليل ، أشرح كيف صنعت مسجل تشغيل باستخدام Raspberry Pi. الجهاز من طراز Raspberry Pi B + ، مع 7 أزرار ضغط في الأعلى ، ومكبر صوت متصل بأحد منافذ USB ، وميكروفون متصل بمنافذ USB أخرى. يرتبط كل زر بصوت ، بحيث يمكنه تشغيل 7 أصوات مختلفة. يتم تشغيل الأصوات بعد ضغطة قصيرة على الزر. لتسجيل صوت جديد ، ما عليك سوى الضغط على الزر لأكثر من ثانية واحدة ، والتسجيل بعد الصفير ، واترك الزر في نهاية التسجيل. لا يوجد أبسط من ذلك!

الخطوة 1: المواد المطلوبة

المواد المطلوبة
المواد المطلوبة
المواد المطلوبة
المواد المطلوبة

لهذا المشروع كنت بحاجة إلى:

  • نموذج Raspberry Pi B + وبطاقة micro SD - 29.95 دولارًا + 9.95 دولارًا
  • علبة بلاستيكية Raspberry Pi - 7.95 دولار
  • مكبرات صوت USB - 12.50 دولار
  • ميكروفون USB - 5.95 دولار
  • لوحة بيرما بروتو نصف الحجم - 4.50 دولار
  • 7 أزرار انضغاطية لحظية - 2.50 دولار

احتجت أيضًا إلى:

  • بعض الأسلاك الكهربائية
  • رؤوس الأنثى ذات الزاوية اليمنى
  • بعض الخشب والطلاء الأسود والغراء لحالة الأزرار
  • لحام الحديد ولحام

الخطوة 2: الأزرار

الأزرار
الأزرار
الأزرار
الأزرار
الأزرار
الأزرار

الأزرار المستخدمة طويلة جدًا (6 مم) بحيث يمكنها المرور بسمك العلبة.

لقد وضعت الأزرار السبعة الخاصة بي على لوحة perma-proto ، والتي تشبه اللوح ، باستثناء المكونات الملحومة عليها. هذا أقوى من اللوح ، وأرخص من طباعة ثنائي الفينيل متعدد الكلور. يربط كل زر الأرض بـ GPIO على Raspberry Pi. ليس لدي مقاومات هنا لأن Pi لديها بالفعل مقاومات سحب / لأسفل داخلية والتي سيتم تعيينها في البرنامج. في هذه الحالة ، قمت بضبطهم على الانسحاب (انظر البرنامج أدناه).

يتم وضع الأزرار كل 4 صفوف ، أو كل 0.4 بوصة.

الخطوة 3: حالة الأزرار

حالة الأزرار
حالة الأزرار
حالة الأزرار
حالة الأزرار
حالة الأزرار
حالة الأزرار

لقد صنعت حالة بسيطة جدًا للأزرار ، بألواح من الخشب الرقائقي ودواسة خشبية مربعة. يجب أن يكون حجم الوتد كبيرًا بما يكفي لاحتواء قاعدة الزر واللوحة ، ولكنه صغير بما يكفي للسماح للزر بالخروج من العلبة. لقد استخدمت 1/4 في × 1/4 في وتد.

بعد التأكد من ملاءمة اللوحة في العلبة ، يتم لصق المسامير على الصفيحة الأساسية. ثم يتم حفر الثقوب على الورقة العلوية (يمكن استخدام اللوح لعمل علامات بدقة كل 0.4 بوصة). جميع الأجزاء الخشبية مطلية ، وتوضع اللوحة في العلبة ، ويتم لصق الصفيحة العلوية فوقها.

الخطوة 4: Raspberry Pi

توت العليق باي
توت العليق باي
توت العليق باي
توت العليق باي
توت العليق باي
توت العليق باي

لم أكن أرغب في لحام الأسلاك مباشرة في Pi ، في حال أردت استخدام Pi لشيء آخر في المستقبل. لذلك قمت بلحام الأسلاك برؤوس أنثوية بزاوية قائمة ، وقمت بتوصيل الرؤوس على Pi.

كائنات GPI المستخدمة هي 21 و 26 و 20 و 19 و 13 و 6 و 5. كما يتم استخدام الدبوس الأرضي.

يتم توصيل الميكروفون ومكبر الصوت ببساطة في 2 من 4 منافذ USB.

يتم تشغيل Pi من خلال منفذ micro-USB

الخطوة الخامسة: البرمجة

لبرمجة Pi ، قمت بتوصيله بالإنترنت باستخدام كابل إيثرنت ، وتحكمت فيه من كمبيوتر بعيد باستخدام عارض VNC. ومع ذلك ، لا يمكنك استخدام هذا الإعداد في المرة الأولى التي تتصل فيها بـ Pi ، لأن نظام التشغيل لم يتم تثبيته بعد و SSH ليس معطلاً. لذلك ستحتاج إلى توصيل شاشة ولوحة مفاتيح وماوس ، على الأقل في المرة الأولى.

لقد كان من الصعب جدًا العثور على أوامر لتسجيل الصوت وتشغيله على بطاقة الصوت الصحيحة. هذه هي الأوامر التي عملت معي:

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

    يلعب 0. wav

  • الافتراضي 0.wav -D sysdefault: البطاقة = 1 -f cd -d 20

    السجلات لمدة أقصاها 20 ثانية في الملف 0.wav ، بجودة القرص المضغوط

توجد ملفات الصوت في الدليل الافتراضي (/ home / pi). من الضروري أيضًا وجود ملف صوتي للصفارة ، يتم وضعه في الدليل الافتراضي ويسمى beep.wav.

كود بيثون نفسه هو كما يلي:

كود python لمسجل تشغيل Raspberry Pi

استيراد RPi. GPIO كـ GPIO
وقت الاستيراد
استيراد نظام التشغيل
#المتغيرات:
butPressed = [True، True، True، True، True، True، True] # إذا تم الضغط على الزر i ، ثم تم الضغط على خطأ
الدبوس = [26 ، 19 ، 13 ، 6 ، 5 ، 21 ، 20] # دبابيس GPIO لكل زر
recordBool = False # True إذا كان السجل قيد التقدم
GPIO.setmode (GPIO. BCM)
بالنسبة لـ i في النطاق (0 ، 7):
GPIO.setup (pin ، GPIO. IN، pull_up_down = GPIO. PUD_UP) # يضبط مقاومات Pi الداخلية لسحبها لأعلى
احيانا صحيح:
بالنسبة لـ i في النطاق (0 ، 7):
butPressed = GPIO.input (pin ) # يتحقق من الضغط على الزر
إذا butPressed == خطأ: # إذا تم الضغط على زر
PreviousTime = time.time ()
while butPressed == False and RecordBool == False:
butPressed = GPIO.input (pin )
إذا كان time.time () - previousTime> 1.0: # إذا تم الضغط على الزر لأكثر من ثانية ، فإن أداة recordBool هي True
RecordBool = صحيح
إذا كان recordBool == صحيحًا: #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) #records لمدة 20 ثانية كحد أقصى في ملف i.wav ، بجودة القرص المضغوط
أثناء الضغط == خطأ:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord") # يتم إيقاف السجل عند ترك الزر ، أو بعد 20 ثانية
RecordBool = خطأ
else: # إذا كان RecordBool خطأ ، فإنه يقوم بتشغيل الصوت i.wav
os.system ("aplay -D plughw: CARD = Device_1، DEV = 0٪ d.wav"٪ i)
time.sleep (0.1) الوقت.

عرض مسجل rawPlayback المستضاف مع ❤ بواسطة GitHub

الخطوة 6: قم بتشغيل Python Script عند كل بدء تشغيل

لتشغيل سكربت python عند كل بدء تشغيل لـ Pi ، يتم وضع الأسطر التالية في ملف يسمى playback.desktop في المجلد /home/pi/.config/autostart/

يدير playback.py عند بدء تشغيل Raspberry Pi

[إدخال سطح المكتب]
الترميز = UTF-8
اكتب = تطبيق
الاسم = تشغيل
تعليق = هذا تطبيق تشغيل
Exec = python /home/pi/playback.py
StartupNotify = خطأ
المحطة = صحيح
مخفي = خطأ

عرض rawplayback.desktop مع ❤ بواسطة GitHub

الخطوة 7: إنهاء الملاحظة

من فضلك أخبرني برأيك في هذا المشروع في قسم التعليقات ، وأخبرني بتوصياتك ، وصوت لي في مسابقة Raspberry Pi إذا أعجبك.

نتطلع إلى قراءتك!

موصى به: