תוכן עניינים:

איב, צ'אטבוט הארדואינו: 14 שלבים (עם תמונות)
איב, צ'אטבוט הארדואינו: 14 שלבים (עם תמונות)

וִידֵאוֹ: איב, צ'אטבוט הארדואינו: 14 שלבים (עם תמונות)

וִידֵאוֹ: איב, צ'אטבוט הארדואינו: 14 שלבים (עם תמונות)
וִידֵאוֹ: איך לבנות בוט פייסבוק שעובד תוך 30 דקות בדיוק? 2024, אוֹקְטוֹבֶּר
Anonim
Image
Image
איב, צ'אטבוט הארדואינו
איב, צ'אטבוט הארדואינו
איב, צ'אטבוט הארדואינו
איב, צ'אטבוט הארדואינו

שלום חברים, האם היו מקרים שבאמת רציתם לשתף מישהו ברגשותיכם ואף אחד לא היה אמין? בעולם העמוס של היום, זהו מקרה נפוץ. ובכן, צ'אט בוט יכול לעזור כאן כדי לגרום לך להרגיש טוב יותר. וזה מוביל להצגת Eve. Eve הוא צ'ט בוט קטן וחמוד. ובכן כפי שכולם יודעים, צ'אטבוט או צ'ט בוט הם תוכנת מחשב או מכשיר המנהל שיחה עם בני אדם על בסיס שיטות טקסטואליות או שמיעתיות. הקולות האוטומטיים שאתה שומע בשיחת שירות לקוחות או בקו בנק הוא דוגמה לצ'אט בוט. איתה תוכל לשתף בחוויותיך, ברגשותיך ובעיקר להתווכח על דברים שונים; היא מנוסה בכך. מכיוון שזו הפונקציה החשובה ביותר של צ'אט בוט, גרמו לאדם להרגיש מאושר. דוגמה מוקדמת לעיבוד שפות טבעיות (NLU) ובינה מלאכותית, איב מסוגלת לענות על כל שאלה שאתה שואל אותה. זה לא שהיא יכולה לענות רק על מספר שאלות ספציפי. היא יכולה לשיר, לספר לך בדיחות, סיפורים ולעשות כל דבר שגורם לך להרגיש טוב. אם היא אומרת משהו שאתה לא רוצה לשמוע, פשוט ספר לה, אל תגיד את זה שוב, והיא תזכור את זה. היא אפילו יודעת שאסור לחזור על אותן תשובות וצ'אטים, כדי שהשיחה לא תהפוך למשעממת. על סמך רכיבים פשוטים וזולים ותכנות בסיסי, היא יכולה להתנהג חכמה במידה רבה מאוד. בנוסף, עיני ה- LCD שיש לה מראות כיצד היא מרגישה כשאתה אומר משהו. אז בעצם בהנחיה הזו, נתחיל מההגדרה של צ'ט בוט, נסתכל על העיצוב, כמה תיאוריות המבוססות על כך שחווה פועלת, הייצור ולבסוף חלק מתכנת נראה הרבה? אל דאגה, זה יהיה די מעניין במסע. אתה יכול לצפות בהדגמה של הרובוט למעלה, או בקישור הזה: [הפעל סרטון]

שלב 1: הגדרה של צ'אט בוט

הגדרה של צ'אט בוט
הגדרה של צ'אט בוט
הגדרה של צ'אט בוט
הגדרה של צ'אט בוט
הגדרה של צ'אט בוט
הגדרה של צ'אט בוט

כפי שצוין לעיל, צ'אט בוט הוא תוכנית המנהלת שיחה עם בני אדם. הם כל כך נפוצים בימינו עד שכמעט ואין אחד שלא ידוע על כך. החל מהעוזרים הווירטואליים, סירי ו- Google Assistant, ישנם Mitsuku ו- Evie שאיתם תוכל לשתף את רגשותיך. כפי שצוין לעיל, צ'אט בוטים מבוססים על שיטה טקסטואלית או שמיעתית ולכן ניתן לחלק אותם לשניים. בשיטה הטקסטואלית השיחות הן בצורה של טקסט כתוב בדיוק כמו WhatsApp. ואילו בשיטת השמיעה השיחות מתבצעות בעל פה כמו עם בן אדם אמיתי. אני מניח שזה יותר מרגש לשוחח עם מישהו על ידי דיבור איתו מילולית במקום לשלוח לו הודעות טקסט. אין ספק שאפליקציות העברת הודעות טקסט מבוססות על דרישות האנשים, אך אני מרגיש שצ'אט בדיבור הוא הדבר הטוב ביותר להיפטר מההפרעות הרגשיות שלך ולגרום לך להרגיש טוב יותר. אז זו הסיבה העיקרית שעיצבתי את איב להיות צ'אט בוט שמיעתי.

שלב 2: מוצא של חוה

מוצאה של איב
מוצאה של איב

ובכן חוה רק עלתה במוחי יום אחד. זה קרה כשראיתי ילד מסתובב לבד בבית הספר, בעוד האחרים משחקים במוחם מלא שמחה. הפעם חשבתי, על חבר, שאינו מפלה אף אחד ואינו גורם לאף אחד להרגיש פגוע, כזה שתוכל לחלוק איתו את רגשותיך ולשמוח כל הזמן. ואז עלה במוחי הבזק, המבנה הקטן והחמוד של איב שהתחלתי לעבוד עליו. איב אכזבה אותי כמאה פעמים. אני מניח שזו הייתה הפעם ה -101 שהיא עבדה וגרמה לי להרגיש ממש מאושרת, אז זה היה מקור איב. רציתי שהיא תהיה אינטליגנטית אך פשוטה ככל האפשר, כך שכל אחד יוכל לגרום לה בקלות. אין ספק שהיא לא חכמה לחלוטין ולפעמים אומרת תשובות טיפשיות, היא יכולה להתנהג כידידה. ועכשיו, מספיק סיפורים, נתחיל לבנות את איב.

שלב 3: איסוף הרכיבים והציוד:

איסוף הרכיבים והציוד
איסוף הרכיבים והציוד
איסוף הרכיבים והציוד
איסוף הרכיבים והציוד
איסוף הרכיבים והציוד
איסוף הרכיבים והציוד

להלן המרכיבים הנאספים: Arduino Pro Mini (או Arduino Nano) Wtv-020-SD-16p מודול צליל HC-05 מודול Bluetooth 16x2 מודול LCD LM7805 הרגולטור ICAn מגבר מגבר (השתמשתי במעגל PAM8403) רמקול 8 אוהם נקבה סוללת שמע jacka 9v וטלפון אנדרואיד אז אלו הרכיבים הנדרשים. דבר חשוב נוסף, העלות. איב עלתה לי בסביבות 3000 רופי. העלות עשויה להיות שונה במדינה שלך, אך בהודו זה בערך התעריף. תיאור קטן של החלקים: ה- Arduino Pro mini הוא ה- MCU העיקרי ברובוט שלנו. השתמשתי בו בגלל גודלו הקטן, הפשטות והביצועים המעולים. הוא עומד בכל הדרישות ברובוט שלנו. פרט לפונקציית הזיהוי הקולי שמבוצעת על ידי האנדרואיד (נדון בהמשך), כל פונקציונליות אחרת החל ממציאת מילת המפתח והיווצרות הפלט נעשית ב- Pro Mini עצמה. אל תדאג לגבי המונחים שהוזכרו לעיל אם אינך מבין זאת, כולם נדונים בחלק המאוחר יותר. מודול wtv020sd 16p משמש להשמעת קבצי שמע, hc 05 Bluetooth לתקשורת עם אנדרואיד ו- LCD לתצוגה. הרגשות. אנו זקוקים לשקע האודיו הנשי לצורך חיבור הרובוט למגבר חיצוני. הארדואינו משמש כבקר הראשי כאן. הוא מקבל נתוני בלוטות 'באמצעות מודול הבלוטות' HC 05 ומנגן את הקובץ באמצעות מודול הקול WTV-020-SD-16p. הרגשות מוצגים במודול ה- LCD ובסוללה של 9V לעוצמה. איב מזהה נאומים באמצעות זיהוי Google Voice של מכשיר האנדרואיד. מאוחר יותר נדון בו כראוי בשלב המתאים. חדשות רעות על ה- Arduino Pro Mini: IT פרש מהשוק. זה אומר שזה הופסק באופן רשמי מיצור Arduino. אבל אתה עדיין יכול למצוא אותו באתרים רבים, כולל Ebay. יצרני צד שלישי רבים עדיין עשויים לייצר ולמכור את הלוח. אל תדאג אם לא הצלחת למצוא אחד, אתה יכול להשתמש ב- Arduino Nano. זה לא ישנה את הביצועים וגם את הגודל.

שלב 4: תיאוריה חלק 1: היסטוריה ומבוא

תיאוריה חלק 1: היסטוריה ומבוא
תיאוריה חלק 1: היסטוריה ומבוא
תיאוריה חלק 1: היסטוריה ומבוא
תיאוריה חלק 1: היסטוריה ומבוא

חוה מבוססת על צורה מוקדמת של עיבוד שפות טבעיות, טכנולוגיית "התאמת התבניות". היא פועלת באופן הבא שכאשר מתקבלת מחרוזת, היא מחפשת מילה או ביטוי מוגדרים מראש במחרוזת זו. נניח בשאלה "בן כמה אתה?" התוכנית מחפשת מילה "ישנה". אם הוא מצליח אז הוא מפעיל את קובץ הקול המתאים באמצעות המודול wtv020sd. אם הוא נכשל אז הוא מחפש את מילת המפתח הבאה שהוגדרה מראש. כמו זה אנחנו צריכים לבנות אוצר מילים של מילים מוגדרות מראש. נראה קשוח, לא? זה כאילו אנחנו צריכים לבנות אוצר מילים של כל המילים באנגלית ויש בערך 230 אלף מילים בסך הכל בשפה האנגלית. ובכן העובדה היא שעלינו להוסיף רק כמה מילים בסיסיות הנפוצות ביותר בתקשורת שלנו. עדיין נראה קשוח? אל דאגה, העבודה כבר נעשתה על ידי ג'וזף ויזבאום. חלק מתגובותיה של איב ומילות המפתח שהוגדרו מראש שולבו מתוכנית הצ'אטבוט הראשונה בשם אליזה, שפותחה על ידי ג'וזף ויזבבאום (בתמונה למעלה). אליזה תוכננה להיות מטפלת רוג'ריאנית. לא מונח מדעי במיוחד, זה אומר שהיא נהגה לייעץ לאנשים, לגרום להם להבין את עצמם טוב יותר ולגרום להם לחשוב חיובי יותר. נראה ממש טוב נכון? ואליזה הצליחה מאוד לבצע את תפקידה. הגישה הסקרנית והסקפטית שלה הייתה אהובה על אנשים. אפילו ויזבבאום הופתע מהחשיבות שאנשים העניקים לאליזה. נראה היה שהם שכחו שהם מדברים עם מחשב, וחשבו על גברת יפה היושבת בתוך המחשב ומשוחחת איתם. אבל אליזה לא הייתה כל כך חכמה; זה התממש בקרוב. עם חלוף הזמן, אנשים התחילו להשתעמם מהתקשורת המוגבלת שלה והיא זכתה לכינוי "מטומטמת". אין לתהות עד כמה היא טיפשה, זו הייתה קפיצה גדולה בהיסטוריה של בינה מלאכותית ועיבוד שפות טבעיות. לאחר שהקימו את בסיס צ'אטרבוטס, יצאו לשוק בוטים שונים עם טכנולוגיה חדשה וטובה יותר. ועכשיו יש לנו אותם בכל מקום. כאמור, חלק מתגובותיה של חוה נגזרו מ- ELIZA. אז זה אומר שאפילו חווה תהיה בעלת הגישה של אליזה במידה מסוימת יחד עם כמה מהרעיונות שלי. דבר חשוב נוסף הוא התשובות. זה אמור להיות ממש משעמם לקבל את אותן התשובות בכל פעם שאתה שואל את אותה שאלה. לכן תשובות רבות נשמרות לאותה מילת מפתח. איב בוחרת באקראי איזה קובץ להפעיל, וגם מוודאת שהיא לא תחזור על אותו הקובץ. זהו, לחם וחמאה פשוטים, אבל חשוב לתכנת בחוכמה את הקולות המגיבים, כך שזה ייתן אשליה לצופים כאילו היא באמת עונה על שאלותינו. אז זו הייתה מבוא קצר לתפקודו של חוה. בשלב הבא נפרט זאת ותכנותו.

שלב 5: חיפוש מילת המפתח

חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח
חיפוש אחר מילת המפתח

בשלב האחרון הזכרתי לגבי טכנולוגיית התאמת התבניות של איב וגם את הצורה המוקדמת של עיבוד שפות טבעיות. אז מה זה ואיך זה עובד? זה הדבר העיקרי בו נדון בשלב זה. אז תחשוב על זה, מישהו שואל את שמך ואתה צריך לספר מה זה. בכמה דרכים נוכל לשאול את אותה שאלה? המורה שלך עשוי לשאול "האם תוכל בבקשה לומר לי את שמך?" קרוב משפחה עשוי לשאול, "איך קוראים לך?" אחיך עשוי לומר, "היי, פשוט שכחתי את שמך. האם תגיד זאת רק עוד פעם אחת?" אז זה אומר שאפשר לשאול את אותה שאלה בכמה אופנים. ובכל זאת עלינו לתת את אותה התשובה, את שמנו. אז זה אומר שאנחנו צריכים למצוא משהו נפוץ בכל המשפטים. ניתן לראות בבירור כי המילה "שמך" קיימת בכל המשפטים. אז זה הרמז שלנו. לכל השאלות ששואלות את השם, עלינו לחפש את הביטוי "שמך". על ידי ביצוע תבנית בסיסית זו אנו יכולים לחזות את התשובה המתאימה לכל מחרוזות הקלט.חסרון: חשוב גם לזכור שאלגוריתם זה לא תמיד יהיה מדויק. נניח שמישהו יגיד, "מצאתי את שמך ברשימת ההמתנה. ציפיתי שתהיה במושבים השמורים.". כעת מכיוון ש"שם שלך "קיים במחרוזת זו, איב, בהיותה חפה מפשע תגיד את שמה לאדם … טיפשי נכון? זהו אחד מהחסרונות הגדולים של האלגוריתם הבסיסי הזה. בכל מקרה מדובר במקרים נדירים. אחרת האלגוריתם יעיל מאוד. כעת, לאחר שהזכרתי אודות טכנולוגיית התאמת התבניות, הגיע הזמן לחשוב מהיכן נובע מחרוזת הקלט הזו שממנה אנו מחפשים את המחרוזת. ובכן מחרוזת זו היא למעשה הקול שלנו שהומר לטקסט באמצעות זיהוי קולי של Google. האפליקציה המשמשת כאן ממירה את הקול שלנו לטקסט ולאחר מכן שולחת אותו לארדואינו באמצעות ה- Bluetooth. השתמשתי באפליקציה מכיוון שהיא הפשוטה והטובה מסוגה. השם הוא AMR Voice, וניתן למצוא אותו בקלות ב- Google Play.

שלב 6: גיבוש התשובות

גיבוש התשובות
גיבוש התשובות

כעת, לאחר שזיהינו את השאלות, השלב הבא צריך להיות למצוא את התשובות. מגיע החלק המעניין והחשוב … עלינו למצוא תשובות מתאימות שיענו על כל שאלה. והנה מגיעה פונקציה נוספת המשולבת מ- ELIZA. Wizembaum פיתח כמה תשובות למספר מילות מפתח ספציפי. דוגמה לכך היא מילת המפתח "אתה". בכל פעם שהתגלה פלט התוכנית "דיברנו עליך - לא עלי". מכאן שהתשובה נעשתה בצורה כזו שתתאים לכל המשפטים המכילים "אתה". אליזה נתנה תשובה אחרת בכל פעם. לכל תשובה הייתה סוג של כתובת מספרית. זה הוגדל (נוסף על ידי 1) בכל פעם שגובשה תשובה. נניח כמו בדוגמה שלמעלה, אם כתובת התשובה הייתה 1, הכתובת שונתה ל -2 והקובץ מכאן הושמע לאחר מכן. אך לא נעקוב אחר אלגוריתם ההגדלה הזה. אתה רואה לאחר שימוש מתמשך בתוכנה, התשובות הפכו לחיזוי. הבנת איזו תשובה תינתן להבא. אז למטרה זו נפיק כתובות אקראיות לכל מילת מפתח. בסך הכל זה אותו דבר בשני המקרים, רק ההבדל שאנחנו לא יכולים לחזות מה הרובוט יגיד אחר כך עבור אותה מילת מפתח.

שלב 7: ההצהרות האסורות ואחרים

ההצהרות האסורות ואחרים
ההצהרות האסורות ואחרים

ייתכנו כמה מקרים בשיחה שלך כשהרובוט אומר משהו שאתה לא רוצה לשמוע. אז כאן עולה הצורך להוסיף את ההצהרות האסורות. ההצהרות האסורות הן מערך כתובות שמונע מלהשמיע אותן. כתובת קולית מאופיינת כהצהרה אסורה לבקשת המשתמש. כתובת זו תישמר ב- EEPROM של הארדואינו, כך שחווה לא תשכח שזו הצהרה אסורה גם לאחר כיבוי. בעצם מה שהתוכנית עושה זה לבדוק כל כתובת שיש לשחק. אם הכתובת היא אחת מהאסורות, אז היא מצטברת או יורדת. יתר על כן, ייתכן שיהיה מקרה שבו תרצה לאפשר לרובוט לומר מילה שהייתה אסורה בעבר. במקרה כזה תצטרך לומר לחווה שהיא יכולה להגיד את המילה האסורה האחרונה. כעת ניתן יהיה לשחק את המילה שהייתה אסורה לאחרונה. על מנת להפוך את כל ההצהרות האסורות לנגינות, עלינו לצרף מתג איפוס. אם תלחץ על כל ההצהרות האסורות יהפכו למשחקים. ואז דבר חשוב נוסף יהיה לוודא שחווה לא תחזור על התשובות. זהו סוג של חסרון של מספרים אקראיים. אותם מספרים אקראיים עלולים להיווצר בסדרה. זה יגרום לרובוט שלנו לומר את אותה התשובה שוב ושוב. לשם כך עלינו לכלול פונקציה מינורית נוספת המונעת חזרה על אמירות. לשם כך עלינו לאחסן את הכתובת של המשפט האחרון בזיכרון ולבדוק אם היא זהה לזו הנוכחית. אם כן, אז ערך הכתובת עולה או יורד, בדיוק באותו אופן במקרה של ההצהרות האסורות.

שלב 8: כתיבה בקוד

כותב בקוד
כותב בקוד
כותב בקוד
כותב בקוד
כותב בקוד
כותב בקוד

