فهرست مطالب:
- مرحله 1: تعریف چت بات
- مرحله 2: منشاء حوا
- مرحله 3: جمع آوری قطعات و تجهیزات:
- مرحله 4: نظریه قسمت 1: تاریخ و مقدمه
- مرحله 5: جستجوی کلمه کلیدی
- مرحله ششم: فرمول بندی پاسخ ها
- مرحله 7: اظهارات ممنوع و موارد دیگر
- مرحله 8: نوشتن در کد
- مرحله 9: وارد کردن احساسات
- مرحله 10: ایجاد اتصالات
- مرحله 11: ماژول WTV020SD16p (اختیاری)
- مرحله 12: بخش نرم افزار
- مرحله 13: آماده سازی بدن
- مرحله 14: خوب انجام شد
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
سلام به دوستان عزیز ، آیا مواردی وجود داشته است که واقعاً بخواهید احساسات خود را با کسی در میان بگذارید و هیچ فرد مورد اعتماد در آنجا نبود؟ در دنیای شلوغ امروز ، این یک نمونه رایج است. خوب ، یک چت بات می تواند در اینجا به شما کمک کند تا احساس بهتری داشته باشید. و این منجر به معرفی Eve می شود. Eve یک چت بات کوچک زیبا است. همانطور که همه می دانند ، chatterbot یا chatbot یک برنامه یا دستگاه رایانه ای است که بر اساس روش های متنی یا شنیداری با انسان گفتگو می کند. صداهای خودکار که در تماس با خدمات مشتری یا خط بانکی می شنوید ، نمونه ای از چت بات است. با او ، می توانید تجربیات خود ، احساسات خود را به اشتراک بگذارید و مهمتر از همه ، درباره موضوعات مختلف بحث کنید. او در این زمینه به خوبی تجربه کرده است از آنجا که این مهمترین عملکرد یک چت بات است ، به فرد احساس شادی دهید. نمونه اولیه پردازش زبان طبیعی (NLU) و هوش مصنوعی ، ایو قادر است به هر سوالی که از او بپرسید پاسخ دهد. اینطور نیست که او بتواند فقط به تعدادی از سوالات پاسخ دهد. او می تواند بخواند ، برای شما جوک ، داستان بگوید و هر کاری که باعث می شود احساس خوبی داشته باشید انجام دهد. اگر او چیزی می گوید که نمی خواهید بشنوید ، فقط به او بگویید ، لطفاً دیگر آن را نگویید ، و او آن را به خاطر می آورد. او حتی می داند که نباید همان پاسخ ها و چت ها را تکرار کند تا مکالمه خسته کننده نشود. بر اساس اجزای ساده و ارزان و برنامه نویسی اساسی ، می تواند تا حد زیادی هوشمندانه رفتار کند. علاوه بر این ، چشمان LCD که او در اختیار دارد نشان می دهد که وقتی چیزی می گویید چه احساسی دارد. بنابراین اساساً در این دستورالعمل ، ما باید از تعریف چت بات شروع کنیم ، به طراحی نگاه کنیم ، برخی از نظریه ها را که بر اساس آن ایو اجرا می شود ، تولید و در نهایت بخش برنامه نویسی. بسیار به نظر می رسد؟ نگران نباشید ، در سفر بسیار جالب خواهد بود. می توانید نسخه نمایشی ربات را در بالا مشاهده کنید ، یا در این پیوند: [پخش ویدیو]
مرحله 1: تعریف چت بات
همانطور که در بالا ذکر شد ، چت بات برنامه ای است که مکالمه ای را با انسان انجام می دهد. آنها امروزه آنقدر رایج هستند که تقریباً کسی وجود ندارد که از آن ناشناخته باشد. با شروع از دستیارهای مجازی ، Siri و Google Assistant ، Mitsuku و Evie وجود دارد که می توانید احساسات خود را با آنها به اشتراک بگذارید. همانطور که در بالا ذکر شد ، چت بات ها بر اساس روش متنی یا شنیداری هستند و بنابراین می توانند به دو تقسیم شوند. در روش متنی ، مکالمات به صورت متن نوشتاری درست مانند WhatsApp است. در حالی که در روش شنوایی ، گفتگوها به صورت شفاهی مانند یک انسان واقعی انجام می شود. فکر می کنم گفتگو با شخصی به جای ارسال پیام کوتاه با او ، هیجان انگیزتر است. بدون شک برنامه های پیام رسانی متنی مبتنی بر متن نیازهای افراد را برآورده می کند ، اما من احساس می کنم که چت با صحبت کردن بهترین کار برای خلاص شدن از اختلالات احساسی شما و ایجاد احساس بهتر است. بنابراین این دلیل اصلی است که من ایو را به عنوان یک چت بات شنیداری طراحی کردم.
مرحله 2: منشاء حوا
خوب حوا یک روز به ذهنم رسید وقتی بچه ای را دیدم که تنها در مدرسه می چرخید ، در حالی که بقیه مشغول بازی با ذهنشان از شادی بودند. آن زمان من به دوستی فکر کردم که هیچ کس را تبعیض نمی گذارد و باعث ناراحتی کسی نمی شود ، می توانید احساسات خود را با او در میان بگذارید و همیشه شاد باشید. سپس به ذهن من چشمک زد ، ساختار کوچک زیبا ایو شروع به کار روی آن کردم. حوا من را صد بار ناامید کرد. حدس بزنید این 101مین بار بود که او کار می کرد و باعث شد من واقعاً خوشحال باشم. بنابراین منشا حوا این بود. من می خواستم او باهوش باشد اما تا آنجا که ممکن است ساده باشد ، به طوری که هرکسی بتواند به راحتی او را بسازد. بدون شک او کاملاً باهوش نیست و گاهی اوقات پاسخ های احمقانه می گوید ، می تواند به عنوان یک دوست رفتار کند. و اکنون ، به اندازه کافی داستان ، بیایید ساختن حوا را آغاز کنیم.
مرحله 3: جمع آوری قطعات و تجهیزات:
قطعات زیر باید جمع آوری شوند: Arduino Pro Mini (یا Arduino Nano) Wtv-020-SD-16p ماژول صدا HC-05 ماژول بلوتوث 16x2 ماژول LCD LM7805 تنظیم کننده ICA یک ماژول تقویت کننده (من از مدار PAM8403 استفاده کردم) بلندگوی 8 اهم یک زن باتری jacka 9v و یک تلفن Android بنابراین این اجزای مورد نیاز است. نکته مهم دیگر ، هزینه است. حوا برای من حدود 3000 روپیه هزینه داشت. هزینه ممکن است در کشور شما متفاوت باشد ، اما در هند ، این میزان تقریباً است. توضیح کوچکی از قطعات: Arduino Pro mini MCU اصلی در ربات ما است. من به دلیل اندازه کوچک ، سادگی و عملکرد عالی از آن استفاده کردم. تمام الزامات ربات ما را برآورده می کند. به جز عملکرد تشخیص صدا که توسط اندروید انجام می شود (بعداً مورد بحث قرار می گیرد) ، هر قابلیت دیگری که از یافتن کلید واژه و تشکیل خروجی شروع می شود ، در خود Pro Mini انجام می شود. اگر متوجه نشدید ، نگران شرایط ذکر شده در بالا نباشید ، همه در قسمت بعدی مورد بحث قرار می گیرند. ماژول wtv020sd 16p برای پخش فایل های صوتی ، hc 05 بلوتوث برای ارتباط با Android و LCD برای نمایش استفاده می شود. احساسات. ما به جک صوتی زن نیاز داریم که ربات را به یک تقویت کننده خارجی متصل کند. در اینجا Arduino به عنوان کنترل کننده اصلی استفاده می شود. اطلاعات بلوتوث را از طریق ماژول بلوتوث HC 05 دریافت می کند و فایل را از طریق ماژول صوتی WTV-020-SD-16p پخش می کند. احساسات در ماژول LCD و باتری 9 ولت برای قدرت نمایش داده می شود. حوا سخنرانی ها را از طریق تشخیص Google Voice دستگاه Android تشخیص می دهد. بعداً در مرحله مربوطه به درستی مورد بحث قرار می گیرد. یک خبر بد در مورد Arduino Pro Mini: IT از بازار خارج شده است. خوب این بدان معنی است که تولید آن توسط آردوینو به طور رسمی متوقف شده است. اما هنوز هم می توانید آن را در بسیاری از سایت ها از جمله Ebay پیدا کنید. هنوز ممکن است بسیاری از تولیدکنندگان شخص ثالث در حال ساخت و فروش تخته باشند. اگر نتوانستید یکی را پیدا کنید نگران نباشید ، می توانید از آردوینو نانو استفاده کنید. هیچ تفاوتی در عملکرد و اندازه آن ایجاد نمی کند.
مرحله 4: نظریه قسمت 1: تاریخ و مقدمه
ایو بر اساس شکل اولیه پردازش زبان طبیعی ، فن آوری "تطبیق الگو" است. به این صورت عمل می کند که وقتی یک رشته دریافت می شود ، کلمه یا عبارت از پیش تعیین شده ای را در آن رشته جستجو می کند. فرض کنید در س "ال "چند سال دارید؟" برنامه کلمه "قدیمی" را جستجو می کند. اگر موفق شد ، فایل صوتی مربوطه را از طریق ماژول wtv020sd پخش می کند. اگر شکست بخورد ، کلمه کلیدی از پیش تعریف شده بعدی را جستجو می کند. مانند این ، ما باید یک واژگان از کلمات از پیش تعریف شده ایجاد کنیم. سخت به نظر می رسد ، اینطور نیست؟ به نظر می رسد که ما نیاز به ایجاد یک واژگان از کلمات انگلیسی داریم و حدود 230 هزار کلمه در زبان انگلیسی وجود دارد. خوب واقعیت این است که ما فقط باید چند کلمه اساسی که بیشتر در ارتباطات ما استفاده می شود اضافه کنیم. هنوز سخت به نظر می رسد؟ نگران نباشید ، کار قبلاً توسط Joseph Wizembaum انجام شده است. بخشی از پاسخ های حوا و کلمات کلیدی از پیش تعریف شده از اولین برنامه چت بات به نام الیزا ، توسعه یافته توسط جوزف ویزمبوم (تصویر بالا) استفاده شده است. الیزا به عنوان یک درمانگر روجری طراحی شده بود. یک اصطلاح بسیار علمی نیست ، به این معنی است که او به مردم توصیه می کرد ، آنها را بهتر درک می کرد و آنها را مثبت اندیش می کرد. به نظر می رسد واقعاً خوب است؟ و الیزا به خوبی توانست وظیفه خود را انجام دهد. نگرش کنجکاو و شکاک او مورد استقبال مردم قرار گرفت. حتی ویزمبوم از اهمیتی که مردم به الیزا می دهند شگفت زده شد. به نظر می رسید آنها فراموش کرده اند که با کامپیوتر صحبت می کنند و تصور کردند که خانم زیبایی در داخل کامپیوتر نشسته و با آنها صحبت می کند. اما الیزا آنقدرها هم باهوش نبود. به زودی متوجه شد با گذشت زمان ، مردم از ارتباط محدود او خسته شدند و او را "گنگ" نامیدند. جای تعجب نیست که او چقدر خنگ بود ، این یک جهش بزرگ در تاریخ هوش مصنوعی و پردازش زبان طبیعی بود. با تأسیس پایگاه Chatterbots ، ربات های مختلف با فناوری جدید و بهتر وارد بازار شدند. و اکنون ما آنها را در همه جا داریم. همانطور که گفته شد ، بخشی از پاسخ های حوا از ELIZA گرفته شده است. بنابراین این بدان معناست که حتی حوا نیز تا حدی همراه با برخی از ایده های شخصی من از نگرش الیزا برخوردار خواهد بود. نکته مهم دیگر پاسخ ها است. دریافت پاسخ های یکسان در هر بار پرسیدن یک سوال ، واقعاً خسته کننده خواهد بود. بنابراین بسیاری از پاسخ ها برای یک کلمه کلیدی یکسان ذخیره می شوند. ایو به طور تصادفی انتخاب می کند که کدام فایل را پخش کند ، همچنین مطمئن شود که همان فایل را تکرار نمی کند. این همه چیز است ، نان و کره ساده ، اما برنامه ریزی هوشمندانه برای صداهای پاسخگو مهم است ، به طوری که این توهم را به بینندگان می دهد که گویی او واقعاً به سوالات ما پاسخ می دهد. بنابراین این یک معرفی کوتاه از عملکرد حوا بود. در مرحله بعد ما این را در جزئیات و برنامه نویسی دریافت می کنیم.
مرحله 5: جستجوی کلمه کلیدی
در آخرین مرحله ، من در مورد فناوری تطبیق الگوهای حوا و همچنین شکل اولیه پردازش زبان طبیعی اشاره کردم. بنابراین چیست و چگونه کار می کند؟ این اصلی ترین چیزی است که ما در این مرحله به آن خواهیم پرداخت. پس فکرش را بکنید ، کسی نام شما را می پرسد و شما باید بگویید نام آن چیست. از چند جهت می توانیم یک سوال را مطرح کنیم؟ ممکن است معلم شما بپرسد "لطفاً نام خود را به من بگویید؟" ممکن است یکی از اقوام بپرسد "اسمت چیست؟" برادر شما ممکن است بگوید: "سلام ، من فقط نام شما را فراموش کردم. آیا فقط یکبار دیگر آن را می گویید؟" بنابراین این بدان معناست که یک سوال را می توان از چند طریق مطرح کرد. با این حال ما باید همان پاسخ را بدهیم ، نام خود. بنابراین این بدان معناست که ما باید در همه جملات چیزی مشترک پیدا کنیم. واضح است که کلمه "نام شما" در همه جملات وجود دارد. بنابراین این نکته ماست. برای همه س questionsالات مربوط به نام ، باید عبارت "your name" را جستجو کنیم. با پیروی از این الگوی اساسی می توان پاسخ مربوط به همه رشته های ورودی را پیش بینی کرد. فرض کنید شخصی گفت: "من نام شما را در لیست انتظار پیدا کردم. انتظار داشتم شما در صندلی های رزرو شده باشید.". حالا چون "نام شما" در این رشته وجود دارد ، حوا ، بی گناه بودن ، نام خود را به آن شخص می گوید … احمقانه درسته؟ این یکی از معایب بزرگ این الگوریتم اساسی است. به هر حال ، این موارد نادر خواهد بود. در غیر این صورت الگوریتم بسیار مثر است. اکنون که در مورد فناوری تطبیق الگوها اشاره کردم ، وقت آن است که فکر کنیم این رشته ورودی از جایی که ما رشته را جستجو می کنیم از کجا می آید. خوب ، این رشته در واقع صدای ما است که توسط Google Voice Recognition به متن تبدیل شده است. برنامه مورد استفاده در اینجا صدای ما را به متن تبدیل می کند و سپس آن را از طریق بلوتوث به آردوینو ارسال می کند. من از این برنامه استفاده کردم زیرا ساده ترین و بهترین در نوع خود است. نام AMR Voice است و به راحتی در Google play یافت می شود.
مرحله ششم: فرمول بندی پاسخ ها
اکنون که سوالات را تشخیص داده ایم ، گام بعدی باید یافتن پاسخ ها باشد. بخش جالب و مهمی می آید … ما باید پاسخ های مناسب برای پاسخگویی به هر س findال را بیابیم. و در اینجا عملکرد دیگری از ELIZA گنجانده شده است. Wizembaum برای تعدادی از کلمات کلیدی پاسخ هایی ارائه داد. یک مثال از کلمه کلیدی "شما" است. هر زمان که مشخص شد خروجی برنامه "ما در مورد شما بحث می کردیم - نه من". از این رو پاسخ به گونه ای ساخته شده است که مناسب تمام جملات حاوی "شما" باشد. بعلاوه الیزا هر بار پاسخ متفاوتی می داد. برای هر پاسخ یک نوع آدرس عددی وجود داشت که هر بار که یک پاسخ فرمول بندی می شد ، این مقدار افزایش می یافت (1 اضافه می شد). فرض کنید مانند مثال بالا ، اگر آدرس پاسخ 1 بود ، آدرس به 2 تغییر کرد و بنابراین فایل 2 بعدی پخش شد. اما ما این الگوریتم افزایش را دنبال نمی کنیم. مشاهده می کنید که پس از استفاده مداوم از نرم افزار ، پاسخ ها قابل پیش بینی بودند. شما فهمیدید که کدام پاسخ بعدی باید داده شود. بنابراین برای این منظور ما آدرس های تصادفی برای هر کلمه کلیدی تولید می کنیم. به طور کلی در هر دو مورد یکسان است ، فقط با این تفاوت که ما نمی توانیم پیش بینی کنیم که ربات بعدی برای کلمه کلیدی مشابه چه خواهد گفت.
مرحله 7: اظهارات ممنوع و موارد دیگر
ممکن است مواردی در مکالمه شما وجود داشته باشد که ربات چیزی را بگوید که نمی خواهید بشنوید. بنابراین در اینجا نیاز به افزودن جملات ممنوعه مطرح می شود. جملات ممنوع مجموعه ای از آدرس هایی است که از پخش آنها جلوگیری می شود. آدرس صوتی به عنوان یک دستور ممنوع در صورت درخواست کاربر مشخص می شود. بعلاوه این آدرس باید در EEPROM آردوینو ذخیره شود تا حوا فراموش نکند که حتی پس از خاموش بودن آن نیز یک دستور ممنوع است. اساساً آنچه برنامه انجام می دهد بررسی هر آدرسی است که باید پخش شود. اگر آدرس یکی از آدرسهای ممنوعه است ، پس از آن یا افزایش می یابد یا کاهش می یابد. بعلاوه ممکن است نمونه ای وجود داشته باشد که بخواهید به ربات اجازه دهید یک کلمه قبلاً ممنوع را بگوید. در این صورت باید به حوا بگویید که او می تواند آخرین کلمه ممنوعه را بگوید. کلمه ای که آخرین بار ممنوع شده بود ، اکنون قابل پخش است. برای اینکه همه عبارات ممنوعه قابل پخش باشند ، باید یک کلید تنظیم مجدد را وصل کنیم. اگر همه جملات ممنوعه را فشار دهید قابل پخش خواهد بود. سپس نکته مهم دیگر این است که مطمئن شوید حوا پاسخ ها را تکرار نمی کند. این نوعی تخریب اعداد تصادفی است. همان اعداد تصادفی به احتمال زیاد در یک سری تولید می شوند. این امر باعث می شود ربات ما بارها و بارها یک جواب را بگوید. برای این منظور ما باید یک تابع جزئی دیگر را که مانع از تکرار جملات می شود ، قرار دهیم. برای این کار ، ما باید آدرس آخرین عبارت را در حافظه ذخیره کنیم و بررسی کنیم که آیا همان عبارت فعلی است یا خیر. اگر چنین است ، مقدار آدرس افزایش یا کاهش می یابد ، دقیقاً به همان ترتیب در مورد دستورات ممنوع.
مرحله 8: نوشتن در کد
ما از دستور indexOf برای جستجوی کلمه کلیدی استفاده می کنیم. فرمان یک کاراکتر یا رشته را در یک رشته دیگر قرار می دهد. در صورت یافتن ، فهرست آن رشته را باز می گرداند در صورتی که -1 پیدا نمی شود. بنابراین در برنامه ما باید آن را به صورت زیر بنویسیم: if (voice.indexOf ("your name")> -1) {// اگر شاخص بزرگتر از -1 // باشد به این معنی که رشته پیدا شده است} اکنون اینکه ما رشته را در حافظه ذخیره کرده ایم و کلمه کلیدی خود را در داخل آن پیدا کرده ایم ، اکنون باید به پاسخ ها رسیدگی کنیم. همانطور که گفته شد ، اعداد تصادفی در محدوده خاصی از تعداد (آدرس فایلهای صوتی) تولید می شوند. در اینجا دستور random () می آید. در زیر نحو است: تصادفی (حداقل ، حداکثر) ؛ // تعداد تصادفی در محدوده min و max ایجاد می شود. ما حداقل تعداد و حداکثر تعداد هر محدوده را تعریف می کنیم و با استفاده از این کد ما تا حدودی شبیه به این است: 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 (هرگز ، حافظه) ؛}} بنابراین این تمام است ، ماژول Wtv020sd16p با استفاده از دستور module.playVoice () و شماره فایل پیشنهادی پخش می شود. عملکرد ماژول Wtv020 بعداً مورد بحث قرار می گیرد.
مرحله 9: وارد کردن احساسات
تا کنون ربات ما قادر است آنچه را که می گوییم تشخیص دهد ، در حافظه ذخیره کند و پاسخ مناسبی برای سوالات پیدا کند. اکنون این س toال مطرح می شود که احساسات را وارد کنید. مطمئناً همه از یک چهره زنده و فقط یک برنامه احمقانه کوچک برای پاسخ به س likeالات خوششان می آید. از LCD 16x2 در پروژه استفاده شده است. برای چاپ چشم ها به اندازه کافی خوب است. ما باید از تابع کاراکتر سفارشی برای ایجاد چشم استفاده کنیم. کاراکتر سفارشی ما را قادر می سازد تا با تعریف پیکسل ها کاراکترهای جدیدی ایجاد کنیم. کمی بعداً به جزئیات آن خواهیم پرداخت. در ابتدا لازم است به خاطر داشته باشید که تنها 8 کاراکتر سفارشی توسط آردوینو پشتیبانی می شوند. بنابراین ما باید احساسات را فقط با 8 کاراکتر مدیریت کنیم. هر کاراکتر باید در یک جعبه خاص چاپ شود و 16 ستون و 2 ردیف وجود دارد که در مجموع 32 جعبه ایجاد می کند.
می توانید اطلاعات خوبی در مورد شخصیت های سفارشی در آردوینو به صورت آنلاین پیدا کنید. همچنین می توانید از این لینک دیدن کنید:
[Custom Characters Arduino] ساختار بایت کاراکتر سفارشی تا حدودی به این شکل است:
ظاهر عادی: جعبه سمت چپ به بنابراین به این معنی است که ما برای پر کردن یک چشم کامل به 4 جعبه نیاز داریم. دو ردیف در سمت چپ و دو در سمت راست که در مجموع چهار جعبه برای یک چشم ایجاد می کند. بایت جعبه چپ باید دو ردیف در سمت چپ را پوشش دهد و کادر راست باید ردیف های راست را پوشش دهد. بنابراین این یک چشم کامل از حوا را تشکیل می دهد. و در حال تکرار همان برای چشم دوم ، ما به حالت خنثی حوا دست می یابیم. در حال حاضر مهم است که به یاد داشته باشید که ما از یکی از هشت کاراکتر سفارشی موجود ، یکی استفاده کرده ایم. و در کل پنج احساس وجود دارد: Glee ، Sad ، Squint ، Normal و Blink. با توجه به باقی ماندن هفت کاراکتر سفارشی ، ما باید طوری تنظیم کنیم که با همه عبارات متناسب باشد. برای ایجاد فضا از 2 جعبه برای هر چشم استفاده می کنیم. جای تعجب نیست که اندازه کمی کوچک باشد ، اما این مورد توسط چشم انسان نادیده گرفته می شود. فقط مطمئن شوید که برخی از تاخیرها را بین عملکردهای LCD اضافه کنید ، در غیر این صورت آردوینو ناپایدار می شود.
مرحله 10: ایجاد اتصالات
ماژول LCD: پین ها را همانطور که در اینجا ذکر شده است وصل کنید: RS: حفاری پین 12RW: Gnd فعال کردن: 7d4: پین حفاری 8 d5: حفاری پین 9 d6: حفاری پین 10 d7: حفاری پین 13A (آند) به 5vK (کاتد) به gnd ماژول HC 05: این اتصالات را دنبال کنید: پین HC 05 TX به پین Arduino RX پین HC 05 RX به پین Arduino TX پین دولتی به پین حفاری Arduino 11 ارتباطات با کمک پین های TX و RX انجام می شود. پین حالت مورد نیاز است تا بررسی کند که آیا از طریق HC 05 وصل است یا خالی است. پین 1 ماژول WTV 020 SD 16p: پین Reset ، آن را به حفاری پین 2pin7 وصل کنید: پین ساعت ، آن را برای حفاری پین 3pin10 وصل کنید: پین داده ، اتصال برای حفاری پین 4pin15: پین مشغول ، به حفاری پین 5pin2 متصل شوید: این پین را از طریق صدا به تقویت کننده وصل کنید و همچنین به جک صوتی زن. pin4 باید به بلندگو+pin5 متصل شود تا به بلندگو متصل شود-اتصال پین 8 برای gnd و ارائه منبع تغذیه 3.3 ولت در پین 16.
تقویت کننده به پخش بلندگوی داخلی Eve کمک می کند ، در حالی که جک صدا باید به تقویت کننده خارجی و بلندگوهای بزرگتر متصل شود.
مرحله 11: ماژول WTV020SD16p (اختیاری)
توجه: این مرحله یک مرحله اختیاری است. این برنامه به نحوه کار و شرح ماژول WTV 020 SD 16p می پردازد.
در این پیوند می توانید نسخه ی نمایشی ماژول صدا را مشاهده کنید:
[پخش ویدئو]
حالت گفتاری ربات توسط ماژول WTV 020 SD انجام می شود. این ماژول برای پخش فایل های صوتی برای ربات استفاده می شود. وقتی س questionالی پرسیده می شود ، آردوینو باعث می شود که ماژول فایل صوتی مربوطه را در کارت SD پخش کند. چهار خط داده سریال در ماژول برای ارتباط با آردوینو ، تنظیم مجدد ، ساعت ، داده ها و پین های مشغول وجود دارد و ما از دستور.playVoice () برای پخش فایل مورد نیاز استفاده می کنیم. به عنوان مثال: module.playVoice (9): // پخش فایل 9 ذخیره شده بر روی کارت SD به یاد داشته باشید که نام فایل ها باید به صورت اعشاری (0001 ، 0002…) باشد. و اینکه فایلها یا باید در قالب AD4 یا WAV باشند. علاوه بر این ، این ماژول فقط روی کارت micro SD 1 گیگابایتی کار می کند. برخی از ماژول ها حتی روی کارت های 2 گیگابایتی کار می کنند و کارت می تواند حداکثر 504 فایل صوتی را در خود جای دهد. بنابراین می توانید تعداد مناسبی از فایل های صوتی را برای پخش تعداد مناسبی از سوالات قرار دهید.
شما حتی می توانید فایل های صوتی AD4 خود را بسازید. اولاً ، شما باید دو نرم افزار ، یک نرم افزار ویرایش صدا و یک نرم افزار به نام 4D SOMO TOOL داشته باشید که فایل ها را به فرمت AD4 تبدیل می کند. ثانیا ، شما باید Robot Voices را آماده کنید. شما می توانید متن را به گفتار تبدیل کنید یا حتی صدای خود را ضبط کرده و صدای Robot را ایجاد کنید. هر دوی اینها را می توان در نرم افزار ویرایش صدا انجام داد. اما مطمئناً اگر روبات ها با صدای انسان صحبت کنند ، ظاهر خوبی ندارند. بنابراین بهتر است که متن را به گفتار تبدیل کنید. موتورهای مختلفی مانند Microsoft Anna و Microsoft Sam your Computer وجود دارد که به انجام این کار کمک می کند. مال من بر اساس Microsoft Eva است. صداهای آن تا حد زیادی با Cortana مطابقت دارد. پس از آماده سازی فایل های صوتی ، باید آن را در 32000 هرتز و در قالب WAV ذخیره کنید. این به این دلیل است که ماژول می تواند فایل های صوتی را تا 32000 هرتز پخش کند. سپس از 4D SOMO TOOL برای تبدیل فایل ها به فرمت AD4 استفاده کنید. برای انجام این کار ، فقط SOMO TOOL را باز کنید ، فایل ها را انتخاب کنید و روی AD4 Encode کلیک کنید و فایل های صوتی شما آماده هستند. می توانید تصویر بالا را برای مرجع بررسی کنید. اگر می خواهید جزئیات بیشتری در ایجاد صدای رباتیک داشته باشید ، می توانید به اینجا بروید: [ساخت صدای روباتیک]
مرحله 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 Pro Mini را به UNO وصل کنید. برنامه Arduino ، نرم افزار تشخیص صدا و کتابخانه های ارائه شده در پایین را بارگیری کنید. این برنامه هنوز در حال توسعه است. بنابراین اگر مشکلی در مورد آن دارید ، با خیال راحت بپرسید. سپس کابل را به کامپیوتر وصل کنید. برد را به عنوان Arduino Pro Mini انتخاب کرده و پورت COM مناسب را انتخاب کنید. سپس دکمه بارگذاری را فشار دهید و ببینید برنامه در Pro Mini شما بارگذاری می شود.
سپس نرم افزار تشخیص صدا و فایل های صوتی را بارگیری کنید.
مرحله 13: آماده سازی بدن
من یک جعبه کوچک نخ دندان پیدا کردم و دیدم که برای بدن مناسب است. می توانید از هر جعبه ای که در کارگاه خود پیدا کرده اید استفاده کنید ، یا می توانید از مقوا تهیه کنید. فقط یک قطعه مستطیلی کوچک برای اتصال ماژول LCD برش دهید. در بالا ، من یک سوراخ کوچک برای اتصال صدا و در کناره ها برای اتصال کلیدها و اتصال صدا برش دادم. دو درب بطری را در کنار جعبه برای چرخ ها وصل کردم. فقط مطمئن شوید که جعبه دارای فضای کافی برای قرار دادن مدار در داخل آن باشد. یک سوئیچ را به بدنه و همچنین مدار و سپس صدا را در بالای جعبه وصل کنید. سپس فقط مدار را داخل آن قرار دهید تا ربات شما کامل شود.
مرحله 14: خوب انجام شد
اکنون شما پروژه ربات کوچک زیبا خود را به پایان رسانده اید که می تواند با شما صحبت کند و شما را خوشحال کند. وقتی پروژه شما به پایان رسیده و به طور کامل کار می کند ، این شادترین نقطه DIYer است. اگر در یک تلاش موفق نشدید ، نگران نباشید ، باید سخت و سخت تلاش کنید تا تک تک ربات خود را بفهمید. و این جایی است که DIYers به این جهان می آیند. اما این پایان پروژه نیست. حوا همیشه به میزان بیشتری توسعه خواهد یافت ، چه توسط من و چه توسط افرادی مانند شما. من دوست دارم آنچه را که با دیدن این دستورالعمل ساخته اید بشنوم. با احترام ، RS3655
توصیه شده:
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
CovBot - یک Chatbot مبتنی بر WhatsApp برای اطلاعات COVID 19 و بیشتر: 7 مرحله
CovBot - یک Chatbot مبتنی بر WhatsApp برای COVID 19 اطلاعات و بیشتر: CoVbot یک چت بات ساده و مبتنی بر WhatsApp است. ویژگی اصلی ربات این است: می تواند آخرین وضعیت COVID-19 را در کشور انتخابی به روشی ساده و بصری به شما ارائه دهد. علاوه بر این ، ربات می تواند فعالیتهای سرگرم کننده ای را برای انجام AT H پیشنهاد کند
نمایش اسلاید تصاویر تعطیلات خود را با لمس سحر و جادو!: 9 مرحله (همراه با تصاویر)
نمایش اسلاید تصاویر خود را با لمس جادو! برای مطابقت با پرچم و موضوع کشوری که من از آن دیدن می کنم (در این مورد ، سیسیل). تی
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
همراه Arduino Desktop: 3 مرحله (همراه با تصاویر)
همراه آردوینو رومیزی: این ایده ایده ای بود که من هنگام تحریک در مشق شب ، مسائل رایانه ای یا بازی به سراغم آمد. قرار است این همراه به & quot؛ خشمگین & quot؛ شما واکنش نشان دهد. رفتار و یا شما را از رفتار خود آگاه کند یا آرامش دهد. آنچه شما برای