מודול זיהוי קולי
שלום, חברים יקרים. לבסוף, הספקתי להקליט שיעור על עבודה עם מודול הקול. אני רואה שאהבתם את המוצר הביתי שלי עם שליטה קולית ורבים כבר התחילו לתהות מתי ישוחרר שיעור מעשי על עבודה עם מודול השליטה הקולית.
על היתרונות של מודול זיהוי זה:
- המודול הוא אוטונומי ויכול לפעול ללא בקר בקרה חיצוני, מה שחשוב מאוד לחובבי רדיו שאינם בקיאים בתכנות.
- יחד עם דגמים אחרים, מודול זה משתווה לטובה עם הפונקציונליות, המחיר והקלות היחסית של ניהול וחיבור.
- בעל יכולת זיהוי גבוהה.
- אין צורך בסמארטפון.
אז בואו נלך! סרטון זה יכוון בעיקר למתחילים, כאלה שאינם בקיאים בתכנות וממשקים, באופן כללי, לחובבי רדיו רגילים. בסרטון אראה הכל מ-"A" ועד "Z": נתחיל בהתקנת תוכניות וחיבור ונסיים בתוצאה הקונקרטית של הפעולה האוטונומית של המודול.
נתחיל בכל זאת עם ידע תיאורטי על מנת להבין כיצד נס ההנדסה הזה בעצם עובד. קודם כל, אתה צריך לדעת כמה מאפיינים של מודול זיהוי קול זה:
צריכת זרם: לא יותר מ-40 mA, הזרם אינו קריטי, אז פשוט קחו זאת בחשבון. מתח האספקה הוא 5 V, אנו נפעיל את מודול יציאת ה-USB של המחשב במהלך התכנות, ולאחר מכן במהלך הפעולה תחליט מאיפה להפעיל אותו. דיוק זיהוי פקודות קוליות הוא 99% בתנאים אידיאליים. מודול הזיהוי הקולי גרסת V3.1 מסוגל לזכור 80 פקודות קוליות! מה שלדעתי די מספיק לכל מטרה. אבל שוב זה "אבל". אבל המודול יכול לזהות רק שבע פקודות ליחידת זמן, ואילו פקודות תלויות בך לבחור.
כלומר, אתה יכול לכתוב את כל 80 הפקודות לתוך מסד הנתונים, אבל בחר רק שבע לזיהוי, כל שבע מתוך שמונים. זה כמו במחשב: אתה יכול לכתוב 80 פקודות בכונן הקשיח, אבל לעבוד רק עם 7 פקודות ב-RAM. אם קשה לך להבין עכשיו, אז קצת מאוחר יותר בפועל, אני חושב שיתברר לך על מה אנחנו מדברים. אורך הפקודה הקולית הוא 1.5 שניות (1500ms) ערך מקסימלי. ניתן לשלוט בלוח המודולים באמצעות ממשק UART, אך ניתן לאחזר מידע מה-UART או מיציאות GPIO הממוקמות על הלוח. למען האמת, זה מה שנעשה: נסיר את האות מיציאת היציאה.
נעבור לחלק המעשי.
מה אנחנו צריכים לעבודה?
- מודול הזיהוי הקולי עצמו הוא גרסה V3 (V3.1) הגרסה לא כל כך חשובה - עקרון הפעולה זהה לכולם. המודול מגיע עם מיקרופון.
- ידני מודול, כלומר, גיליון תאריך.
- תוכנית טרמינל.
- ממיר ממשק USB-UART.
כל הקישורים לרכישה והורדה של תוכנות נמצאים מתחת לסרטון, בסוף המאמר.
זה הכל. כמו שגאגרין אמר, "בוא נלך."
הורד את המדריך והמסוף. אנו מתקינים את הטרמינל.אנו מחברים את המודול לממיר הממשק.
היזהר מאוד בעת החיבור. זה בסדר, אם אתה מבלבל TXD ו-RXD, שום דבר רע לא יקרה. אבל אם תבלבלו את הכוח פלוס עם החוט המשותף, זה יהיה אסון! כמו שקרה לי, המודול ויציאת המחשב נשרפו מיד! היזהר מאוד ואל תחזור על הטעויות שלי. אל תתעסקו, אל תמהרו, בדקו את המעגל מספר פעמים לפני הפעלתו, ורק לאחר מכן חברו ל-USB.
לאחר החיבור ל-USB, המערכת שלך תתחיל לחפש דרייברים עבור הממיר; ב-90% מהמקרים, המערכת עצמה מוצאת את הדרייבר ומתקינה אותו, אבל אם מסיבה כלשהי זה לא קורה, אז תצטרך למצוא את הדרייבר ברשת בעצמך והתקן אותו. כדי לעשות זאת, כתוב "הורדת מנהל התקן CP2102" או משהו כזה בשורת החיפוש, המודול נפוץ, יש הרבה אפשרויות של מנהל התקן.
לאחר מכן, לאחר התקנת הציוד בהצלחה, עבור אל מנהל ההתקנים והסתכל על היציאות. אנו מעוניינים במספר המוקצה של הממיר שלנו. כאשר אנו מגלים את מספר היציאה, אנו מפעילים את הטרמינל. בוא נלך להגדרות ונקבע את הערכים כמו בתמונה שלי.
אנו כותבים את הפקודה בחלון הטרמינל - "AA 02 00 0A" (מגליון הנתונים | AA | 02 | 00 | 0A |). כל הצוותים תמיד משתמשים באותיות גדולות ואותיות לטיניות.
שדה השליחה אמור לתת לך תגובה כמו: "AA 08 00 STA BR IOM IOPW AL GRP 0A" (או מגיליון הנתונים | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). אם התשובה תגיע, אז הכל בסדר, חצי מהעבודה בוצעה. אם לא, אנחנו משחקים עם ההגדרות של הגדרות מהירות ההעברה בטרמינל, זה רק אפשרי שהמודול מוגדר למהירות אחרת.
אני לא אתעכב על המשמעות של תגובת המודול הזו, אתה יכול לחפש את זה בעצמך בהוראות.והפקודה היא בקשה להגדרות המותקנות.
עכשיו אתה צריך לחבר את העומס למודול. בתור עומס אני אשתמש נוריות עם נגדים. ובכן, בעתיד, בעת שימוש אלה נוריות יוחלף בממסרי בקרת עומס עם מתגי טרנזיסטור, אני חושב שזה מובן.
תן לי להסביר את הפקודה עצמה "AA 02 00 0A" היא חבילה המורכבת מ-4 בתים, בתים הם תווים מזווגים בהקסדצימלי - AA,02,00,0A. בכל הפקודות החבילה תתחיל ב-byte א.א. ולסיים בבייט 0א (אפס ו א) הוא תנאי מוקדם. גם התגובות של המודול יתחילו ויסתיימו בתווים אלה.
«AA 02 00 0A" - הבת השני של פקודה זו פירושו מספר הבתים בין ההתחלה והסיום, בקיצור מלבד א.א. ו 0A. ואנחנו סופרים וכותבים כל מה שביניהם לבייט השני. כפי שאנו רואים בדוגמה זו, מה בין א.א. ו 0A עלות שני בתים - 02 00לכן – 02, כלומר, המספר סופר את עצמו. דוגמה אחרת, "ע"א 03 20 01 0א"כלומר, בין א.א. ו 0A עלות שלושה בתים - «03 20 01"לכן, הבת השני הוא 03. אני חושב שתבין.
צוות "12" - הגדרת יציאות מודול.
בלוח המודול יש יציאות שמהן נסיר את האות; לפני שנעשה זאת, עלינו להגדיר את היציאות הללו. אתה יכול להגדיר יציאות עם הפקודה
"AA 03 12 01 0A" - הבית השלישי הוא הפקודה, והרביעי הוא ערך הפקודה. הבית הרביעי יכול לקחת את הערכים הבאים ולהגדיר את האפשרויות הבאות: אם "00" הוא מצב דופק, כלומר, כאשר מזוהה פקודה קולית, דופק קצר נשלח ליציאה שאנו צריכים. אם "01" הוא מצב ההיפוך, כלומר, כאשר פקודה קולית מזוהה, היציאה שאנו צריכים ישנה את מצבה להיפך, אם היא הייתה 0, היא תהפוך ל-1 ולהיפך.אם "02" הוא המצב שבו היציאה עוברת לאפס. אם "03" הוא המצב שבו היציאה עוברת לאחת.
צוות "20" - הגדרת יציאות מודול.
"AA 03 20 01 0A" - הבית השלישי הוא מספר הפקודה שנכתוב. דוגמה לכתיבת שתי פקודות 1 ו-2: "AA 04 20 01 02 0A." דוגמה לכתיבת שתי פקודות 1, 2, 3: "AA 05 20 01 02 03 0A."
צוות "30" - טעינת רשומה ל"זיהוי" של המודול.
"AA 03 30 01 0A" - הבית השלישי הוא פקודה לטעינה לזיכרון של מזהה רשומות 01. אם אתה צריך לכתוב שתי פקודות - "AA 04 30 01 02 0A", אם אתה צריך לרשום את כל שבע הפקודות - "AA 09 30 01 02 03 04 05 06 07 0A."
צוות "15" - טעינה אוטומטית של פקודות קוליות למזהה כאשר הכוח מופעל - פעולה לא מקוונת ללא בקר חיצוני.
"AA 03 15 07 01 02 03 0A" - הבית השלישי הוא פקודה, הבית הרביעי הוא תווית פקודה, כלומר מעין מזהה, והוא שווה ל-01 לטעינת פקודה אחת, 03 לטעינת שתי פקודות, 07 לטעינת שלוש פקודות וכן הלאה, עיין בטבלת גליון הנתונים. ובכן, אז יש את מספרי הפקודות שצריך לטעון.
זה הכל: בדקנו את החיבור עם המודול, הגדרנו את היציאות, הקלטנו פקודות והגדרנו טעינה אוטומטית של פקודות קוליות.
קרא על פקודות אחרות בגיליון הנתונים. זה עתה הסברתי דרך משוערת לעבודה עם המודול.
קישורי רכישה:
מודול -
ממיר -
ממיר עם חוטים -
הורד קישורים:
התאריך נקבע -
טרמינל -