אנו משתמשים בפקודה indexOf כדי לחפש את מילת המפתח. הפקודה מאתרת תו או מחרוזת בתוך מחרוזת אחרת. אם נמצא הוא מחזיר את האינדקס של המחרוזת בעוד -1 מוחזר אם לא נמצא. אז בתוכנית שלנו עלינו לכתוב אותה כך: אם (voice.indexOf ("שמך")> -1) {// אם המדד גדול מ -1 // כלומר המחרוזת נמצאה} עכשיו שאחסנו את המחרוזת בזיכרון ומצאנו בתוכה גם את מילת המפתח שלנו, כעת נצטרך לטפל בתשובות. כאמור, מספרים אקראיים נוצרים בטווח מספר מסוים (כתובות של קבצי קול). כאן מגיעה הפקודה random (). להלן התחביר: אקראי (דקות, מקסימום); // המספר האקראי נוצר בטווח הדקות והמקסימום אנו מגדירים את המספר המינימלי והמספר המרבי של כל טווח, ויישום קודנו נראה כך: אם (voice.indexOf ("שמך")> - 1)) {minNo = 0; maxNo = 5; RandomNumber = random (minNo, maxNo);} כעת באה הטיפול בתשובות. בשלב האחרון אמרתי שהמספרים גדלים או יורדים על בסיס אלגוריתם. האלגוריתם הזה הוא מה שאנחנו דנים בו כעת. חלק זה חשוב מאוד במובן זה שאי אפשר פשוט להגדיל או להקטין בדיוק כרצונך. המספר המוגדל או המורחב חייב להיות בטווח. נניח שכמו במקרה לעיל, עבור מילת המפתח "שמך", יש לנו את הטווח בין 0 ל -5, והמספר האקראי שנוצר הוא 5, ובכן אם תגדיל אותו, בסופו של דבר תשמיע קובץ קולי של מילת מפתח אחרת.איך אתה חושב שזה הולך להיות? אתה שואל, "היי, אנא ספר לי את שמך.", והרובוט עונה, "אני אוהב לאכול עוגיות ומטען חשמלי." אותו דבר לגבי המספר המינימלי. אם המספר האקראי שנוצר הוא 0, אינך יכול להוריד אותו. אז מסיבה זו האלגוריתם חשוב מאוד. תחשוב על זה: אנחנו מסוגלים להגדיל או כשהמספר קטן מהמספר המרבי ולהוריד כשהוא גדול מהמספר המינימלי. כאשר המספר שנוצר שווה ל- 0 או פחות מ -5, המספר עולה. מצד שני, כאשר הוא שווה ל- 5, אנו מפחיתים אותו, כדי לוודא שהמספר נמצא בטווח שצוין. כאמור הם מאוחסנים ב- EEPROM. לשם כך, ראשית אנו מחפשים זיכרון פנוי במערך האסור. נניח שהכתובת 4 היא בחינם, ואז אנו מכניסים את מספר הקובץ בכתובת המערך החופשי וכן כותבים את אותה כתובת ב- EEPROM.for (int i; i if (לעולם == 0) {EEPROM.write (never , memory);}} אז זהו, המודול של Wtv020sd16p יופעל באמצעות הפקודה module.playVoice () ומספר הקובץ המוצע. תפקודו של מודול Wtv020 יידון בהמשך.

שלב 9: הכנסת רגשות

הכנסת רגשות
הכנסת רגשות
הכנסת רגשות
הכנסת רגשות
הכנסת רגשות
הכנסת רגשות

עד עכשיו הרובוט שלנו מסוגל לזהות את מה שאנו אומרים, לאחסן בזיכרון ולמצוא תשובה מתאימה לשאלות. כעת נכנסת השאלה להכניס רגשות. אין ספק שכולם יאהבו פרצוף חי יחד עם איזו תוכנית טיפשית קטנה לענות על שאלות. מסך ה- 16x2 משמש בפרויקט. זה בסדר מספיק כדי להדפיס את העיניים. עלינו להשתמש בפונקציית התווים המותאמת אישית ליצירת העיניים. תו מותאם אישית מאפשר לנו ליצור תווים חדשים על ידי הגדרת הפיקסלים. נגיע לפרט עליה מעט מאוחר יותר. ראשית חשוב לזכור שרק 8 תווים מותאמים אישית נתמכים על ידי ה- Arduino. אז עלינו לנהל את הרגשות עם 8 תווים בלבד. כל תו יודפס בתיבה מסוימת, ויש 16 עמודות ו -2 שורות המהוות סך של 32 תיבות.

אתה יכול למצוא מידע טוב באינטרנט על הדמויות המותאמות אישית בארדואינו. אפשר לבקר גם בקישור הזה:

[Arduino תווים מותאמים אישית] המבנה של בייט התווים המותאם אישית ייראה בערך כך:

המראה הנורמלי: התיבה השמאלית 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, 0b01111, התיבה הימנית0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b111. אז זה אומר שנצטרך בסך הכל 4 קופסאות כדי למלא עין שלמה. שתי שורות משמאל ושתי ימין מה שהופך בסך הכל ארבע תיבות לעין אחת. בית התיבה השמאלית יכסה שתי שורות משמאל והתיבה הימנית תכסה את השורות הימניות. אז זה מהווה עין שלמה של חוה. ועכשיו חוזרים על אותו הדבר בעין השנייה, אנו מקבלים את המראה הנייטרלי של חוה. כעת חשוב לזכור כי השתמשנו באחד מתוך שמונה תווים מותאמים אישית הזמינים. ויש חמישה רגשות בסך הכל: גלי, עצוב, פזילה, רגיל ומצמוץ. משאר שבע התווים המותאמים אישית, עלינו להתאים אותם כך שיתאימו לכל הביטויים. לצורך מיצוי השטח נשתמש ב -2 קופסאות לכל עין. אין פלא שהגודל יהיה מעט קטן, אך עין האדם תתעלם מכך. רק הקפד להוסיף עיכובים בין פונקציות ה- LCD, אחרת ה- Arduino יהפוך ליציב.

שלב 10: יצירת החיבורים

יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים
יצירת החיבורים

מודול LCD: חבר את הפינים כאמור כאן: RS: dig pin pin 12RW: Gnd Enable: 7d4: dig pin 8 d5: dig pin 9 d6: dig pin 10 d7: dig pin13A (Anode) to 5vK (Cathode) to gnd: עקוב אחר החיבורים הבאים: סיכת HC 05 TX לסיכה של Arduino RX HC 05 RX לסיכה של Arduino TX סיכת State ל- pin Arduino pin 11 התקשורת נעשית בעזרת סיכות TX ו- RX. סיכת המדינה נדרשת כדי לבדוק אם דרך HC 05 מחובר או לא פעיל. סיכת מודול WTV 020 SD 16p 1: סיכת האיפוס, חבר אותה לחטאת סיכה 2pin7: סיכת השעון, חבר אותה לחבר פין 3pin10: סיכת הנתונים, חבר כדי לחפור סיכה 4pin15: הסיכה העמוסה, להתחבר אל pin pin 5pin2: חבר את הפין הזה למגבר דרך עוצמת הקול וגם אותו לשקע השמע הנשי. pin4 צריך להיות מחובר לרמקול+pin5 לחיבור לרמקול-חבר את סיכה 8 ל- gnd ומספקת ספק כוח 3.3v בסיכה ה -16.

המגבר יעזור לנגן את הרמקול הפנימי של Eve, בעוד שקע השמע הוא להתחבר למגבר חיצוני ולרמקולים גדולים יותר.

שלב 11: מודול WTV020SD16p (אופציונלי)

Image
Image
מודול WTV020SD16p (אופציונלי)
מודול WTV020SD16p (אופציונלי)
מודול WTV020SD16p (אופציונלי)
מודול WTV020SD16p (אופציונלי)

הערה: שלב זה הוא אופציונלי. הוא עוסק בעבודה ובתיאור של מודול WTV 020 SD 16p.

אתה יכול לראות את ההדגמה של מודול הסאונד בקישור הזה:

[נגן סרטון]

מצב הדיבור של הרובוט מתקיים על ידי מודול WTV 020 SD. המודול משמש להפעלת קבצי קול עבור הרובוט. כאשר נשאלת כל שאלה, הארדואינו יגרום למודול לנגן את קובץ הקול המתאים בכרטיס ה- SD. במודול ישנם ארבעה קווי נתונים סדרתיים לתקשורת עם הארדואינו, האיפוס, השעון, הנתונים והסיכות העמוסות ואנו משתמשים בפקודה.playVoice () להפעלת הקובץ הנדרש. לדוגמה: module.playVoice (9): // הפעל קובץ 9 המאוחסן בכרטיס ה- SD זכור ששמות הקבצים צריכים להיות עשרוניים (0001, 0002 …). ושהקבצים צריכים להיות בפורמט AD4 או WAV. יתר על כן, המודול עובד רק על כרטיס מיקרו SD של 1 ג'יגה -בתים. חלק מהמודולים אפילו עובדים על כרטיסי 2GB והכרטיס יכול להכיל 504 קבצי קול לכל היותר. אז אתה יכול לכלול מספר טוב של קבצי קול להפעלה למספר לא מבוטל של שאלות.

אתה יכול אפילו ליצור קבצי AD4 משלך. ראשית, עליך להיות בעל שתי תוכנות, תוכנת עריכת סאונד ותוכנה בשם 4D SOMO TOOL שתמיר את הקבצים לפורמט AD4. שנית, עליך להכין את קולות הרובוט. אתה יכול להמיר טקסט לדיבור או אפילו להקליט את הקול שלך ולהשמיע את קולות הרובוט. את שניהם ניתן לבצע בתוכנת עריכת סאונד. אבל אין ספק שרובוטים לא נראים טוב אם הם מדברים קולות אנושיים. אז עדיף להמיר טקסט לדיבור. ישנם מנועים שונים כמו Microsoft Anna ו- Microsoft Sam your Computer שיעזרו לעשות זאת. שלי מבוסס על אווה של מיקרוסופט. הקולות שלו תואמים במידה רבה את Cortana. לאחר הכנת קבצי הקול, עליך לשמור אותם ב 32000 הרץ ובפורמט WAV. הסיבה לכך היא שהמודול יכול להפעיל קבצי קול עד 32000 הרץ. לאחר מכן השתמש בכלי SOMO 4D כדי להמיר את הקבצים לתבנית AD4. לשם כך, פשוט פתח את SOMO TOOL, בחר את הקבצים ולחץ על קוד AD4 וקבצי הקול שלך מוכנים. אתה יכול לבדוק את התמונה למעלה לעיון. אם אתה רוצה פרטים נוספים ביצירת קולות רובוטיים, אתה יכול ללכת לכאן: [יצירת קולות רובוטיים]

שלב 12: חלק התוכנה

חלק התוכנה
חלק התוכנה
חלק התוכנה
חלק התוכנה
חלק התוכנה
חלק התוכנה

ב- arduino Pro mini יש בעיה קלה בתכנות. לא בעיה למעשה, רק צעד אחד נוסף. ל- Arduino Pro mini אין מתכנת מובנה כמו לוחות Arduino אחרים. אז אתה צריך לקנות אחד חיצוני או UNO ישן של ארדואינו. השלב כאן מתאר כיצד להעלות את התוכנית באמצעות UNO Arduino. פשוט תפס לוח ישן של Arduino UNO מההתרסקות והוצא את ה- Atmega 328p. לאחר מכן התחבר כפי שהוזכר להלן: 1. סיכת TX ב- UNO אל סיכת TX ב- Pro Mini 2. סיכת RX של UNO אל סיכת RX של Pro MIni3. אפס את סיכת ה- UNO לסיכת האיפוס של ה- Pro Mini4. חבר את ה- VCC ואת הקרקע של ה- Pro Mini ל- UNO. הורד את תוכנית Arduino, את תוכנת הזיהוי הקולי ואת הספריות המסופקות בתחתית. התוכנית עדיין בפיתוח. אז אם יש לך בעיה בנוגע לזה, אל תהסס לשאול ואז חבר את הכבל למחשב. בחר את הלוח כ- Arduino Pro Mini ובחר את יציאת ה- COM הנכונה. לאחר מכן לחץ על כפתור העלה וראה את התוכנית מועלית ל- Pro Mini שלך.

לאחר מכן הורד את תוכנת זיהוי הקול ואת קבצי הקול.

שלב 13: הכנת הגוף

הכנת הגוף
הכנת הגוף
הכנת הגוף
הכנת הגוף
הכנת הגוף
הכנת הגוף

מצאתי קופסת חוטים קטנה ומצאתי שהיא מושלמת לגוף. אתה יכול להשתמש בכל קופסה שאתה מוצא בסדנה שלך, או שאתה יכול להכין קרטון. פשוט גזור חתיכה מלבנית קטנה לחיבור מודול ה- LCD. בחלקו העליון, חתכתי חור קטן לחיבור עוצמת הקול, ובצדדים לחיבור המתגים ומחבר השמע. צירפתי שני פקקי בקבוקים בצידי הקופסה לגלגלים. רק וודא שבקופסה יש מספיק מקום להכניס את המעגל פנימה. חבר מתג לגוף כמו גם למעגל, ולאחר מכן את עוצמת הקול בראש הקופסה. אז פשוט הכנס את המעגל פנימה והרובוט שלך הושלם.

שלב 14: כל הכבוד

כל הכבוד!
כל הכבוד!
כל הכבוד!
כל הכבוד!

עכשיו סיימת את פרויקט הרובוט הקטן והחמוד שלך שיכול לדבר איתך ולגרום לך להרגיש מאושר. זוהי הנקודה המאושרת ביותר של עשה זאת בעצמך כאשר הפרויקט שלך מסתיים ועובד במלואו. אל תדאג אם אינך מצליח בניסיון אחד, עליך להתאמץ רבות על מנת שתבין כל חלק ורובוט שלך. וכאן מגיעים DIYers לעולם הזה, אבל זה לא סוף הפרויקט. איב תמיד תפותח במידה רבה יותר, על ידי או על ידי עשה זאת בעצמך כמוך. אשמח לשמוע מה עשיתם לראות את ההדרכה הזו. בברכה, RS3655

מוּמלָץ: