كود أردوينو وفيديو: مسجل صوت أردوينو ISD1820

كود أردوينو وفيديو: مسجل صوت أردوينو ISD1820

وحدة ISD1820 هي وحدة مسجل صوت بسيطة تتيح لك تسجيل وتشغيل الصوت باستخدام أردوينو. في هذا الدرس ستتعلم كيفية إعداد ISD1820 مع أردوينو لتسجيل ما يصل إلى 20 ثانية من الصوت وتشغيله عند الطلب. هذا المشروع مثالي للمبتدئين الذين يرغبون في استكشاف معالجة الصوت باستخدام أردوينو.

isd1820 voice recording module

طوال هذا الدرس، ستجد المعرفات الأساسية المستخدمة في الكود، مثلREC,PLAY_E، وPLAY_L. تتوافق هذه المعرفات مع الدبابيس المستخدمة لوظائف التسجيل والتشغيل. بالإضافة إلى ذلك، ستساعد مقتطفات الشيفرة المقدمة في توضيح منطق البرمجة وراء هذا المشروع. لمزيد من الشرح التفصيلي، تأكد من مشاهدة الفيديو (في الفيديو عند 00:00).

شرح الأجهزة

المكون الرئيسي في هذا المشروع هو وحدة مسجل الصوت ISD1820، التي يمكنها تسجيل الصوت لمدة تصل إلى 20 ثانية. تحتوي الوحدة على عدة دبابيس للتحكم في التسجيل والتشغيل وتمرير الإشارة. تعمل الوحدة بجهد تغذية بين 3V و4.5V، مما يجعلها متوافقة مع معظم لوحات أردوينو.

بالإضافة إلى وحدة ISD1820، ستحتاج إلى لوحة أردوينو ومكبر صوت وميكروفون. ستتحكم لوحة الأردوينو في وظائف التسجيل والتشغيل عبر دبابيس رقمية. عمل الوحدة بسيط: تسجل الصوت عندما يُوضَع دبوس التسجيل في مستوى عالٍ وتُشغِّل الصوت عندما تُفَعَّل دبابيس التشغيل.

تفاصيل ورقة البيانات

المصنّعISD1820
رقم القطعةISD1820
جهد المنطق/الإدخال والإخراج3.3 فولت نموذجي.
جهد التغذية3.0 فولت إلى 4.5 فولت
تيار الخمول0.5 µA نموذجي.
تيار التشغيل30 mA كحد أقصى.
مدة التسجيل20 ثانية كحد أقصى.
مدة التشغيل20 ثانية كحد أقصى.
حزمةحزمة DIP ذات 8 دبابيس

  • تأكد من أن جهد التغذية بين 3.0 فولت و4.5 فولت لتجنب إتلاف الوحدة.
  • استخدم مقاومات لتحويل إشارة أردوينو 5V إلى مستوى منطق 3.3V للتوصيل الآمن
  • راقب استهلاك التيار؛ يمكن أن يسحب الوحدة ما يصل إلى 30 mA أثناء التشغيل.
  • وصل مكبر صوت منخفض القدرة (0.5 W) إلى مخرج الصوت للتشغيل.
  • تدعم الوحدة أطوال تسجيل مختلفة؛ اضبط التوقيت حسب احتياجاتك.

تعليمات التوصيل الكهربائي

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder

لتوصيل ISD1820 بأردوينو الخاص بك، ابدأ بتوصيل وحدة الـVCCوصل الدبوس بمخرج 3.3V في الأردوينو. بعد ذلك، قم بتوصيل الـGNDوصل دبوس الوحدة إلى أحد دبابيس الأرضي في الأردوينو. بالنسبة لدبابيس التحكم، قم بتوصيل ما يخص الوحدةRECوصل الدبوس إلى دبوس أردوينو 2،PLAY_Eإلى الدبوس 3،PLAY_Lإلى الدبوس 4، وFTإلى الدبوس رقم 5.

بما أن الأوردوينو يعمل عند 5V، ستحتاج إلى استخدام مقسّم جهد لتوصيل دبابيس التحكم بأمان. على سبيل المثال، وصل مقاومة بقيمة 5 kΩ من دبوس الأوردوينو إلى دبوس التحكم على الوحدة، ثم وصل مقاومة بقيمة 3.3 kΩ من دبوس التحكم على الوحدة إلى الأرض. كرر هذه العملية لأي دبابيس تحكم إضافية لضمان وصول مستويات الجهد الصحيحة إليها.

أمثلة على الكود وشرح تفصيلي

مقتطف الشيفرة التالي يحدد الدبابيس المستخدمة للتسجيل والتشغيل. يتيح لك ذلك الإشارة إلى هذه الدبابيس بسهولة في شيفرتك بدلاً من استخدام قيم مضمّنة.

#define REC 2 // pin 2 is used for recording
#define PLAY_E 3 // pin 3 is used for playback-edge trigger
#define PLAY_L 4 // pin 4 is used for playback

في دالة setup، نهيئ الدبابيس كمخارج. هذا يضمن أن الأردوينو يمكنه التحكم في وحدة ISD1820 بفعالية.

void setup() 
{
  pinMode(REC, OUTPUT); // set the REC pin as output
  pinMode(PLAY_L, OUTPUT); // set the PLAY_L pin as output
  pinMode(PLAY_E, OUTPUT); // set the PLAY_E pin as output
}

تتحقق الحلقة الرئيسية من مدخلات المستخدم عبر المراقب التسلسلي. اعتمادًا على الحرف المستلم، ستُفعّل الإجراءات المناسبة، مثل تسجيل الصوت أو تشغيله.

void loop() {
  while (Serial.available() > 0) {
    char inChar = (char)Serial.read();
    if (inChar == 'p' || inChar == 'P') {
      digitalWrite(PLAY_E, HIGH); // Start playback
      delay(50);
      digitalWrite(PLAY_E, LOW); // Stop playback
    }
}

تسمح هذه البنية الشرطية بالتحكم المرن في ISD1820 بناءً على مدخلات المستخدم، مما يجعل من السهل تسجيل وتشغيل الصوت حسب الحاجة. لمزيد من التفاصيل، الشيفرة الكاملة مرفقة أسفل المقال.

عرض توضيحي / ما يمكنك توقعه

بمجرد إعداد كل شيء ورفع الشيفرة، يجب أن تكون قادرًا على تسجيل الصوت عن طريق إرسالrأمر عبر المراقب التسلسلي وتشغيله باستخدامpالأمر. السلوك المتوقع يتضمن استجابة في المراقب التسلسلي تشير إلى متى يبدأ التسجيل ومتى يتوقف، وكذلك متى يبدأ التشغيل ومتى ينتهي. ضع في اعتبارك التوقيت المحدد في الشيفرة؛ على سبيل المثال، تم ضبط التسجيل لمدة 3 ثوانٍ، والتشغيل لمدة 5 ثوانٍ (في الفيديو عند 05:00).

الصور

Arduino wiring for ISD1820 voice_recorder
Arduino wiring for ISD1820 voice_recorder
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
isd1820 voice recording module
72-This is the Arduino code and video: ISD1820 Arduino Voice Recorder
اللغة: C++
تم النسخ!

الأشياء التي قد تحتاجها

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

Fritzing File