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

סמפור של תבנית מבוקרת קול, מסוג ברייל: 4 שלבים (עם תמונות)
סמפור של תבנית מבוקרת קול, מסוג ברייל: 4 שלבים (עם תמונות)

וִידֵאוֹ: סמפור של תבנית מבוקרת קול, מסוג ברייל: 4 שלבים (עם תמונות)

וִידֵאוֹ: סמפור של תבנית מבוקרת קול, מסוג ברייל: 4 שלבים (עם תמונות)
וִידֵאוֹ: 10 טיפים למתחילים ממש באדובי לייטרום קלאסיק 2024, נוֹבֶמבֶּר
Anonim
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל
סמפור דפוס מבוקר, מסוג ברייל

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

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

בהתחלה עלה לי הרעיון לשחזר את מערכת הסמפור הצרפתית על ידי צ'אפה, שהייתה המערכת הראשונה הידועה לתקשורת ארצית באמצעות מערכת סמפור. אבל התברר שזה קצת מסובך מכדי להתממש באמצעות סרוו סטנדרטי בתוך יום. היעד הבא שלי היה משהו דומה למערכת הקלאקס שתוארה על ידי טרי פראצ'ט, למשל. ב "Going Postal", כמערכת סמפורת תריס 2x4 (לא כמטריצת 4x4 המתוארת בסרט). לצערי לא הצלחתי למצוא יותר מדי פרטים טכניים הזמינים במערכת זו. אז סיימתי עם מערכת סמפורת מטריקס 2x3 שפותחה על ידי לורד מאריי, שהייתה בשימוש הצי הבריטי במשך זמן מה. בנוסף, מערכת שישה תריסים/סיביות מתאימה היטב לששת מחברי הסרוו הקיימים ב- AIY voice HAT. אך מכיוון שלא היו לי שישה סרווס בהישג יד בין השנים, לבסוף החלטתי לבנות קודם כל סימולטור העשוי מנורות לד.

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

המכשיר הסופי מאפשר לדבר מילה או משפט לתוך מערכת הזיהוי הקולי של AIY, ואז נתוני תבנית הקול נשלחים דרך WLAN ואינטרנט לאיזה נתח של Google בארה ב, מפוענחים שם, ולפחות במקרה שלי, הפרשנות הנתונים נשלחים בחזרה לאירופה, שם סוף סוף אני מקבל את המשפט המוכר כמחרוזת טקסט. מחרוזת טקסט זו נשברת לאחר מכן על ידי סקריפט Python לאותיות הבודדות, וכעת, בהשוואה למילון המגדיר את הדפוסים המתאימים, מידע הדוגמאות משוחזר והדפוסים מוצגים על מטריצת LED 2x3. אנא הביטו בסרטון המצורף.

הגדרתי את קצב התצוגה לתו אחד לשנייה, שאמור להיות ארוך מספיק כדי שאדם מאומן יוכל לזהות ולתרגם את התבנית. השלב הבא אפשרי יהיה להשתמש במכשיר לזיהוי תבניות כמו AIY vision HAT (עד כה לא זמין באירופה) כדי לקרוא ולפרש את התבניות באופן אוטומטי, כדי לסגור את המעגל.

מושגים נוספים לשיפורים, חלקם בעלי רלוונטיות יותר בעולם האמיתי, נדונים בחלק ה'השקפה 'בחלק זה להוראה.

שלב 1: חומרים בשימוש

חומרים בשימוש
חומרים בשימוש
חומרים בשימוש
חומרים בשימוש

פטל פי 3

AIY HAT

שמונה נוריות לבנות בקוטר 5 מ מ. אלה פועלים על 3V, ולכן יש צורך בנגד.

התנגדות של 100 קאוהם. אולי לא הפתרון המושלם, אבל היה בהישג יד.

כבלי מגשר

חתיכת חוט קצרה

לוח לחם, אופציונלי לבדיקת ההתקנה.

קופסת פלסטיק לכרטיסי ביקור.

שתי חתיכות מקצף פלסטיק 4 מ מ, חלקן נשארות אשפה.

פיסת קרום פלסטיק כלשהי, כמפזר, כמפורט לעיל.

מלחם והלחמה, סכין.

שלב 2: התקנה ושימוש

התקנה ושימוש
התקנה ושימוש
התקנה ושימוש
התקנה ושימוש
התקנה ושימוש
התקנה ושימוש

התקן את ה- Raspberry Pi ו- AIY HAT כמצוין במדריך ה- HAT הקולי של AIY. אני ממליץ ללחם כותרות לפחות ליציאות הסרו לפני שאתה מרכיב את Pi ו- HAT, מכיוון שזה מאפשר לך לחבר סרוו, לוח לחם או נוריות בקלות.

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

אלה אז היו מחוברים ליציאות הסרוו שב- HAT הקול AIY באמצעות כבלי הארכה, הצד החיובי לסיכות ה- "P in" (החיצוניות), המחבר השלילי לאחד מהסיכות (הפנימיות) של הקרקע/מינוס. אנא עיין בתוכנית המצורפת.

אני ממליץ בחום לבדוק את ההתקנה על קרש לחם לפני הלחמה.

כעת הממברנה, צלחת ה- LED ושכבת האיטום הונחו בקופסת הפלסטיק.

מקם את סקריפט Braille_LED_1.py בתיקיית src. במקרה זה, ייתכן שתצטרך להפוך את הסקריפט להפעלה תחילה.

כעת באמצעות מסוף ה- Dev (!) התוכנית Braille_LED_1.py מופעלת. הזן 'src/Braille_LED_1.py' ולחץ על 'Enter'.

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

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

שלב 3: הקוד

הקוד
הקוד

להלן מוצא את הקוד המאפשר לך לדבר עם מכשיר הקול AIY ולהציג את המשפט המזוהה באותיות באות על גבי 'סמפור' 2x2-LED קטן או מטריקס מסוג ברייל.

הקוד הוא נגזרת של התסריט בו השתמשתי לפרויקט קודם באמצעות AIY קול HAT, שהוא נגזרת של הדוגמה servo_demo.py המתוארת במדריך AIY קול HAT.

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

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

#!/usr/bin/env python3

# סקריפט זה הוא התאמה של התסריט servo_demo.py ל- HAT הקול AIY, # מותאם לתצוגת סמלים מסוג AIY מבוסס AIY יבוא aiy.audio יבוא aiy.cloudspeech יבוא aiy.vohathat מ- gpiozero יבוא LED # מכפתור יבוא gpiozero מ זמן ייבוא שינה # מילון: אלפבית ברייל ששונה באופן מלאכותי, # מספרים וכמה סמלים שנלקחו מהרחבה Nemeth של ברייל_6A = {"": "123456", # רווח "A": "1", "B": "12 "," C ":" 14 "," D ":" 145 "," E ":" 15 "," F ":" 124 "," G ":" 1245 "," H ":" 125 ", "אני": "24", "J": "245", "K": "13", "L": "123", "M": "134", "N": "1345", "O ":" 135 "," P ":" 1234 "," Q ":" 12345 "," R ":" 1235 "," S ":" 234 "," T ":" 2345 "," U ": "136", "V": "1236", "X": "1346", "Y": "13456", "Z": "1356", "W": "2456", "#": "3456 ", # קידומת מספרים, כלומר הסימנים הבאים הם מספרים", ":" 2 ",". ": "256", # עצירה מלאה, סוף המשפט (GB) "?": "236", "!": "235", "'": "3", "-": "24", ";": "23", "Cap": "6", # האות הבאה היא באותיות גדולות; מספר עצירה? "": "", # Nemille ברייל קוד הוא הרחבה מתמטית של ברייל 6 נקודות # ראה: https://en.wikipedia.org/wiki/Nemeth_Braille "1": "2", # Nemeth Code '1', 'פסיק' ברייל "2": "23", "3": "25", "4": "256", "5": "26", "6": "235", # Nemeth '6', ברייל '!' "7": "2356", "8": "236", # Nemeth '8', ברייל '?' "9": "35", "0": "356", "+": "346", "-": "36", "/": "34", "(": "12356", ") ":" 23456 ","*":" 1346 " # '*' הוא סמל דו -דפוסי בנמת, כאן מוחלף ב- 'x' להשמטת קריסות}" "" מטעמי פשטות, דפוסי מספר הברייל הסטנדרטיים שניתנו להלן הוחלפו ב- Nemeth-Codes "1": "1", "2": "12", "3": "14", "4": "145", "5": "15", " 6 ":" 124 "," 8 ":" 1245 "," 9 ":" 24 "," 0 ":" 245 "," "" #Text = "rbhTZkl 9t64+34 #!" # דוגמאות טקסט, למטרות ניפוי באגים def main (): מזהה = aiy.cloudspeech.get_recognizer () מזהה.הערכה_משפט ('להתראות') # מילת מפתח, מסיים את כפתור התוכנית = aiy.voicehat.get_button () # סטטוס AIY לחצן הוביל = aiy.voicehat.get_led () # סטטוס לחצן LED של AIY aiy.audio.get_recorder (). start () led_1 = LED (26) # מחבר ראשון, servo0, GPIO 26 # led left left_2 = LED (6) # מחבר שני, servo1, GPIO 06 # אמצעי שמאל LED_3 = LED (13) # מחבר שלישי, servo2, GPIO 13 # LED שמאל תחתון_4 = LED (5) # מחבר 4st, servo3, GPIO 05 # LED ימין עליון_5 = LED (12) # מחבר חמישי, servo4, GPIO 12 # ימין באמצע led_6 = LED (24) # 4 מחבר, servo3, GPIO 13 # ימני תחתון # מרחק = לחצן (5) # חיישן מרחק מחובר ל servo3/GPIO 05, לא בשימוש כאן aiy.audio.say ("שלום!",) Aiy.audio.say ("כדי להתחיל, אנא לחץ על הכפתור",) aiy.audio.say ("אם תגיד לי להתראות, אני אסיים את התוכנית",) בעוד True: # מתחיל לולאה led.set_state (aiy.voicehat. LED. BLINK) הדפסה ("להפעלת זיהוי קולי n, לחץ על הכפתור הכחול ולאחר מכן דבר ") print () button.wait_for_press () print ('האזנה …') aiy.audio.say (" אני מקשיב ",) led.set_state (aiy.voicehat. LED. BLINK_3) text = מזהה.זהה () # מחרוזת טקסט של המשפט המוכר led.set_state (aiy.voicehat. LED. OFF) אם הטקסט הוא None: aiy.audio.say ('מצטער, לא שמעתי אותך.',) אליף 'להתראות' בטקסט: aiy.audio.say ("להתראות",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) שינה (3) הדפס ('ביי! ') לשבור לולאה # עצירות ולסיים את התוכנית אחרת: הדפס (' אמרת "', טקסט,'" ') # מאפשר לך לבדוק את פרשנות המערכות, כולל כיתוב aiy.audio.say (' אני מניח שאמרת ',) aiy.audio.say (טקסט,) # אימות אקוסטי Text_up = text.upper () # מעביר הכל להדפסה באותיות גדולות (Text_up) Text_Len = len (Text_up) הדפסה (Text_Len) עבור i בטווח (Text_Len): Lett = Text_up # בוחר אות בודדת, החל מהראשון, כלומר [0] הדפס ("Letter =", Lett) Lett_B = Braille_6A [Lett] # בוחר את הקוד המתאים מה- מילון. שלט חסר ישבור את הקוד! print (Lett_B) if ("1" ב- Lett_B): print ("LED 1") led_1.on () # מפעיל LED ב- servo0 "if" 2 "ב- Lett_B: הדפס (" LED 2 ") led_2.on () אם "3" ב- Lett_B: הדפס ("LED 3") led_3.on () אם "4" ב- Lett_B: הדפס ("LED 4") led_4.on () אם "5" ב- Lett_B: הדפס ("LED 5 ") led_5.on () אם" 6 "ב- Lett_B: הדפס (" LED 6 ") led_6.on () שינה (1) # תבנית תצוגה להדפסה שנייה () led_1.off () # השבת את כל הנורות על servos0 -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () שינה (0.3) # הפסקה כהה קצרה, לציון סוף האות אם _name_ == '_ עיקר_ ': main ()

שלב 4: Outlook והערות

אז מה יכול להיות הלאה?

מלבד מטא-בדיחת ה- IT עם ערכת הווידיאו AIY או מערכת זיהוי תמונות אוטומטית אחרת המוזכרת במבוא, עשויות להיות אפשרויות אחרות להרחיב את הרעיון המתואר במדריך זה. חלקם אפילו עשויים להיות שימושיים בעולם האמיתי. אלה יכולים להיות:

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

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

- בנה תצוגת ברייל אמיתית 2x3 או 2x4. צריך להיות אפשרי באמצעות מערך סרוו או מערך מיני סולנואידים 5V. האתגר העיקרי יהיה שהמרחק הסטנדרטי בין נקודות המישוש הוא 2.45 מ מ, או 1/10 אינץ ', על צגים אלקטרוניים, כך שיתכן ויידרשו כמה הילוכים ומכניקה. האתגר השני יכול להיות להסדיר באופן מדויק את אורך הדחיפה.

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

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

–――――

כמה הערות וקישורים מעניינים:

- יש מדריך המתאר "עששית סמפור DIY", מטריצת LED 2x4, המבוססת על לוח הדגמה של מדחף. אני אוהב את הפריסה, אבל התכנות נראה לי קצת מסובך. אנא תסתכל בעצמך.

- מצאתי כעת תוכנית פייתון ליצירת ברייל מלא (כיתה 2). לרוע המזל הוא מוגבל ל- python 2 ולגרסה האנגלית האמריקאית משנת 2002:

נראה כי תוכנית שלמה יותר היא ליבלוי, https://github.com/liblouis/liblouis, אך אין לי מושג כיצד לשלב זאת בפתרון זה.

נראה כי פתרון פיתון מעניין מגיע מיוון, https://github.com/ant0nisk/pybrl יכול לשלב מספר שפות וליצור ברייל בדרגה 2.

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

אז אם אתה רואה שגיאות, מחדלים או שיש לך רעיונות לפרויקט, אנא יידע אותי.

- אם אתה אוהב את זה מורה, אנא הצביע עבור זה!

מוּמלָץ: