كشف مستويات الضوضاء باستخدام مستشعر الصوت 🔊

نحتاج في بعض التطبيقات إلى قياس شدة الصوت، ربما لتحسين وظائف الأجهزة وتفاعلها مع البيئة المحيطة أو لإنشاء نظام أمان.


في هذا الدرس، سنستخدم الاردوينو ومستشعر الصوت لاكتشاف مستويات الصوت في بيئتك وعرض هذه البيانات على جهاز الكمبيوتر الخاص بك.


مقدمة


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


يستخدم في العديد من الأجهزة، مثل الهواتف وأجهزة الكمبيوتر ومشغلات الموسيقى. وكذلك أنظمة الأمن والمراقبة.


في هذا الدرس ستتعلم كيفية استخدام مستشعر الصوت بحيث يمكنك تضمينه في مشاريع أكثر تعقيدًا.


يمكنك أيضًا استخدامه لتشغيل LED أو انذار عندما يتجاوز مستوى الصوت قيمة معينة.


الحصول على القطع


ستحتاج إلى المكونات التالية لهذا المشروع، يمكنك شراؤها من متجر ڤولتات.

Sale Off
Voltaat Arduino Uno R3 (Voltaat Version)
45 QAR
Sale Off
Voltaat Microphone Module
13 QAR
Sale Off
Voltaat Jumper Wires - Male to Female (40 Pack)
10 QAR

التوصيل


توضح الصورة كيفية توصيل الأسلاك بين مستشعر الصوت والاردوينو. بمجرد توصيل مستشعر الصوت والاردوينو ببعضهما البعض، قم بتوصيل الاردوينو بجهاز الكمبيوتر الخاص بك باستخدام وصلة USB.



التوصيلات من الأردوينو بمستشعر الصوت:

• sound sensor A0 pin ← Arduino A0 pin

• sound sensor GND pin (- pin) ← Arduino GND pin

• sound sensor VCC pin (+ pin) ← Arduino 5V pin

• sound sensor D0 pin ← Arduino pin 2


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


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


ما عليك سوى اتباع التعليمات والتعليقات الموجودة في النص البرمجي لفهمه جيدًا.


يمكنك تطويره واستخدامه في مشاريع أكثر تعقيدًا مثل انشاء إنذار الأمان.


/*
Voltaat learn (http://learn.voltaat.com)
Link for full tutorial: https://bit.ly/3VlqJav

Tutorial: Detect noise levels using a sound sensor

This sketch's purpose is to keep track of the noise levels in the surrounding area

Connections from the Arduino to the sound sensor:
• Arduino A0 pin → sound sensor A0 pin
• Arduino GND pin → sound sensor GND pin (- pin)
• Arduino 5V pin → sound sensor VCC pin (+ pin)
• Arduino pin 2 → sound sensor D0 pin
*/


//Define the variable soundSensorRead to Analog Input Pin A0
const int soundSensorRead = A0;

//Define the variable soundSensorPin to Digital Input Pin 2
const int soundSensorPin = 2;

//Define variables
int sensorRead;
boolean sensorStatus;

//Commands inside void setup run once
void setup()
{
  //Start the serial monitor at 9600 baud rate (9600 bits per second)
  Serial.begin(9600);
  //SoundSensorPin is defined as an input
  pinMode(soundSensorPin, INPUT);

}


//Commands inside void loop run forever
void loop()
{
  //Read the value of analog input from soundSensorRead and assign it in the variable sensorRead
  sensorRead = analogRead(soundSensorRead);
  //Read the value of digital input from soundSensorPin and assign it in the variable sensorStatus
  sensorStatus = digitalRead(soundSensorPin);

  //Check noise status
  if(sensorStatus == HIGH)
  {
    //Print to serial monitor
    Serial.print("Alert, there is  high noise in the surroundings ");
    Serial.print("| Sound sensor value:  ");
    Serial.println(sensorRead);

  }
  else
  {
    //Print to serial monitor
    Serial.print("Everything around you is peaceful ");
    Serial.print("| Sound sensor value:  ");
    Serial.println(sensorRead);

  }

  //Delay for 3 seconds
  delay(3000);
}

قم باختباره




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


يمكنك الآن الوصول إلى شاشة التواصل وعرض البيانات في Arduino IDE من خلال النقر على أيقونة العدسة المكبرة في الزاوية اليمنى العليا.



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


الآن، كما نرى في الصورة التالية، تعرض شاشة التواصل حالة الضوضاء وقيمة القراءة من المستشعر.


يتم تحديث القيمة وعرضها كل ثلاث ثوانٍ بسبب التأخير الذي أضفناه إلى نص البرمجة الخاص بنا.


يجب عليك أيضًا التأكد من اختيارك لمعدل baud الصحيح (9600) كما هو محدد في البرنامج.


يمكنك القيام بذلك عن طريق النقر على قائمة الاختيار في الركن الأيمن السفلي من نافذة التواصل مع الاردوينو.


تتناسب قيمة القراءة الحساس عكسيا مع شدة الصوت من حولك، حيث تقل مع زيادة شدة الصوت وتزداد مع انخفاض مستوي الصوت.


يمكنك ملاحظة ذلك في الصورة التالية.

المصادر


Arduino Code

Fritzing Wiring file

دروس أخري


Light up beautiful colors using the RGB LED


RG LED is similar to a regular LED but it is made up of three smaller ones. It is called an RGB LED because it has three LEDs with three colors: red, green, and blue.


LCDs are used in a range of everyday applications, including the automobile radio and the house air conditioning remote. They display data and let you control it through menus.


Most of us are familiar with the switches used in household devices. A relay is a type of switch that can be connected to an Arduino or any other microcontroller.