التحكم في موديول ISD1820 للتسجيل الصوتي باستخدام أردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • وحدة ISD1820 هي وحدة لتسجيل الصوت ولتشغيله كذلك.
  • تسهل الوحدة دمج إمكانيتي تسجيل وتشغيل الصوت، بدون الحاجة إلى دوائر معقدة لمعالجة الصوت.
  • في هذا المشروع سيتم توصيل وحدة ISD1820 بالأردوينو.
  • بعد ارسال الكود الى بطاقة أردوينو، قم بفتح نافذة Serial Monitor باختيار Tools ثم Serial Monitor
  • سيتم عرض رسالة على الشاشة تطلب منك أولا تسجيل رسالة صوتية لمدة 5 ثوانٍ، ثم سيتم عرض رسالة أخرى تشير إلى إعادة تشغيل الرسالة المسجلة لمدة 5 ثوانٍ أخرى.
  • يمكن تعديل مدة التسجيل والتشغيل وفقًا لاحتياجات مشروعك.

ادوات المشروع

مخطط المشروع

طريقة توصيل الادوات مع أردوينو

موديول ISD1820:

VCC -> 5V

GND -> GND

P-E -> 11

REC -> 10

الكود البرمجي

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

// ISD1820 connections to Arduino
#define ISD_REC 10 // Connect the ISD1820 REC pin to Arduino digital pin 10
#define ISD_PLAY 11 // Connect the ISD1820 PLAYE pin to Arduino digital pin 11

void setup() {
pinMode(ISD_REC, OUTPUT);
pinMode(ISD_PLAY, OUTPUT);
Serial.begin(9600);
}

void loop() {
// Record a message
recordMessage();

// Wait for a while before playing back the message
delay(2000);

// Play the recorded message
playMessage();

// Exit the loop
exit(0);
}

void recordMessage() {
Serial.println(“Recording…”);
digitalWrite(ISD_REC, HIGH);
delay(5000); // Record for 5 seconds (you can adjust this duration as needed)
digitalWrite(ISD_REC, LOW);
Serial.println(“Recording finished.”);
}

void playMessage() {
Serial.println(“Playing…”);
digitalWrite(ISD_PLAY, HIGH);
delay(5000); // Play for 5 seconds (you can adjust this duration as needed)
digitalWrite(ISD_PLAY, LOW);
Serial.println(“Playback finished.”);
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *