الكشف عن الأصوات من حولنا باستخدام الراسبيري باي

مبتدئ

image_pdf

مقدمة

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

المواد والأدوات

الكشف عن الأصوات

 1× راسبيري باي

الكشف عن الأصوات

 1× سلك (HDMI)

الكشف عن الأصوات

1× محول تيار (5V-2A)

الكشف عن الأصوات

 1× كرت ذاكرة

sound-sensor-raspberry-pi

1× سلك ايثرنتsound-sensor-raspberry-pi

حزمة أسلاك توصيل (أنثى – أنثى)

sound detection sensor

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

تهيئة الراسبيري باي

أولا، سوف تحتاج إلى تثبيت نظام الراسبيان على الراسبيري باي إذا لم تكن قد فعلت ذلك قم بالإطلاع على  الدرس الأول نظام تشغيل الراسبيري باي

وبعد تثبيت النظام، يمكنك تهيئة النظام من خلال الرجوع  للدرس الثاني تهيئة نظام التشغيل

افتح الشاشة السوداء LXterminal للبدء باستخدام الراسبيري باي.

الكشف عن الأصوات

للبدء، قم بإستخدام الـ Termial  لتحديث الراسبيري باي إلى أحدث إصدار.

sudo apt-get update
sudo apt-get upgrade

ثم أعد تشغيل الراسبيري باي.

reboot

حمّل البايثون على الراسبيري باي.

sudo apt install python3 idle3

توصيل الدائرة

وصل الدائرة الكهربائية كما في الشكل التالي:sound-sensor-raspberry-pi

للمزيد حول حساس الكشف عن الأصوات يمكنك الرجوع للدرس التحكم بالـ LED  عن طريق التصفيق.

البرمجة

ستشاهد في قائمة Programming وجود برنامج جديد وهو Python 3 (IDLE) انقر عليه.

sound-sensor-raspberry-pi

 من قائمة File اختر  New File.

انسخ الكود التالي والصقه بالملف الفارغ.

import RPi.GPIO as GPIO
import time

#GPIO SETUP
channel = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(channel, GPIO.IN)

def callback(channel):
        if GPIO.input(channel):
                print ("Sound Detected!")
        else:
                print ("Sound Detected!")

GPIO.add_event_detect(channel, GPIO.BOTH, bouncetime=300)  # let us know when the pin goes HIGH or LOW
GPIO.add_event_callback(channel, callback)  # assign function to GPIO PIN, Run function on change

# infinite loop
while True:
        time.sleep(1)

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

في هذه الأسطر يتم استدعاء المكتبات الضرورية مثل RPi.GPIO و  time.

import RPi.GPIO as GPIO
import time

هنا سيتم تهيئة المنفذ 17 في الراسبيري باي لقراءة المدخلات.

#GPIO SETUP
channel = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(channel, GPIO.IN)

في حال تم التقاط صوت الحساس ستظهر رسالة Sound Detected.

def callback(channel):
        if GPIO.input(channel):
                print ("Sound Detected!")
        else:
                print ("Sound Detected!")

احفظ الملف من قائمة File اختر Save اكتب اسم الملف ثم انقر على Save.

sound-sensor-raspberry-pi

بعد ذلك افتح الشاشة السوداء LXterminal.

واكتب الأمر التالي لتنفيذ الكود البرمجي لمشروع الكشف عن الأصوات.

python DV.py

في حال تم قراءة أصوات من قبل الحساس ستظهر هذه الرسالة مباشرة.

sound-sensor-raspberry-pi

لا تنسَ إيقاف مصدر الطاقة بعد الانتهاء من استخدام النظام.

 

X
Product added to the cart