الجمعة، 10 مايو، 2013

التحكم بالأردوينو عن طريق الصوت

تحكم بمشاريعك بواسطة الصوت عن طريق 

Voice recognition  Module "Arduino Compatible "



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



لفهم الآلية التي سنقوم بها  لتمييز الصوت و ربطه مع الأردوينو , سأشرح باختصار ما يلي :
1) ستحتاج في البداية لمعرفة ما هو التطبيق الذي تريد التحكم به .
2)سنقوم بتسجيل للصوت الذي نرغب بأن يكون أداة التحكم بهذا التطبيق .
3)اخيراً كتابة الكود و ربط أمر الصوت الذي سجلناه مع الوظيفة التي نرغب في التحكم بها عن طريق الأردوينو 


حسناً لنبدأ بالآلية الأولى : 
التطبيق الذي نريد التحكم به :

لنفرض أن لدينا التطبيق التالي : سنقوم بتشغيل و اطفاء الLED المربوطة مع المداخل D8,D9,D10,D11,D12  .

المخطط سيكون كما في الشكل :

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

لننتقل للخطوة التالية : تسجيل الصوت .

سنستخدم هذا الموديل لتمييز الصوت 


هذه القطعة تحتوي على متحكم , هذا المتحكم مقسم داخلياً إلى عدة  قطاعاتSection  لتخزين الأوامر الصوتية , كل 5 قطاعات تكون مجموعة واحدة و عدد المجموعات الكلي فيها هو 15 مجموعة .

لمعلومات أكثر عن هذه القطعة يمكن مراجعة نشرتها الفنية 

و سيلزمنا أيضاً مبرمجة TTL تكون مرفقة معه لنوصله بالحاسوب , تدعى USB-TTL Module .

سنقوم بالبداية بتوصيله كما في الصورة :

TX>>RX .......RX>>TX



ثم ستحتاج إلى برمجية AccessPort و يمكن تحميلها من هنا

قم بفك ضغط البرنامج  و قم بتشغيله .

ستظهر لك الواجهة الرئيسية له 

اذهب إلى Configure  و اضبط  الإعدادت فيها كما في الشكل أدناه :



قم  بضبط الcom الخاص بك كما هو موجود في جهازك .

Voice recognition  Module عندما يتم وصله بالشكل الصحيح يضيء الباعث الضوئي ذو اللون الأحمر فيه و يرمش , هذا دليل على أن توصيلاتك صحيحة , عكس ذلك تأكد من توصيلاتك جيداً .

عندما يرش الLED الأحمر نعرف أن الجهاز مستعد للبرمجة .
في حالة لم يكن يضيء فهناك مشكلة .
بعد ذلك نقوم بالرجوع للبرنامج و نكتب الأمر AA 11 في الشاشة السفلية وننقر send 


بعدها ستظهر كلمة START في الشاشة العلوية و ستتغير إضاءة الLED  الأحمر و البرتقالي 

عدة أوامر ستظهر لك خلال عملية التسجيل , و يطلب منك دائماً إعادة تسجيل الجملة كتأكيد للصوت المُسجل .


يمكن التسجيل على المجموعة الثانية باستدعاء الأمر AA 12 أو على المجموعة الثالثة AA 13 

ثم نقوم بحفظ التسجيل عبر كتابة الأمر AA 21 للمجموعة الأولى  لحفظها على القطعة .


ثم نقوم بوصلها مع الأردوينو كما في الشكل 

البرمجة 
byte RX_pin=0;

void setup(){
Serial.begin(9600);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
delay(2000);
Serial.write(0xAA);
Serial.write(0x37);
delay(2000);
Serial.write(0xAA);
Serial.write(0x21);
}
void LED_OFF_Mode()
{
  digitalWrite(8,LOW);
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
}
void loop(){
while(Serial.available()){
  RX_pin=Serial.read();
  delay(10);
  switch(RX_pin)
  {
    case 0x11:
    LED_OFF_Mode();
    delay(40);
    digitalWrite(8,HIGH);
    break;
    
    //----------------
     case 0x12:
    LED_OFF_Mode();
    delay(40);
    digitalWrite(9,HIGH);
    break;
    
    //...............
    
     case 0x13:
    LED_OFF_Mode();
    delay(40);
    digitalWrite(10,HIGH);
    break;
    //................
    
     case 0x14:
    LED_OFF_Mode();
    delay(40);
    digitalWrite(11,HIGH);
    break;
    //................
     case 0x15:
    LED_OFF_Mode();
    delay(40);
    digitalWrite(12,HIGH);
    break;
  }
}
}


و هذا الفيديو يوضح كيفية العمل 




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

تحياتي 

6 التعليقات :

  1. السلام عليكم ممكن تفيدوني بتفاصيل كافية لو سمحتو

    ردحذف
    الردود
    1. عليكم السلام انا عندي التفاصيل ممكن الافادة ولكن عندي مشكلة في استدعاء اوامر الكروب الثانية والثالثة

      حذف
  2. السلام عليكم ... اذا ممكن مساعدة انا اكملت الكروب الاول بالاوامر الخمسة واكملت الاوامر للكروب الثانية ولكن لا اعرف كيف استدعي الاوامر للكروب الثانية مع الكروب الاولى ارجو الرد باسرع وقت ممكن .. تحياتي

    ردحذف
  3. السلام عليكم مشروع جدا جميل ارجو التواصل معي مشروعي مثل هذا المشروع من أجل الإفادة....

    ردحذف
  4. نرجو من حضرت صاحب المشروع أن يتواصل معي ان يساعدني بعملي على الفيس بوكyaman Rasoul طالب هندسة كهربا مشروع تخرج....هو التحكم بقيادة المحركDC بواسطة أوامر صوتية

    ردحذف
  5. السلام عليكم عيوني ممكن مساعدة اريد ابرمج سماعة على الاردوينو واخليه تذيع نتائج الحساس الحرار( يعني تنطق درجة الحرار) وشكرا

    ردحذف

 
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.