جدول المحتويات:

حواء ، Arduino Chatbot: 14 خطوة (بالصور)
حواء ، Arduino Chatbot: 14 خطوة (بالصور)

فيديو: حواء ، Arduino Chatbot: 14 خطوة (بالصور)

فيديو: حواء ، Arduino Chatbot: 14 خطوة (بالصور)
فيديو: arduino basic [ arduino in Arabic ] 2024, شهر نوفمبر
Anonim
Image
Image
حواء ، Arduino Chatbot
حواء ، Arduino Chatbot
حواء ، Arduino Chatbot
حواء ، Arduino Chatbot

مرحبًا DIYrs ، هل كانت هناك حالات أردت فيها حقًا مشاركة مشاعرك مع شخص ما ولم يكن هناك أي شخص موثوق به؟ في عالم اليوم المزدحم ، هذا مثال شائع. حسنًا ، يمكن أن يساعدك برنامج الدردشة الآلي هنا في جعلك تشعر بتحسن. وهذا يؤدي إلى تقديم Eve. Eve هو روبوت محادثة صغير لطيف. حسنًا ، كما يعلم الجميع ، فإن chatterbot أو chatbot هو برنامج كمبيوتر أو جهاز يقوم بإجراء محادثة مع البشر بناءً على الأساليب النصية أو السمعية. الأصوات الآلية التي تسمعها في مكالمة خدمة العملاء ، أو على خط البنك هي مثال على chatbot. معها ، يمكنك مشاركة تجاربك ومشاعرك والأهم من ذلك ، الجدال حول أشياء مختلفة ؛ إنها تتمتع بخبرة جيدة في ذلك. لأن هذه هي أهم وظيفة في روبوت المحادثة ، اجعل الشخص يشعر بالسعادة. من الأمثلة المبكرة على معالجة اللغة الطبيعية (NLU) والذكاء الاصطناعي ، حواء قادرة على الإجابة على أي سؤال تطرحه عليها. لا يعني ذلك أنها تستطيع الإجابة فقط على عدد محدد من الأسئلة. يمكنها الغناء وإخبارك بالنكات والقصص وفعل أي شيء يجعلك تشعر بالرضا ، إذا قالت شيئًا لا ترغب في سماعه ، فقط أخبرها ، من فضلك لا تقل ذلك مرة أخرى ، وسوف تتذكر ذلك. حتى أنها تعلم أنه لا ينبغي لها أن تكرر نفس الإجابات والمحادثات ، حتى لا تصبح المحادثة مملة ، فبناءً على مكونات بسيطة ورخيصة وبرمجة أساسية ، يمكنها التصرف بذكاء إلى حد كبير حقًا. علاوة على ذلك ، تُظهر عيون LCD التي تمتلكها كيف تشعر عندما تقول أي شيء ، لذلك في الأساس في هذه التعليمات ، سنبدأ من تعريف روبوت المحادثة ، وننظر في التصميم ، وبعض النظريات التي تستند إليها حواء ، والتصنيع وأخيراً جزء البرمجة. لا تقلق ، ستكون الرحلة ممتعة للغاية. يمكنك مشاهدة العرض التوضيحي للروبوت أعلاه ، أو في هذا الرابط: [تشغيل الفيديو]

الخطوة 1: تعريف Chatbot

تعريف Chatbot
تعريف Chatbot
تعريف Chatbot
تعريف Chatbot
تعريف Chatbot
تعريف Chatbot

كما ذكرنا أعلاه ، فإن chatbot هو برنامج يجري محادثة مع البشر. إنها شائعة جدًا في الوقت الحاضر لدرجة أنه لا يكاد يوجد شخص غير معروف عنها. بدءًا من المساعدين الافتراضيين ، Siri و Google Assistant ، هناك Mitsuku و Evie حيث يمكنك مشاركة مشاعرك ، كما ذكرنا سابقًا ، تستند روبوتات المحادثة إلى أسلوب نصي أو سمعي ، وبالتالي يمكن تقسيمها إلى قسمين. في الطريقة النصية ، تكون المحادثات في شكل نص مكتوب تمامًا مثل WhatsApp. بينما في الطريقة السمعية ، تتم المحادثات شفهيًا كما هو الحال مع الإنسان الحقيقي. أعتقد أنه من المثير التحدث مع شخص ما من خلال التحدث إليه شفهيًا بدلاً من مجرد إرسال الرسائل النصية إليه. لا شك أن تطبيقات المراسلة النصية القائمة على الرسائل تلبي متطلبات الناس ، لكني أشعر أن الدردشة عن طريق التحدث هي أفضل شيء للتخلص من الاضطرابات العاطفية وتجعلك تشعر بتحسن. هذا هو السبب الرئيسي الذي جعلني أصمم حواء لتكون روبوت محادثة سمعي.

الخطوة الثانية: أصل حواء

أصل حواء
أصل حواء

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

الخطوة الثالثة: جمع المكونات والمعدات:

جمع المكونات والمعدات
جمع المكونات والمعدات
جمع المكونات والمعدات
جمع المكونات والمعدات
جمع المكونات والمعدات
جمع المكونات والمعدات

فيما يلي المكونات التي سيتم جمعها: Arduino Pro Mini (أو Arduino Nano) Wtv-020-SD-16p وحدة الصوت HC-05 وحدة البلوتوث 16x2 LCD وحدة LM7805 منظم ICAn مكبر للصوت (استخدمت دائرة PAM8403) مكبر صوت 8 أوم أنثى بطارية جاكا الصوت 9 فولت وهاتف أندرويد فهذه هي المكونات المطلوبة. شيء مهم آخر ، التكلفة. كلفتني Eve حوالي 3000 روبية هندية. قد تختلف التكلفة في بلدك ولكن في الهند ، هذا هو السعر تقريبًا. وصف بسيط للأجزاء: Arduino Pro mini هو MCU الرئيسي في الروبوت الخاص بنا. استخدمته بسبب صغر حجمه وبساطته وأدائه الممتاز. يلبي جميع متطلبات الروبوت الخاص بنا. باستثناء وظيفة التعرف على الصوت التي يتم إجراؤها بواسطة Android (تمت مناقشتها لاحقًا) ، تتم جميع الوظائف الأخرى بدءًا من البحث عن الكلمات الرئيسية وتكوين الإخراج على Pro Mini نفسه. لا تقلق بشأن المصطلحات المذكورة أعلاه إذا لم تفهمها ، فجميعها تمت مناقشتها في الجزء الأخير. تستخدم وحدة wtv020sd 16p لتشغيل ملفات الصوت ، hc 05 Bluetooth للتواصل مع Android وشاشة LCD لعرضها. المشاعر. نحتاج إلى مقبس صوت نسائي لتوفير توصيل الروبوت بمكبر صوت خارجي. يتم استخدام Arduino كوحدة تحكم رئيسية هنا. يتلقى بيانات Bluetooth من خلال وحدة HC 05 Bluetooth ويقوم بتشغيل الملف من خلال وحدة الصوت WTV-020-SD-16p. يتم عرض المشاعر في وحدة LCD وبطارية 9 فولت للطاقة. تتعرف Eve على الخطب من خلال التعرف على Google Voice لجهاز Android. تمت مناقشته لاحقًا بشكل صحيح في الخطوة المعنية. أخبار سيئة حول Arduino Pro Mini: لقد تم إيقاف تشغيل IT من السوق. حسنًا ، هذا يعني أنه تم إيقاف تصنيعه رسميًا بواسطة Arduino. ولكن لا يزال بإمكانك العثور عليه في العديد من المواقع بما في ذلك Ebay. لا يزال العديد من مصنعي الطرف الثالث يصنعون السبورة ويبيعونها. لا تقلق إذا لم تتمكن من العثور على واحد ، يمكنك استخدام Arduino Nano. يجب ألا يكون لها أي اختلاف في الأداء وكذلك في الحجم.

الخطوة 4: النظرية الجزء 1: التاريخ والمقدمة

النظرية الجزء الأول: التاريخ والمقدمة
النظرية الجزء الأول: التاريخ والمقدمة
النظرية الجزء الأول: التاريخ والمقدمة
النظرية الجزء الأول: التاريخ والمقدمة

تعتمد Eve على شكل مبكر من معالجة اللغة الطبيعية ، وهي تقنية "مطابقة النمط". وهي تعمل بالطريقة التالية عندما يتم تلقي سلسلة ، فإنها تبحث عن كلمة أو عبارة محددة مسبقًا في تلك السلسلة. افترض في السؤال "كم عمرك" أن البرنامج يبحث عن كلمة "قديمة". إذا نجح ذلك ، فسيتم تشغيل ملف الصوت المعني من خلال وحدة wtv020sd. إذا فشلت ، فإنها تبحث عن الكلمة الرئيسية التالية المحددة مسبقًا. مثل هذا ، نحتاج إلى بناء مفردات من الكلمات المحددة مسبقًا. تبدو صعبة ، أليس كذلك؟ يبدو الأمر كما لو أننا بحاجة إلى بناء مفردات لجميع الكلمات الإنجليزية وهناك حوالي 230 ألف كلمة عامة في اللغة الإنجليزية. حسنًا ، الحقيقة هي أننا نحتاج فقط إلى إضافة بعض الكلمات الأساسية الأكثر استخدامًا في اتصالاتنا. لا تزال تبدو صعبة؟ لا تقلق ، لقد تم بالفعل تنفيذ العمل بواسطة جوزيف ويزيمباوم. تم دمج جزء من ردود Eve والكلمات الرئيسية المحددة مسبقًا من أول برنامج chatterbot يسمى Eliza ، تم تطويره بواسطة Joseph Wizembaum (في الصورة أعلاه). صُممت إليزا لتكون أخصائية علاج روجريان. ليس مصطلحًا علميًا للغاية ، فهذا يعني أنها اعتادت تقديم المشورة للناس ، وجعلهم يفهمون أنفسهم بشكل أفضل ويجعلهم يفكرون أكثر إيجابية. تبدو جيدة حقا؟ وكانت إليزا قادرة على أداء واجبها جيدًا. كان موقفها الفضولي والمتشكك محبوبًا من قبل الناس. حتى Wizembaum فوجئ بالأهمية التي منحها الناس لإليزا. يبدو أنهم نسوا أنهم كانوا يتحدثون إلى جهاز كمبيوتر ، وتخيّلوا سيدة جميلة تجلس داخل الكمبيوتر تتحدث معهم ، لكن إليزا لم تكن ذكية ؛ جاء ليتم تحقيقه قريبًا. مع مرور الوقت ، بدأ الناس يشعرون بالملل من اتصالاتها المحدودة ووصفت بأنها "غبية". لا عجب كم كانت غبية ، لقد كانت قفزة كبيرة في تاريخ الذكاء الاصطناعي ومعالجة اللغة الطبيعية. بعد تأسيس قاعدة Chatterbots ، ظهرت روبوتات مختلفة بتقنية جديدة وأفضل في السوق. والآن لدينا في كل مكان كما ذكرنا ، جزء من ردود حواء مشتق من ELIZA. وهذا يعني أنه حتى حواء ستمتلك موقف إليزا إلى حد ما مع بعض أفكاري الخاصة. الشيء المهم الآخر هو الردود. يجب أن يكون الأمر مملًا حقًا أن تحصل على نفس الردود في كل مرة تطرح فيها نفس السؤال. يتم تخزين ردود Therfore كثيرة لنفس الكلمة الأساسية. تختار Eve عشوائيًا الملف الذي تريد تشغيله ، مع التأكد أيضًا من أنها لا تكرر نفس الملف. هذا كل شيء ، خبز بسيط وزبدة ، لكن من المهم برمجة الأصوات المستجيبة بذكاء ، بحيث تعطي وهمًا للمشاهدين كما لو كانت تجيب حقًا على أسئلتنا. في الخطوة التالية سنشرح هذا بالتفصيل والبرمجة.

الخطوة 5: البحث عن الكلمة الرئيسية

البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية
البحث عن الكلمة الرئيسية

في الخطوة الأخيرة ، ذكرت تقنية مطابقة الأنماط لحواء وأيضًا الشكل المبكر لمعالجة اللغة الطبيعية. إذن ما هو وكيف يعمل؟ هذا هو الشيء الرئيسي الذي سنناقشه في هذه الخطوة. لذا فكر في الأمر ، يسألك شخص ما عن اسمك وتحتاج إلى معرفة ما هو. كم عدد الطرق التي يمكننا طرح نفس السؤال فيها؟ قد يسأل معلمك "هل من الممكن أن تخبرني باسمك؟" قد يسأل أحد الأقارب "ما اسمك؟" قد يقول أخوك ، "مرحبًا ، لقد نسيت اسمك. هل ستقوله مرة أخرى فقط؟" هذا يعني أنه يمكن طرح نفس السؤال بعدة طرق. ومع ذلك ، نحتاج إلى إعطاء نفس الإجابة ، اسمنا. هذا يعني أننا بحاجة إلى إيجاد شيء مشترك في كل الجمل. من الواضح أن كلمة "اسمك" موجودة في جميع الجمل. إذن هذا تلميحنا. لجميع الأسئلة التي تطلب الاسم ، نحتاج إلى البحث عن عبارة "اسمك". باتباع هذا النمط الأساسي يمكننا توقع الإجابة ذات الصلة لجميع سلاسل الإدخال. خلل: من المهم أيضًا تذكر أن هذه الخوارزمية لن تكون دقيقة دائمًا. لنفترض أن أحدهم قال ، "لقد وجدت اسمك في قائمة الانتظار. توقعت أن تكون في المقاعد المحجوزة.". الآن بما أن "اسمك" موجود في هذه السلسلة ، حواء ، كونها بريئة ستخبر اسمها للشخص … أحمق الحق؟ هذه واحدة من عيوب هذه الخوارزمية الأساسية. على أي حال ، ستكون هذه حالات نادرة. وإلا فإن الخوارزمية فعالة للغاية. الآن بعد أن ذكرت تقنية مطابقة الأنماط ، حان الوقت للتفكير من أين تأتي سلسلة الإدخال هذه حيث نبحث عن السلسلة حسنًا ، هذه السلسلة هي في الواقع صوتنا الذي تم تحويله إلى نص بواسطة Google Voice Recognition. يحول التطبيق المستخدم هنا صوتنا إلى نص ثم يرسله إلى اردوينو عبر البلوتوث. لقد استخدمت التطبيق لأنه أبسط وأفضل من نوعه. الاسم هو AMR Voice ، ويمكن العثور عليه بسهولة في Google play.

الخطوة 6: صياغة الإجابات

صياغة الإجابات
صياغة الإجابات

الآن بعد أن تعرفنا على الأسئلة ، يجب أن تكون الخطوة التالية هي العثور على الإجابات. وهنا يأتي الجزء المهم والمثير للاهتمام … نحتاج إلى إيجاد إجابات مناسبة لإرضاء كل سؤال. وهنا تأتي وظيفة أخرى مدمجة من ELIZA. طور Wizembaum بعض الإجابات لعدد محدد من الكلمات الرئيسية. مثال على الكلمة الأساسية "أنت". كلما تم الكشف عن إخراج البرنامج "كنا نناقشك - وليس أنا". ومن هنا جاءت الإجابة بطريقة تناسب كل الجمل التي تحتوي على كلمة "أنت". علاوة على ذلك ، أعطت إليزا إجابة مختلفة في كل مرة. كان هناك نوع من العنوان الرقمي لكل إجابة. تمت زيادة هذا (تمت إضافته بمقدار 1) في كل مرة يتم فيها صياغة إجابة. لنفترض كما في المثال أعلاه ، إذا كان عنوان الإجابة هو 1 ، فقد تم تغيير العنوان إلى 2 وتم تشغيل الملف 2 بعد ذلك ، لكننا لن نتبع خوارزمية الزيادة هذه. ترى بعد بعض الاستخدام المستمر للبرنامج ، أصبحت الإجابات متوقعة. لقد جئت لتعرف الإجابة التي ستعطى بعد ذلك. لهذا الغرض ، سنقوم بإنتاج عناوين عشوائية لكل كلمة رئيسية. بشكل عام ، هو نفسه في كلتا الحالتين ، فقط الاختلاف الذي لا يمكننا التنبؤ بما سيقوله الروبوت بعد ذلك للكلمة الرئيسية نفسها.

الخطوة السابعة: البيانات المحظورة وغيرها

البيانات المحظورة وغيرها
البيانات المحظورة وغيرها

قد تكون هناك بعض الحالات في محادثتك عندما يقول الروبوت شيئًا لا ترغب في سماعه. لذلك تبرز هنا ضرورة إضافة البيانات المحظورة. العبارات المحظورة عبارة عن مجموعة من العناوين التي تم منع تشغيلها. يتميز العنوان الصوتي بأنه بيان محظور بناءً على طلب المستخدم. علاوة على ذلك ، يجب تخزين هذا العنوان في ذاكرة EEPROM الخاصة بـ Arduino حتى لا تنسى Eve أنه تصريح محظور حتى بعد إيقاف تشغيلها. ما يفعله البرنامج أساسًا هو التحقق من كل عنوان يتم تشغيله. إذا كان العنوان من العناوين المحظورة ، فيكون إما زيادة أو تناقص. علاوة على ذلك ، قد يكون هناك مثال عندما ترغب في السماح للروبوت بنطق كلمة محظورة سابقًا. في هذه الحالة ، يجب أن تقول لحواء إنها تستطيع أن تقول آخر كلمة ممنوعة. الكلمة التي تم حظرها أخيرًا ستكون قابلة للعب الآن. لجعل جميع العبارات المحظورة قابلة للتشغيل ، نحتاج إلى إرفاق مفتاح إعادة الضبط. إذا تم الضغط على جميع العبارات المحظورة ، فستصبح قابلة للتشغيل. ثم هناك شيء آخر مهم وهو التأكد من أن حواء لا تكرر الإجابات. هذا نوع من النقص في الأرقام العشوائية. من المحتمل أن يتم إنتاج نفس الأرقام العشوائية في سلسلة. هذا سيجعل الروبوت يقول نفس الإجابة مرارًا وتكرارًا. لهذا نحتاج إلى تضمين وظيفة ثانوية أخرى تمنع تكرار العبارات. لهذا نحتاج إلى تخزين عنوان العبارة الأخيرة في الذاكرة ، والتحقق مما إذا كان هو نفسه العنوان الحالي. إذا كان الأمر كذلك ، فسيتم زيادة أو إنقاص قيمة العنوان ، بنفس الطريقة في حالة البيانات المحظورة.

الخطوة 8: الكتابة في الكود

الكتابة في الكود
الكتابة في الكود
الكتابة في الكود
الكتابة في الكود
الكتابة في الكود
الكتابة في الكود

نستخدم الأمر indexOf للبحث عن الكلمة الأساسية. يحدد الأمر موقع حرف أو سلسلة داخل سلسلة أخرى. إذا تم العثور عليه ، فإنه يقوم بإرجاع فهرس تلك السلسلة بينما يتم إرجاع -1 إذا لم يتم العثور عليه. لذا في برنامجنا نحتاج إلى كتابته بالآتي: if (voice.indexOf ("your name")> -1) {// إذا كان الفهرس أكبر من -1 // مما يعني أنه تم العثور على السلسلة} الآن أننا قمنا بتخزين السلسلة في الذاكرة ووجدنا أيضًا الكلمة الرئيسية الخاصة بنا بداخلها ، فسنحتاج الآن إلى التعامل مع الردود. كما قيل ، يتم إنشاء أرقام عشوائية ضمن نطاق معين من الأرقام (عناوين الملفات الصوتية). هنا يأتي الأمر العشوائي (). فيما يلي بناء الجملة: عشوائي (الحد الأدنى ، الحد الأقصى) ؛ // يتم إنشاء الرقم العشوائي في نطاق الحد الأدنى والحد الأقصى. نحدد الحد الأدنى والعدد الأقصى لكل نطاق ، وتطبيق هذا الرمز الخاص بنا يبدو إلى حد ما مثل هذا: if (voice.indexOf ("اسمك")> - 1)) {minNo = 0 ؛ maxNo = 5 ؛ RandomNumber = عشوائي (minNo ، maxNo) ؛} الآن يأتي التعامل مع الردود. في الخطوة الأخيرة ، قلت إن الأرقام تتزايد أو تنقص بناءً على خوارزمية. هذه الخوارزمية هي ما نناقشه الآن ، هذا الجزء مهم جدًا بمعنى أنه لا يمكنك الزيادة أو الإنقاص فقط كما يحلو لك. يجب أن يكون الرقم المتزايد أو المتناقص في النطاق. لنفترض كما في الحالة أعلاه ، بالنسبة للكلمة الرئيسية "اسمك" ، لدينا النطاق من 0 إلى 5 ، والرقم العشوائي الذي تم إنشاؤه هو 5 ، حسنًا ، إذا قمت بزيادة ذلك ، فسوف ينتهي بك الأمر إلى تشغيل ملف صوتي لكلمة رئيسية أخرى كيف تعتقد أن هذا سيكون؟ تسأل ، "مرحبًا ، من فضلك قل لي اسمك." ، ويرد الروبوت ، "أحب أكل البسكويت والشحن الكهربائي." هذا هو الحال بالنسبة للحد الأدنى من العدد. إذا كان الرقم العشوائي الذي تم إنشاؤه يساوي 0 ، فلا يمكنك إنقاصه. لهذا السبب فإن الخوارزمية مهمة جدا. فكر في الأمر: نحن قادرون على الزيادة إما عندما يكون الرقم أقل من العدد الأقصى والتناقص عندما يكون أكبر من الحد الأدنى للرقم. عندما يكون الرقم الناتج إما يساوي 0 أو أقل من 5 ، يزداد الرقم. من ناحية أخرى ، عندما تكون مساوية لـ 5 ، فإننا ننقصها ، للتأكد من أن الرقم ضمن النطاق المحدد ، والآن نتحدث عن البيانات المحظورة. كما ذكرنا ، يتم تخزينها في EEPROM. لهذا ، أولاً نبحث عن ذاكرة خالية في المصفوفة المحظورة. لنفترض أن العنوان 4 مجاني ، فسنقوم بإدخال رقم الملف في عنوان المصفوفة المجانية وكذلك كتابة نفس العنوان في EEPROM.for (int i؛ i if (never == 0) {EEPROM.write (never ، memory)؛}} هذا كل شيء ، سيتم تشغيل وحدة Wtv020sd16p باستخدام الأمر module.playVoice () ورقم الملف المقترح. ستتم مناقشة أداء الوحدة Wtv020 لاحقًا.

الخطوة 9: إدخال المشاعر

إدخال المشاعر
إدخال المشاعر
إدخال المشاعر
إدخال المشاعر
إدخال المشاعر
إدخال المشاعر

حتى الآن ، يستطيع الروبوت الخاص بنا التعرف على ما نقوله ، وتخزينه في الذاكرة ، والعثور على إجابة مناسبة للأسئلة. الآن يأتي السؤال لإدخال المشاعر. بالتأكيد سيحب الجميع وجهًا حيًا مع بعض البرامج الصغيرة الغبية للإجابة على الأسئلة. يتم استخدام شاشة LCD مقاس 16 × 2 في المشروع. إنه جيد بما يكفي لطباعة العيون. نحتاج إلى استخدام وظيفة الأحرف المخصصة لإنشاء العيون. يتيح لنا الطابع المخصص إنشاء أحرف جديدة من خلال تحديد وحدات البكسل. سوف نأتي بالتفصيل بعد ذلك بقليل. أولاً ، من المهم أن تتذكر أن اردوينو يدعم 8 أحرف مخصصة فقط. لذلك نحن بحاجة إلى إدارة المشاعر بـ 8 أحرف فقط. يجب طباعة كل حرف في مربع معين ، وهناك 16 عمودًا وصفين مما يجعل إجمالي عدد الصناديق 32 صندوقًا.

يمكنك العثور على معلومات جيدة عبر الإنترنت حول الأحرف المخصصة في Arduino. قد يزور هذا الرابط أيضًا:

[Custom Characters Arduino] يجب أن تبدو بنية بايت الحرف المخصص إلى حد ما كما يلي:

المظهر العادي: الصندوق الأيسر. هذا يعني أننا سنحتاج إلى ما مجموعه 4 صناديق لملء عين بأكملها. صفان على اليسار واثنان على اليمين مما يجعل المجموع أربعة مربعات للعين الواحدة. يجب أن تغطي بايت المربع الأيسر صفين على اليسار ويغطي المربع الأيمن الصفوف اليمنى. لذلك تشكل عين حواء كاملة. والآن نكرر نفس الشيء للعين الثانية ، نحصل على مظهر حواء المحايد. الآن من المهم أن نتذكر أننا استخدمنا واحدًا من ثمانية أحرف مخصصة متاحة. وهناك خمسة مشاعر كاملة: الفرح ، والحزن ، والحول ، والعادي ، والغمز. اعتبارًا من الأحرف السبعة المخصصة المتبقية ، نحتاج إلى الضبط ليناسب جميع التعبيرات. لتشكيل المساحة ، سنستخدم صندوقين لكل عين. لا عجب أن يكون الحجم صغيرًا بعض الشيء ، لكن ستتجاهله العين البشرية. فقط تأكد من إضافة بعض التأخيرات بين وظائف LCD ، وإلا فإن Arduino سيصبح غير مستقر.

الخطوة 10: إجراء الاتصالات

إجراء الاتصالات
إجراء الاتصالات
إجراء الاتصالات
إجراء الاتصالات
إجراء الاتصالات
إجراء الاتصالات

وحدة LCD: قم بتوصيل المسامير كما هو مذكور هنا: RS: حفر دبوس 12RW: GndEnable: 7d4: حفر دبوس 8 d5: حفر 9 d6: حفر دبوس 10 d7: حفر pin13A (أنود) إلى 5vK (كاثود) إلى وحدة HC 05: اتبع هذه الوصلات: دبوس HC 05 TX إلى Arduino RX pinHC 05 RX pin إلى Arduino TX pinState pin إلى Arduino dig pin 11 تتم الاتصالات بمساعدة دبابيس TX و RX. مطلوب دبوس الحالة للتحقق مما إذا كان من خلال HC 05 متصلًا أم خاملًا. لحفر الدبوس 4pin15: الدبوس المشغول ، قم بتوصيل دبوس الحفر 5pin2: قم بتوصيل هذا الدبوس بمكبر للصوت من خلال الصوت وأيضًا بمقبس الصوت الأنثوي. 8 دبوس إلى gnd ويوفر مصدر طاقة 3.3 فولت في الدبوس السادس عشر.

سيساعد مكبر الصوت في تشغيل مكبر الصوت الداخلي لـ Eve ، بينما يتم توصيل مقبس الصوت بمكبر صوت خارجي ومكبرات صوت أكبر.

الخطوة 11: وحدة WTV020SD16p (اختيارية)

Image
Image
وحدة WTV020SD16p (اختياري)
وحدة WTV020SD16p (اختياري)
وحدة WTV020SD16p (اختياري)
وحدة WTV020SD16p (اختياري)

ملاحظة: هذه الخطوة اختيارية. إنه يتعامل مع عمل ووصف وحدة WTV 020 SD 16p.

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

[شغل الفيديو]

يتم تحقيق وضع التحدث للروبوت بواسطة وحدة WTV 020 SD. تستخدم الوحدة لتشغيل ملفات الصوت للروبوت. عندما يتم طرح أي سؤال ، فإن اردوينو سيجعل الوحدة تقوم بتشغيل ملف الصوت المعني في بطاقة SD. توجد أربعة خطوط بيانات تسلسلية على الوحدة النمطية للتواصل مع اردوينو وإعادة الضبط والساعة والبيانات والدبابيس المشغولة ونستخدم الأمر.playVoice () لتشغيل الملف المطلوب. على سبيل المثال: module.playVoice (9): // play file 9 المخزن على بطاقة SD تذكر أن أسماء الملفات يجب أن تكون بالأرقام العشرية (0001 ، 0002 …). وأن تكون الملفات إما بتنسيق AD4 أو WAV. علاوة على ذلك ، تعمل الوحدة فقط على بطاقة micro SD بسعة 1 جيجابايت. تعمل بعض الوحدات حتى على بطاقات 2 جيجا بايت ويمكن للبطاقة استيعاب 504 ملفات صوتية كحد أقصى. لذا يمكنك تضمين عدد لا بأس به من الملفات الصوتية لتشغيلها لعدد كبير من الأسئلة.

يمكنك أيضًا إنشاء ملفات AD4 الصوتية الخاصة بك. أولاً ، يجب أن يكون لديك برنامجان ، برنامج لتحرير الصوت وبرنامج يسمى 4D SOMO TOOL والذي من شأنه تحويل الملفات إلى تنسيق AD4. ثانيًا ، عليك إعداد أصوات الروبوت. يمكنك إما تحويل النص إلى كلام أو حتى تسجيل صوتك وإنشاء أصوات الروبوت. يمكن عمل كلا الأمرين في برنامج تحرير الصوت. لكن من المؤكد أن الروبوتات لا تبدو جيدة إذا تحدثت بأصوات بشرية. لذلك يجب أن يكون من الأفضل تحويل النص إلى كلام. هناك العديد من المحركات مثل Microsoft Anna و Microsoft Sam لجهاز الكمبيوتر الخاص بك والتي من شأنها أن تساعد في القيام بذلك. المنجم يعتمد على Microsoft Eva. تتطابق الأصوات إلى حد كبير مع Cortana. بعد تجهيز الملفات الصوتية ، يجب عليك حفظها في 32000 هرتز وبتنسيق WAV. وذلك لأن الوحدة يمكنها تشغيل ملفات الصوت حتى 32000 هرتز. ثم استخدم 4D SOMO TOOL لتحويل الملفات إلى تنسيق AD4. للقيام بذلك ، ما عليك سوى فتح أداة سومو ، وتحديد الملفات ، والنقر فوق تشفير AD4 وستصبح ملفاتك الصوتية جاهزة. يمكنك التحقق من الصورة أعلاه كمرجع. إذا كنت تريد مزيدًا من التفاصيل حول إنشاء أصوات آلية ، يمكنك الانتقال هنا: [صنع أصوات روبوتية]

الخطوة 12: جزء البرنامج

جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات

في arduino Pro mini ، توجد مشكلة بسيطة في البرمجة. ليست مشكلة في الواقع ، مجرد خطوة إضافية واحدة. لا يحتوي Arduino Pro mini على أي مبرمج يحمل في ثناياه عوامل مثل لوحات Arduino الأخرى. لذلك تحتاج إما إلى شراء جهاز خارجي أو اردوينو UNO قديم. تصف الخطوة هنا كيفية تحميل البرنامج باستخدام Arduino UNO. ما عليك سوى الحصول على لوحة Arduino UNO قديمة من الانهيار وإخراج Atmega 328p. ثم قم بالاتصال كما هو مذكور: 1. TX دبوس على UNO إلى دبوس TX على Pro Mini 2. دبوس RX الخاص بـ UNO إلى دبوس RX الخاص بـ Pro MIni3. أعد تعيين دبوس UNO إلى دبوس إعادة تعيين Pro Mini4. قم بتوصيل VCC و Ground of the Pro Mini بـ UNO قم بتنزيل برنامج Arduino وبرنامج التعرف على الصوت والمكتبات المتوفرة في الأسفل. البرنامج لا يزال قيد التطوير. لذلك إذا كان لديك أي مشكلة بخصوص ذلك ، فلا تتردد في السؤال ، ثم قم بتوصيل الكابل بالكمبيوتر. حدد اللوحة باسم Arduino Pro Mini ، واختر منفذ COM الصحيح. ثم اضغط على زر التحميل وشاهد البرنامج يتم تحميله على جهاز Pro Mini.

ثم قم بتنزيل برنامج التعرف على الصوت والملفات الصوتية.

الخطوة 13: تحضير الجسم

تحضير الجسم
تحضير الجسم
تحضير الجسم
تحضير الجسم
تحضير الجسم
تحضير الجسم

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

الخطوة 14: أحسنت

أتقنه!
أتقنه!
أتقنه!
أتقنه!

لقد أكملت الآن مشروع الروبوت الصغير اللطيف الذي يمكنه التحدث معك ، ويجعلك تشعر بالسعادة. هذه هي أسعد نقطة لكونك DIYer عندما يكتمل مشروعك ويعمل بشكل كامل. لا تقلق إذا لم تنجح في محاولة واحدة ، فأنت بحاجة إلى المحاولة الجادة والجدية من أجل ذلك حتى تفهم كل جزء من أجزاء الروبوت الخاص بك. وهذا هو المكان الذي يأتي فيه DIYers إلى هذا العالم ، لكن هذه ليست نهاية المشروع. يجب أن يتم تطوير حواء دائمًا إلى حد كبير ، إما بواسطتي أو من قبل أصحاب الأعمال اليدوية مثلك. أود أن أسمع ما جعلته ترى هذه التعليمات. تحياتي ، RS3655

موصى به: