التحكم بالـ LED عن طريق التصفيق

مبتدئ

image_pdfimage_print

في هذا المشروع سيتم إستخدام مستشعر كاشف الصوت للتحكم بإضاءة الـ LED فعند التصفق للمرة الأولى سيتم تشغيله و يتم إطفاءه بعد التصفيق مرة أخرى.

arduino-sound-detection-sensor

القطع المطلوبة:

الأدوات التي تحتاجها لهذا المشروع :

sound detection sensor

حساس الصوت Sound Detection Sensor

5mm Red LED

220 Ω resistor

مقاومة 220 اوم

small size breadboard 170 colors

small size breadboard  لوح تجارب صغير

arduino uno r3

Arduino Uno R3

Jumper Wires Male/Male

سلاك توصيل ذكر/ذكر (Jumper Wires Male Male)

حساس كاشف الصوت Sound Detection Sensor

يمكنك من خلال كاشف الصوت الكشف عن الصوت مثل الكلام و التصفيق .و إعتمادا على هذا الصوت يمكنك التحكم بأي قطعة الكترونية مثل الضوء LED .

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

 arduino-microphone

لتكون قادر على الكشف عن الإشارات يجب أن تكون كبيرة بما يكفي، فيجب  تضخيم الإشارة لتكون قابلة للإستخدام من قبل الاردوينو. لذا يجب علينا توصيل الميكروفون إلى مكبر للصوت (amplifier) ، فيتم تضخيم الاشارة ليتم الكشف عنها من قبل للأردوينو. اذا من أجل بناء هذة الدائرة نحن بحاجة إلى ميكروفون يتم توصيله إلى مكبر صوت (audio Amplifier)  للحصول على إشارات مضخمة.

في هذا المشروع سيتم استخدام  sounder detection module للكشف عن الصوت . في هذة اللوحة تم توصيل الميكروفون على مكبر  للصوت (LM939 op amp) ، و ويمكنك ضبط نقطة التحديد (threshold) لمستوى الصوت عن طريق المقاومة المتغيرة (Potentiometer) ، فعد تجاوز الصوت هذة النقطة يتم إضاءة الضوء LED .

الصوة  أدناه توضح التفاصيل للضوابط و المنافذ و المكونات الأساسية للوحة كاشف الصوت :

arduino-sound-detection-sensor

تصميم لوحة التجارب:

قم بتوصيل الدائرة كما هو موضح بالصورة التالية :

arduino-sound-detection-sensor

برمجة الأردوينو

قم برفع البرنامج التالي إلى متحكم الأردوينو:

int digPin = 2;       
int greencar = 13;                                 
void setup(){
      Serial.begin(9600);
      pinMode(digPin, INPUT);
      pinMode(greencar, OUTPUT); 
 }
void loop(){
      if (digitalRead(digPin)){
        digitalWrite(greencar, HIGH);
        Serial.print("Sensore: ");
        Serial.println(digitalRead(digPin));
        delay(1000);
      }
      
      if (digitalRead(greencar)){
        if (digitalRead(digPin)){
          digitalWrite(greencar, LOW);

          delay(1000);
        }
      }
    }

لمحة عن الكود:

اولا نقوم بقراءة مستشعر كاشف الصوت واذا تم الكشف عن صوت  يتم تشغيل الـ LED

 if (digitalRead(digPin)){
        digitalWrite(greencar, HIGH);
        Serial.print("Sensore: ");
        Serial.println(digitalRead(digPin));
        delay(1000);
      }

واذا تم الكشف عن صوت للمرة الثانية يتم التحقق ما اذا كان الـ  LED في حالة التشغيل أو الإيقاف، فإذا كان في حالة التشغيل يتم إطفاءه :

 if (digitalRead(greencar)){
        if (digitalRead(digPin)){
          digitalWrite(greencar, LOW);

          delay(1000);
        }
      }