مواجهة مستشعر الصوت مع اردوينو وكيفية التحكم به مع التصفيق اكتب تعليقُا

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

ـ

هل أنت مستعد لإضافة أذن إلى مشروعك القادم ؟

مستشعرات الصوت هذه غير مكلفة وسهلة التفاعل ويمكنها اكتشاف أصوات الصوت أو التصفيق أو تقرع الأبواب .

يمكنك استخدامها في مجموعة متنوعة من مشاريع رد الفعل الصوتي ، على سبيل المثال ، جعل أضواءك مفعلة أو تحفظ “أذن” على حيواناتك الأليفة أثناء تواجدك بعيدًا .

هل تعرف كيف تعمل Electret Microphones ؟ 

يوجد داخل الميكروفون الحجاب الحاجز الرفيع ، وهو في الواقع لوحة واحدة من المكثف . اللوحة الثانية هي اللوحة الخلفية ، والتي هي قريبة من وموازنة الحجاب الحاجز .

 

عندما تتحدث في الميكروفون ، تضرب الموجات الصوتية التي ينشئها صوتك الحجاب الحاجز ، مما يؤدي إلى اهتزازه .

عندما يهتز الحجاب الحاجز استجابةً للصوت ، فإن السعة تتغير مع اقتراب الصفائح من بعضها البعض أو بعيدًا عن بعضها البعض .
مع تغير السعة ، يتغير الجهد عبر اللوحات ، والذي من خلال القياس يمكننا تحديد سعة الصوت .

نظرة عامة على مستشعر الصوت

مستشعر الصوت عبارة عن لوحة صغيرة تجمع بين ميكروفون (50 هرتز – 10 كيلو هرتز) وبعض دوائر المعالجة لتحويل موجات الصوت إلى إشارات كهربائية .

يتم تغذية هذه الإشارة الكهربائية إلى دائرة مقارنة عالية الدقة LM393 ويتم توفيرها في دبوس خارج .

Sound-Sensor-Sensitivity-Adjustment-and-Comparator

تحتوي الوحدة على مقياس الجهد المدمج لتعديل حساسية إشارة OUT .

يمكنك تعيين عتبة باستخدام مقياس الجهد . بحيث عندما تتجاوز سعة الصوت قيمة العتبة ، ستقوم الوحدة بإخراج LOW على خلاف ذلك HIGH .
يعد هذا الإعداد مفيدًا للغاية عندما ترغب في تشغيل إجراء ما عند الوصول إلى عتبة معينة . على سبيل المثال ، عندما تتجاوز سعة الصوت عتبة (عند اكتشاف طرق) ، يمكنك تنشيط مرحل للتحكم في الضوء . لقد حصلت على الفكرة !

نصيحة : قم بتدوير المقبض بعكس اتجاه عقارب الساعة لزيادة الحساسية وفي اتجاه عقارب الساعة لتقليلها .

Sound-Sensor-Power-and-Status-LEDs

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

أطراف مستشعر الصوت

يحتوي مستشعر الصوت على ثلاثة دبابيس فقط :

Sound-Sensor-Module-Pinout (1)
  • VCC يوفر الطاقة للمستشعر . يوصى بتشغيل المستشعر بين 3.3 فولت و 5 فولت .
  • GND هو اتصال الأرضي .
  • OUT خرج الدبوس عاليًا عندما تكون الظروف هادئة وينخفض عند اكتشاف الصوت . يمكنك توصيله بأي دبوس رقمي على الاردوينو أو مباشرة إلى مرحل 5V أو جهاز مشابه .

الأسلاك - ربط استشعار الصوت مع اردوينو

الأسلاك لهذا المشروع بسيطة جدا .

تحذير :

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

تحتاج أولاً إلى تزويد المستشعر ووحدة الترحيل بالطاقة . ربط دبابيس VCC الخاصة بهم إلى دبوس 5V على اردوينو و GND إلى الأرضي .

قم بعد ذلك بتوصيل دبوس الإخراج (OUT) الموجود على مستشعر الصوت بالدبوس الرقمي رقم 7 على لوح الاردوينو الخاص بك ، ثم قم بتوصيل دبوس التحكم (IN) في وحدة الترحيل بالدبوس الرقمي رقم 8 .
ستحتاج أيضًا إلى وضع وحدة الترحيل وفقًا لجهاز AC الذي تحاول التحكم فيه . سيتعين عليك قطع خط التيار المتردد المباشر وتوصيل أحد طرفي السلك المقطوع (القادم من الجدار) بـ COM والآخر بـ NO .

أذا كنت لم تتعامل مع المرحل من قبل نوصي بالوقوف علي المشروع التالي :

الرسم التوضيحي التالي يوضح الأسلاك.

Wiring-Sound-Sensor-and-Relay-with-Arduino
تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.

كود الاردوينو مع استشعار الصوت

إليك الكود للتحكم في الأجهزة باستخدام التصفيق .

لتحميل الكود البرمجي اضغط هنا
#define sensorPin 7
#define relayPin 8

// Variable to store the time when last event happened
unsigned long lastEvent = 0;
boolean relayState = false;    // Variable to store the state of relay

void setup() {
  pinMode(relayPin, OUTPUT);  // Set relay pin as an OUTPUT pin
  pinMode(sensorPin, INPUT);  // Set sensor pin as an INPUT
}

void loop() {
  // Read Sound sensor
  int sensorData = digitalRead(sensorPin);

  // If pin goes LOW, sound is detected
  if (sensorData == LOW) {

  // If 25ms have passed since last LOW state, it means that
  // the clap is detected and not due to any spurious sounds
  if (millis() - lastEvent > 25) {
    //toggle relay and set the output
    relayState = !relayState;
    digitalWrite(relayPin, relayState ? HIGH : LOW);
  }

  // Remember when last event happened
  lastEvent = millis();
  }
}

أنتهت !!!

اترك تعليقاً

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