مقدمة
يستخدم حساس الكشف عن الأصوات في مجالات كثيرة أهمها المجال الفني لتسجيل الصوتيات في هذا الدرس سنتعلم طريقة توصيله مع لوحة الراسبيري باي.
المواد والأدوات
1× راسبيري باي
1× سلك (HDMI)
1× كرت ذاكرة
1× سلك ايثرنت
حزمة أسلاك توصيل (أنثى – أنثى)
1× حساس الصوت (Sound Detection Sensor)
تهيئة الراسبيري باي
أولا، سوف تحتاج إلى تثبيت نظام الراسبيان على الراسبيري باي إذا لم تكن قد فعلت ذلك قم بالإطلاع على الدرس الأول نظام تشغيل الراسبيري باي
وبعد تثبيت النظام، يمكنك تهيئة النظام من خلال الرجوع للدرس الثاني تهيئة نظام التشغيل
افتح الشاشة السوداء LXterminal للبدء باستخدام الراسبيري باي.
للبدء، قم بإستخدام الـ Termial لتحديث الراسبيري باي إلى أحدث إصدار.
sudo apt-get update sudo apt-get upgrade
ثم أعد تشغيل الراسبيري باي.
reboot
حمّل البايثون على الراسبيري باي.
sudo apt install python3 idle3
توصيل الدائرة
وصل الدائرة الكهربائية كما في الشكل التالي:
للمزيد حول حساس الكشف عن الأصوات يمكنك الرجوع للدرس التحكم بالـ LED عن طريق التصفيق.
البرمجة
ستشاهد في قائمة Programming وجود برنامج جديد وهو Python 3 (IDLE) انقر عليه.
من قائمة 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.
بعد ذلك افتح الشاشة السوداء LXterminal.
واكتب الأمر التالي لتنفيذ الكود البرمجي لمشروع الكشف عن الأصوات.
python DV.py
في حال تم قراءة أصوات من قبل الحساس ستظهر هذه الرسالة مباشرة.
لا تنسَ إيقاف مصدر الطاقة بعد الانتهاء من استخدام النظام.