فهرست مطالب:

سمافور الگوی صوتی کنترل شده از نوع بریل: 4 مرحله (همراه با تصاویر)
سمافور الگوی صوتی کنترل شده از نوع بریل: 4 مرحله (همراه با تصاویر)

تصویری: سمافور الگوی صوتی کنترل شده از نوع بریل: 4 مرحله (همراه با تصاویر)

تصویری: سمافور الگوی صوتی کنترل شده از نوع بریل: 4 مرحله (همراه با تصاویر)
تصویری: سیم بندی پنجره آلارم 2024, نوامبر
Anonim
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی الگوی بریل با کنترل صدا
سمافور الگوی کنترل شده با صدا ، از نوع بریل
سمافور الگوی کنترل شده با صدا ، از نوع بریل

"لرد وتیناری در پنجره خود ایستاده بود و برج سمافور آن طرف رودخانه را تماشا می کرد. هر هشت کرکره بزرگ رو به روی او با خشم چشمک می زدند - سیاه ، سفید ، سیاه ، سفید ، سیاه ، سفید … اطلاعات در هوا پرواز می کرد. بیست مایل پشت سر او ، در برج دیگری در استو لات ، شخصی از طریق تلسکوپ نگاه می کرد و اعداد را فریاد می زد. او فکر کرد که چقدر سریع آینده بر سر ما می آید. " تی پرچت ، فیل پنجم

پس از ساخت یک جک پرش با کنترل صدا بر اساس کیت صدای AIY ، ایده ای برای ساختن یک سمافور با کنترل صدا ایجاد کردم ، که آخرین فناوری فناوری اطلاعات را با آغاز ارتباطات از راه دور و انتقال داده ها گرد هم می آورد.

در ابتدا من این ایده را داشتم که سیستم semaphore فرانسه را توسط Chappe تکرار کنم ، که اولین سیستم شناخته شده برای مخابرات سراسر کشور با استفاده از یک سیستم semaphore بود. اما معلوم شد که بسیار پیچیده تر از آن است که بتوان با استفاده از سرویس های استاندارد در یک روز متوجه آن شد. هدف بعدی من چیزی شبیه به سیستم کلک ها بود که توسط تری پرچت توصیف شد ، به عنوان مثال. در "Going Postal" ، به عنوان یک سیستم سمفور شاتر 2x4 (نه به عنوان ماتریس 4x4 نشان داده شده در فیلم). متأسفانه من نتوانستم جزئیات فنی زیادی را در مورد این سیستم پیدا کنم. بنابراین ، من به سیستم سمفور ماتریس 2x3 که توسط لرد موری توسعه یافته بود ، استفاده کردم ، که مدتی توسط نیروی دریایی بریتانیا استفاده می شد. علاوه بر این ، یک سیستم شش شاتر/بیت به خوبی با شش اتصال دهنده سروو موجود در AIY voice HAT مناسب است. اما ، چون بین این سالها شش سرو در دست نداشتم ، سرانجام تصمیم گرفتم ابتدا یک شبیه ساز ساخته شده از LED ها بسازم.

در مورد کد نمایش داده شده ، می توان از سیستم موری استفاده کرد ، اما دوباره اطلاعاتی که روی آن در دسترس بودم بسیار محدود بود و اجازه نمایش هیچ عدد و نمادی را نمی داد. بنابراین به این نکته رسیدم که به جای آن از سیستم بریل استفاده کنم ، که از ماتریس 2x3 برای نمایش حروف ، اعداد و سایر علائم استفاده می کند. سیستم بریل استاندارد بین المللی برای چاپ متون قابل خواندن برای نابینایان است. همچنین یک زبان نشانه گذاری است که از یک نشانگر عدد برای تعیین اینکه اعداد بعدی نشان داده می شوند ، استفاده می کند و نشانگرهایی که یک یا چند حروف زیر را با حروف بزرگ نوشته می شود. بنابراین تصمیم گرفتم که یک سیستم کمی ساده ، با اعداد و برخی از علائم با افزونه Nemeth سیستم بریل تعریف کنم و فقط از حروف بزرگ استفاده کنم ، حداقل در ابتدا. این اجازه می دهد تا الگوهای منحصر به فرد برای هر حرف ، شماره یا علامت در برنامه ویژه من نمایش داده شود و از تجزیه و تحلیل متن مورد نیاز برای خط بریل واقعی حذف شود.

دستگاه نهایی به شما امکان می دهد یک کلمه یا جمله را در سیستم تشخیص صدا AIY بیان کنید ، سپس داده های الگوی صدا از طریق WLAN و اینترنت به برخی از گوگل در ایالات متحده ارسال می شود ، در آنجا رمزگشایی می شود و حداقل در مورد من ، تفسیر شده داده ها به اروپا بازگردانده می شوند ، در نهایت در آنجا جمله شناخته شده به عنوان یک رشته متن نمایش داده می شود. سپس این رشته متن توسط اسکریپت پایتون به حروف جداگانه شکسته می شود و اکنون ، در مقایسه با فرهنگ لغت که الگوهای مربوطه را تعریف می کند ، اطلاعات الگو بازیابی می شود و الگوها بر روی ماتریس LED 2x3 نمایش داده می شوند. لطفاً ویدیوی همراه آن را مشاهده کنید.

من نرخ نمایش را روی یک کاراکتر در ثانیه تنظیم کرده ام ، که باید به اندازه کافی طولانی باشد تا یک فرد آموزش دیده بتواند الگو را شناسایی و ترجمه کند. گام بعدی احتمالی استفاده از یک دستگاه تشخیص الگو مانند AIY vision HAT (تا کنون در اروپا موجود نیست) برای خواندن و تفسیر الگوها به طور خودکار ، به طوری که دایره را ببندید.

مفاهیم بیشتر برای بهبود ، برخی با ارتباط بیشتر در دنیای واقعی ، در بخش "چشم انداز" این دستورالعمل مورد بحث قرار گرفته است.

مرحله 1: مواد مورد استفاده

مواد استفاده شده
مواد استفاده شده
مواد استفاده شده
مواد استفاده شده

تمشک پای 3

AIY voice HAT

هشت LED سفید با قطر 5 میلی متر. اینها روی 3 ولت کار می کنند ، بنابراین به مقاومت نیاز است.

مقاومت 100 کیلو اهم شاید راه حل مناسبی نبود ، اما در دست بود.

کابل های بلوز

یک تکه سیم کوتاه

Breadboard ، اختیاری برای آزمایش راه اندازی است.

جعبه پلاستیکی مخصوص کارت ویزیت.

دو قطعه فوم پلاستیکی 4 میلیمتری ، مقداری زباله باقی مانده است.

قطعه ای از غشای پلاستیکی ، به عنوان پخش کننده ، مانند بالا.

لحیم کاری و لحیم کاری ، چاقو.

مرحله 2: راه اندازی و استفاده

راه اندازی و استفاده
راه اندازی و استفاده
راه اندازی و استفاده
راه اندازی و استفاده
راه اندازی و استفاده
راه اندازی و استفاده

Raspberry Pi و AIY HAT را همانطور که در دفترچه راهنمای AIY voice HAT نشان داده شده تنظیم کنید. توصیه می کنم قبل از مونتاژ Pi و HAT ، سرصفحه ها را حداقل به درگاه های سرو بچسبانید ، زیرا این امر به شما این امکان را می دهد تا سرویس ها ، تخته نان یا LED ها را به راحتی متصل کنید.

جعبه صفحه نمایش از روی یک جعبه پلاستیکی برای کارت های ویزیت ساخته شده بود ، دو قطعه فوم در جعبه و یک قطعه با اندازه مشابه از یک غشاء بسته بندی به عنوان دیفیوزر ساخته شده بود. در یکی از قطعات فوم شش سوراخ ایجاد شده و LED ها در آنها قرار داده شده است. پایهای کوتاهتر (سمت زمین) LED ها توسط یک تکه کابل به یکدیگر متصل می شوند ، سپس یک مقاومت اضافه می شود و یک کابل بلوز به دومی لحیم می شود. در پای دیگر (سمت مثبت) کابل های بلوز LED ها لحیم شد.

سپس آنها به پورتهای سروو در AIY voice HAT از طریق کابلهای طویل شدن ، طرف مثبت به پینهای (بیرونی) "P in" ، اتصال منفی به یکی از (داخلی) پایه/منهای منفی متصل شدند. لطفاً به طرح ضمیمه نگاهی بیندازید.

من اکیداً توصیه می کنم قبل از لحیم کاری ، تنظیمات را روی یک تخته نان تست کنید.

اکنون غشاء ، صفحه LED و لایه آب بندی در جعبه پلاستیکی قرار داده شده است.

اسکریپت Braille_LED_1.py را در پوشه src قرار دهید. در این صورت ، ابتدا باید اسکریپت را اجرایی کنید.

اکنون با استفاده از ترمینال Dev (!) برنامه Braille_LED_1.py شروع شده است. "src/Braille_LED_1.py" را وارد کرده و "Enter" را فشار دهید.

اکنون از شما خواسته می شود که دکمه جعبه AIY را فشار داده و کلمه یا جمله خود را بیان کنید. با کمی تأخیر ، سیستم آنچه را که فهمیده بود تکرار می کند و آن را روی صفحه و همچنین حرف به حرف روی صفحه نمایش شش LED نشان می دهد.

اگر کلمه کلیدی "خداحافظ" را به جای جمله وارد کنید ، سیستم به شما می گوید خداحافظ ، و برنامه بسته می شود.

مرحله 3: کد

کد
کد

در زیر کدی را پیدا می کنید که به شما امکان می دهد با دستگاه صوتی AIY صحبت کنید و جمله شناخته شده را حروف به حرف روی یک "سمافور" کوچک 2x3-LED یا ماتریس بریل نشان دهید.

کد مشتق از اسکریپتی است که من برای پروژه قبلی با استفاده از AIY voice HAT استفاده کردم ، مشتق شده از مثال servo_demo.py است که در کتابچه راهنمای صدای HAT AIY شرح داده شده است.

همچنین می توانید یک فرهنگ لغت با قسمتی از کد موری که در اینترنت پیدا کرده بودم ، به عنوان فایل متنی پیدا کنید. این شامل اعداد نیست و برخی حروف را حذف می کند ، که در اینجا مشکلی ایجاد می کند.

یکی از محدودیت های برنامه در حالت فعلی این است که اگر علامتی در فرهنگ لغت وجود نداشته باشد ، برنامه را خراب می کند. علاوه بر این ، نشان دهنده کد کامل بریل به عنوان زبان نشانه گذاری نیست. همانطور که در اسکریپت زیر مشاهده می کنید ، کد Nemeth برای اعداد با برخی علائم در بریل استاندارد اضافی است ، اما این نباید مشکلی برای برنامه خاص ما ایجاد کند.

#!/usr/bin/env python3

# این اسکریپت یک اقتباس از اسکریپت servo_demo.py برای صدای HIY AIY است ، # بهینه شده برای نمایش نماد نوع Baille مبتنی بر AIY aiy.audio import aiy.cloudspeech import aiy.voicehat از gpiozero Import LED # زمان وارد کردن خواب # فرهنگ لغت: یک الفبای بریل مصنوعی اصلاح شده ، # اعداد و برخی از علامت ها از پسوند Nemeth بریل Braille_6A = {"": "123456" ، # فاصله "A": "1" ، "B": "12 "،" C ":" 14 "،" D ":" 145 "،" E ":" 15 "،" F ":" 124 "،" G ":" 1245 "،" H ":" 125 "، "I": "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" ، # حرف بعدی با حروف بزرگ است. شماره توقف؟ "": "" ، # کد بریل Nemeth یک گسترش ریاضی برای خط بریل 6 نقطه ای است # مراجعه کنید به: https://fa.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 " # '*' یک نماد دو الگو در Nemeth است ، که در اینجا با 'x' برای حذف تصادفات جایگزین می شود}" "به دلیل سادگی ، الگوهای استاندارد شماره بریل داده شده است در زیر با کدهای Nemeth که شامل "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 () cognizer.expect_phrase ('خداحافظ') # کلید واژه ، دکمه برنامه را خاتمه می دهد = aiy.voicehat.get_button () # AIY Button status led = aiy.voicehat.get_led () # AIY Button-LED status aiy.audio.get_recorder (). start () led_1 = LED (26) # اولین کانکتور ، servo0 ، GPIO 26 # LED سمت چپ بالا_2 = LED (6) # کانکتور دوم ، servo1، GPIO 06 # وسط سمت چپ led_3 = LED (13) # کانکتور سوم ، servo2 ، GPIO 13 # سمت چپ سمت چپ led_4 = LED (5) # کانکتور 4 ، servo3 ، GPIO 05 # بالا سمت راست led_5 = LED (12) # کانکتور 5 ، servo4، GPIO 12 # وسط راست led_6 = اتصال LED (24) # 4st ، 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 = cognizer.recognize () # رشته متن جمله بازشناخته led.set_state (aiy.voicehat. LED. OFF) اگر متن هیچکدام نباشد: aiy.audio.say ('متاسفم ، شما را نشنیدم.' ،) elif 'خداحافظ' در متن: aiy.audio.say ("خداحافظ" ،) aiy.audio.say ("Arrivederci" ،) aiy.audio.say ("Auf Wiedersehen" ،) sleep (3) print ("خداحافظ! ') break # stop loop و برنامه دیگر پایان می یابد: print (' شما گفتید '' ، متن ، '' ') # به شما اجازه می دهد تا تفسیر سیستم ها ، از جمله نوشتن مقاله را بررسی کنید aiy.audio.say ("حدس می زنم گفتید" ،) aiy.audio.say (text) i] # یک حرف واحد را انتخاب می کند ، با حرف اول شروع می شود ، یعنی [0] print ("Letter ="، Lett) Lett_B = Braille_6A [Lett] # کد مربوطه را از فرهنگ لغت. علامت گم شده کد را می شکند! print (Lett_B) if ("1" in Lett_B): print ("LED 1") led_1.on () # LED را در servo0 "فعال می کند اگر" 2 "در Lett_B: print (" LED 2 ") led_2.on () if "3" in Lett_B: print ("LED 3") led_3.on () if "4" in Lett_B: print ("LED 4") led_4.on () if "5" in Lett_B: print ("LED 5 ") led_5.on () if" 6 "in Lett_B: print (" LED 6 ") led_6.on () sleep (1) # الگوی نمایش برای چاپ دوم () led_1.off () # همه LED ها را در servos0 غیرفعال کنید -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () خواب (0.3) # یک استراحت کوتاه تاریک ، برای نشان دادن انتهای حرف اگر _name_ == '_m_ ': main ()

مرحله 4: چشم انداز و نکات

پس بعدی چه می تواند باشد؟

علاوه بر متا شوخی فناوری اطلاعات با کیت ویدئویی AIY یا دیگر سیستم تشخیص تصویر خودکار که در مقدمه ذکر شد ، ممکن است گزینه های دیگری برای گسترش مفهوم توصیف شده در این دستورالعمل وجود داشته باشد. برخی از آنها حتی ممکن است از دنیای واقعی استفاده کنند. اینها می توانند عبارتند از:

- برنامه نویسی بهبود یافته ، به طوری که متن به همراه کد نشانه گذاری و فشرده سازی به کد استاندارد بریل منتقل می شود. این نباید تلاش زیادی برای یک برنامه نویس ماهر پایتون باشد. من این کار را نمی کنم ، بنابراین از هر گونه کمک استقبال می شود.

- گسترش سیستم به ماتریس 2x4. همچنین می تواند امکان پذیر باشد و به استفاده از کدهای بریل 8 نقطه مربوطه ، همانطور که در نمایشگرهای بریل الکترونیکی استفاده می شود ، کمک کند. بالاتر از این ، آن را کمی به سیستم clacks Dearheart نزدیک می کند.

- یک صفحه نمایش واقعی 2 * 3 یا 2 بر 4 بریل بسازید. باید با استفاده از آرایه سروو یا آرایه مینی برقی 5 ولت امکان پذیر باشد. چالش اصلی این است که فاصله استاندارد بین نقاط لمسی در نمایشگرهای الکترونیکی 2.45 میلی متر یا 1/10 اینچ باشد ، بنابراین برخی از چرخ دنده ها و مکانیک ها مورد نیاز است. چالش دیگر می تواند تنظیم دقیق طول فشار باشد.

چنین راه حل ساده و ارزان ممکن است برای عموم مردم جالب باشد ، زیرا نمایشگرهای تجاری بریل بسیار گران هستند. استفاده از چنین سیستم کنترل صوتی ممکن است برای زبان آموزان بریل فایده ای داشته باشد. همانطور که ممکن است آنها به صورت شفاهی یک جمله (انگلیسی) به انتخاب خود وارد کنند و متن ، حروف و علائم را در نوک انگشتان خود نشان دهند.

- ساخت یک سیستم کرکره مکانیکی شبیه به موری یا سیستم های عزیز دل. با استفاده از سرووها ، این نباید خیلی پیچیده باشد و ممکن است در دستورالعمل دیگری شرح داده شود. یا می تواند یک پروژه خوب مدرسه باشد. کسی علاقمند است؟

–――――

برخی از نکات و پیوندهای مورد علاقه:

- یک دستورالعمل توصیف کننده "فانوس سمیور DIY" ، ماتریس LED 2x4 ، بر اساس برخی از تابلوی نمایشی پروانه وجود دارد. من طرح بندی را دوست دارم ، اما برنامه نویسی برای من کمی پیچیده به نظر می رسد. لطفا خودتان نگاه کنید

- من در حال حاضر یک برنامه پایتون برای تولید خط بریل با قرارداد کامل (درجه 2) پیدا کردم. متأسفانه محدود به پایتون 2 و نسخه 2002 انگلیسی آمریکایی: https://github.com/jpaugh/braille-converter است.

- به نظر می رسد یک برنامه کامل تر liblouis باشد ، https://github.com/liblouis/liblouis ، اما من نمی دانم چگونه این را در این راه حل ادغام کنم.

- به نظر می رسد یک راه حل جالب پایتون از یونان آمده است ، https://github.com/ant0nisk/pybrl می تواند چندین زبان را ادغام کرده و درجه 2 بریل را ایجاد کند.

- من نه برنامه نویس هستم و نه پسر الکترونیک و نه چند روز پیش اطلاعات زیادی در مورد خط بریل داشتم.

بنابراین اگر خطا ، کم کاری یا ایده ای برای پروژه دارید ، لطفاً به من اطلاع دهید.

- اگر این دستورالعمل را دوست دارید ، لطفاً به آن رای دهید!

توصیه شده: