Мазмұны:

Дауыспен басқарылатын Брайль үлгісіндегі семафор: 4 қадам (суреттермен)
Дауыспен басқарылатын Брайль үлгісіндегі семафор: 4 қадам (суреттермен)

Бейне: Дауыспен басқарылатын Брайль үлгісіндегі семафор: 4 қадам (суреттермен)

Бейне: Дауыспен басқарылатын Брайль үлгісіндегі семафор: 4 қадам (суреттермен)
Бейне: Сосуны и пианино ► 2 Прохождение Silent Hill (PS ONE) 2024, Қараша
Anonim
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры
Дауыспен басқарылатын Брайль үлгісіндегі үлгі семафоры

«Лорд Ветинари өзеннің арғы жағындағы семафорлы мұнараны тамашалап тұрған терезесінде тұрды. Оған қараған сегіз үлкен жапқыштың бәрі қатты жыпылықтап тұрды - қара, ақ, қара, ақ, қара, ақ … Ақпарат ауада ұшып жатты. Оның жиырма миль артында, Сто Латтағы басқа мұнара үстінде біреу телескопқа қарап, сандарды айқайлап жатты. Болашақ бізге қалай тез жетеді, - деп ойлады ол. Т. Пратчетт, Бесінші піл

AIY дауыстық жиынтығына негізделген дауысты басқарылатын секіру ұясын құрғаннан кейін менде телекоммуникация мен деректерді берудің басталуымен АТ-технологияның соңғы жаңалықтарын біріктіретін дауыспен басқарылатын семафор құру туралы ой пайда болды.

Алдымен менде француздық семафорлық жүйені қайталау идеясы болды, бұл семафорлық жүйені қолдана отырып, жалпыұлттық телекоммуникацияның алғашқы белгілі жүйесі болды. Бірақ бір күнде стандартты серверлерді қолдану мүмкін болмайтын тым күрделі болып шықты. Менің келесі мақсатым Терри Пратчетт сипаттаған клакс жүйесіне ұқсас нәрсе болды. «Going Почтада», 2х4 жапқыш семафорлық жүйе ретінде (фильмде бейнеленген 4х4 матрица сияқты емес). Өкінішке орай, мен бұл жүйеде тым көп техникалық мәліметтерді таба алмадым. Мен Лорд Мюррей жасаған 2x3 матрицалық семафорлық жүйені Ұлыбритания Әскери -теңіз күштері біраз уақыт қолданды. Сонымен қатар, алты ысырма/бит жүйесі AIY дауыстық HAT -те бар алты серво қосқышына жақсы сәйкес келеді. Бірақ жылдар бойы менің қолымда алты серво болмағандықтан, мен алдымен светодиодтан жасалған тренажер жасауды шештім.

Көрсетілген кодқа қатысты Мюррей жүйесін қолдануға болады, бірақ менде ондағы ақпарат шектеулі, сандар мен белгілерді көрсетуге мүмкіндік бермеді. Сондықтан мен Брайль жүйесін қолдануды жөн көрдім, ол әріптерді, сандарды және басқа белгілерді көрсету үшін 2х3 матрицаны қолданады. Брайль жүйесі - зағип жандар үшін оқылатын мәтіндерді басып шығарудың халықаралық стандарты. Бұл сонымен қатар келесі сандардың көрсетілетінін анықтау үшін сан индикаторын қолданатын белгілеу тілі, ал келесі әріптердің біреуін немесе бірнешеуін анықтау үшін индикаторлар бас әріптер ретінде жазылады. Мен сәл жеңілдетілген жүйені құруды жөн көрдім, оның орнына Брайль жүйесінің Nemeth кеңейтімі арқылы сандар мен кейбір белгілерді анықтадым, және бас әріптерді, ең болмағанда, басында қолданыңыз. Бұл менің арнайы қосымшамда көрсетілетін әр әріп, сан немесе таңбаның бірегей үлгілерін алуға және нағыз Брайль шрифті үшін қажетті мәтіндік талдауды өткізбеуге мүмкіндік береді.

Соңғы құрылғы AIY дауысты тану жүйесінде бір сөзді немесе сөйлемді айтуға мүмкіндік береді, содан кейін дауыс үлгісі туралы деректер WLAN және интернет арқылы АҚШ -тағы Google -ға жіберіледі, сол жерде декодталады және, кем дегенде, менің жағдайда түсіндіріледі. деректер Еуропаға жіберіледі, сонда мен танылған сөйлемді мәтіндік жол ретінде шығарамын. Бұл мәтіндік жол Python сценарийі бойынша жеке әріптерге бөлінеді, енді сәйкес үлгілерді анықтайтын сөздікпен салыстыра отырып, үлгі ақпараты қалпына келтіріледі және өрнектер 2х3 жарықдиодты матрицада көрсетіледі. Қосымша бейнебаянға назар аударыңыз.

Мен дисплей жылдамдығын секундына бір таңбаға қойдым, ол дайындалған адамға үлгіні анықтауға және аударуға жеткілікті ұзақ болуы керек. Мүмкін болатын келесі қадам - шеңберді жабу үшін үлгілерді автоматты түрде оқу және түсіндіру үшін AIY vision HAT (әзірше Еуропада жоқ) сияқты үлгіні тану құрылғысын қолдану.

Жақсартудың басқа тұжырымдамалары, олардың кейбіреулерінің шынайы өмірлік маңызы бар, осы нұсқаулықтың «көзқарасы» бөлімінде талқыланады.

1 -қадам: Қолданылатын материалдар

Қолданылатын материалдар
Қолданылатын материалдар
Қолданылатын материалдар
Қолданылатын материалдар

Таңқурай Pi 3

AIY дауысы HAT

Диаметрі 5 мм болатын ақ түсті светодиодтар. Олар 3В -да жұмыс істейді, сондықтан резистор қажет.

100 кОм резистор. Мүмкін, бұл тамаша шешім емес, бірақ қолында болды.

Өтпелі кабельдер

Қысқа сым

Нан тақтасы, орнатуды тексеру үшін міндетті емес.

Визит карталарына арналған пластикалық қорап.

4 мм пластикалық көбіктен жасалған екі бөлік, кейбірі қоқыс қалды.

Жоғарыда көрсетілгендей, диффузор тәрізді пластикалық мембрананың кейбір бөлігі.

Дәнекерлеуіш пен дәнекер, пышақ.

2 -қадам: Орнату және қолдану

Орнату және қолдану
Орнату және қолдану
Орнату және қолдану
Орнату және қолдану
Орнату және қолдану
Орнату және қолдану

Raspberry Pi мен AIY HAT параметрлерін AIY дауыстық HAT нұсқаулығында көрсетілгендей орнатыңыз. Мен Pi мен HAT жинамас бұрын, тақырыптарды кем дегенде сервопорттарға дәнекерлеуді ұсынар едім, себебі бұл сервоприводты, нан тақтасын немесе жарық диодты қосуға мүмкіндік береді.

Дисплей қорапшасы визит карточкалары үшін пластикалық қораптың қақпағынан, қорапқа салынған көбіктің екі бөлігінен және диффузор тәрізді қаптаманың мембранасының өлшемінен жасалған. Көбік бөліктерінің бірінде алты тесік итеріліп, оларға жарық диодтары орналастырылған. Светодиодтардың қысқа аяқтары (жер жағы) бір -бірімен кабель арқылы қосылды, содан кейін резистор қосылды және екіншісіне өтпелі кабель дәнекерленді. Светодиодтардың басқа аяқтарына (плюс жағына) қосқыш кабельдері дәнекерленген.

Одан кейін олар AIY дауыстық HAT серво порттарына ұзартқыш кабельдер арқылы қосылады, оң жағы (сыртқы) «P in» түйреуіштеріне, теріс қосқыш (ішкі) жерге/минус түйреуіштердің біріне. Қосылған схемаға назар аударыңыз.

Мен дәнекерлеу алдында нан тақтасында орнатуды тексеруді ұсынамын.

Енді мембрана, жарық диодты пластина мен тығыздағыш қабаты пластикалық қорапқа қойылды.

Braille_LED_1.py сценарийін src қалтасына орналастырыңыз. Бұл жағдайда сізге алдымен сценарийді орындау қажет болуы мүмкін.

Енді Dev терминалын (!) Қолдану арқылы Braille_LED_1.py бағдарламасы іске қосылды. 'Src/Braille_LED_1.py' енгізіңіз және 'Enter' басыңыз.

Енді сізден AIY қорабының батырмасын басып, сөзіңізді немесе сөйлеміңізді айту сұралады. Біраз кідірістен кейін жүйе түсінілген нәрсені қайталайды және оны экранда, сондай -ақ алты жарықдиодты дисплейде әріптен әріпті көрсетеді.

Егер сіз сөйлемнің орнына «Қош бол» кілт сөзін берсеңіз, жүйе сізге қоштасады, ал бағдарлама жабылады.

3 -қадам: Кодекс

Кодекс
Кодекс

Төменде сіз AIY дауыстық құрылғысымен сөйлесуге мүмкіндік беретін кодты таба аласыз және 2х3 жарықдиодты кішкентай «семафор» немесе Брайль типті матрицада әріппен әріптерді көрсетеді.

Код - бұл AIY дауысты HAT көмегімен алдыңғы жобада қолданған сценарийдің туындысы, AIY дауыстық HAT нұсқаулығында сипатталған servo_demo.py мысалының туындысы.

Сіз сонымен қатар Интернеттен Мюррей кодының бір бөлігін мәтіндік файл ретінде таба аласыз. Ол сандарды қамтымайды және кейбір әріптерді қалдырмайды, бұл мәселе тудырады.

Бағдарламаның қазіргі күйіндегі бір шектеу - егер сөздікке кірмейтін белгі ол бағдарламаны бұзады. Бұған қоса, бұл Брайль кодымен белгілеу тілі ретінде толық ұсыну емес. Төмендегі сценарийден көріп отырғаныңыздай, сандарға арналған Nemeth коды стандартты Брайль шрифтіндегі кейбір белгілермен артық, бірақ бұл біздің нақты қосымшамызға қиындық туғызбауы керек.

#!/usr/bin/env python3

# Бұл сценарий AIY дауыстық шляпасы үшін servo_demo.py сценарийінің бейімделуі болып табылады, # AIY негізіндегі Baille түрінің символы үшін оңтайландырылған импорт aiy.audio импорт aiy.cloudspeech импорт aiy.voicehat gpiozero импорттау светодиодынан # gpiozero импорттау түймесі уақытты импорттау ұйқы # Сөздік: жасанды түрде өзгертілген Брайль алфавиті, Брайль шрифтінің Nemeth кеңейтімінен алынған # сандар мен кейбір белгілер_6A = {«»: «123456», # бос орын «А»: «1», «В»: «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», # Көп нүкте, сөйлем соңы (ГБ) «?»: «236», «!»: «235», «'»: «3», «-»: «24», «;»: «23», «Қақпақ»: «6», # Келесі әріп бас әріппен; Number-Stop? «»: «», # Немет Брайль коды-бұл 6 нүктелі Брайль үшін математикалық кеңейтім # қараңыз: https://kk.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', Brayille '?' «9»: «35», «0»: «356», «+»: «346», «-»: «36», «/»: «34», «(»: «12356», «) «:» 23456 «,»*«:» 1346 « # '*' - бұл Немет қаласындағы екі өрнек белгісі, мұнда қарама -қайшылықтарды болдырмау үшін» x «әрпімен ауыстырылды}» «», Брайль шрифтінің стандартты үлгілері берілген төменде «1», «1», «2»: «12», «3»: «14», «4»: «145», «5»: «15», «Nemeth-Codes» сәйкес келетін кодтар ауыстырылды. 6 «:» 124 «,» 8 «:» 1245 «,» 9 «:» 24 «,» 0 «:» 245 «,» «» #Text = «rbhTZkl 9t64+34 #!» # Негізгі мәтін, отладка мақсатында def main (): танушы = aiy.cloudspeech.get_recognizer () танушы.жеке_фраза ('қош бол') # кілт сөзі, бағдарламаның түймесін аяқтайды = aiy.voicehat.get_button () # AIY батырмасының күйі led = aiy.voicehat.get_led () # AIY Button-LED күйі aiy.audio.get_recorder (). start () led_1 = LED (26) # 1-ші коннектор, servo0, GPIO 26 # жоғарғы сол жақ led_2 = LED (6) # 2-ші қосқыш, servo1, GPIO 06 # орта сол жақ LED_3 = LED (13) # 3 -ші коннектор, servo2, GPIO 13 # төменгі сол жақ LED_4 = LED (5) # 4 -ші коннектор, servo3, GPIO 05 # жоғарғы оң жақ LED_5 = LED (12) # 5 -ші коннектор, servo4, GPIO 12 # ортаңғы оң жақтағы LED_6 = Светодиод (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 () басып шығару ('Тыңдалуда …') aiy.audio.say (» Мен тыңдап жатырмын «,) led.set_state (aiy.voicehat. LED. BLINK_3)) text = танушы.қабылдау () # танылған сөйлемнің # мәтіндік жолы led.set_state (aiy.voicehat. LED. OFF), егер мәтін жоқ болса: aiy.audio.say ('Кешіріңіз, мен сізді естімедім.',) мәтіндегі элиф 'қош бол' ') break # тоқтату циклы мен басқа бағдарламаны аяқтайды: print (' Сіз айттыңыз '', мәтін, '' ') # # жүйелердің түсіндірілуін тексеруге мүмкіндік береді, оның ішінде 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): басып шығару («LED 1») led_1.on () # Lett_B ішіндегі «2» болса, жарықдиодты servo0 «күйінде қосады: print (» LED 2 «) led_2.on () егер Lett_B ішіндегі «3»: басып шығару («LED 3») led_3.on () егер Lett_B ішіндегі «4» болса: басып шығару («LED 4») led_4.on () егер Lett_B ішіндегі «5» болса: басып шығару («LED 5 «) led_5.on () егер» 6 «Lett_B -де болса: басып шығарыңыз (» жарықдиодты 6 «) -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () ұйқы (0.3) # қысқа қараңғы үзіліс, егер _name_ == '_main_ ': main ()

4 -қадам: Outlook және ескертулер

Сонымен, келесі не болуы мүмкін?

AIY бейне жинағымен немесе кіріспеде көрсетілген басқа автоматтандырылған жүйемен АТ мета-әзілінен басқа, нұсқаулықта сипатталған түсінікті кеңейтудің басқа нұсқалары болуы мүмкін. Олардың кейбіреулері нақты өмірде де қолданылуы мүмкін. Бұл болуы мүмкін:

- жақсартылған бағдарламалау, осылайша мәтін барлық белгілер мен қысулармен Брайль шрифтінің стандартты кодына көшіріледі. Бұл білікті питон бағдарламашысы үшін көп күш жұмсамауы керек.

- жүйені 2х4 матрицасына дейін кеңейту. Брайль шрифтінің электронды дисплейлерінде қолданылатын 8 нүктелі Брайль кодымен сәйкес кодтарды қолдануға көмектесу керек. Мұның үстіне, бұл Dearheart clacks жүйесіне сәл жақынырақ болар еді.

- нақты 2x3 немесе 2x4 Брайль дисплейін құру. Серво жиынтығын немесе 5В шағын электромагниттік массивті қолдану мүмкін болуы керек. Негізгі қиындық электронды дисплейлерде тактілік нүктелер арасындағы стандартты қашықтық 2,45 мм немесе 1/10 дюйм болатындықтан, кейбір редукторлар мен механика қажет болуы мүмкін. Басқа қиындық итеру ұзындығын дәл реттеу болуы мүмкін.

Мұндай қарапайым және арзан шешім көпшілік үшін қызығушылық тудыруы мүмкін, себебі коммерциялық Брайль шрифті өте қымбат. Дауыспен басқарылатын мұндай жүйені қолданған Брайльді үйренушілер үшін пайда болуы мүмкін. Олар ауызша түрде өздері таңдаған (ағылшын) сөйлемді енгізіп, саусақтарының ұштарында мәтінді, әріптерді және белгілерді ала алады.

- Мюррей немесе Dearheart жүйелеріне ұқсас механикалық ысырма жүйесін құру. Серверлерді пайдалану өте күрделі болмауы керек және басқа нұсқаулықта сипатталуы мүмкін. Немесе мектептің жақсы жобасы болуы мүмкін. Қызыққандар бар ма?

–――――

Кейбір ескертулер мен қызығушылық сілтемелер:

- Кейбір пропеллерлік демо -тақтаға негізделген 2х4 жарықдиодты матрицасы бар «DIY семафорлық шамды» сипаттайтын нұсқаулық бар. Маған макет ұнайды, бірақ бағдарламалау маған біршама күрделі болып көрінеді. Өтінемін, өзіңіз қараңыз.

- Мен қазір толық келісілген (2 -сынып) Брайль шрифтін шығаратын питон бағдарламасын таптым. Өкінішке орай, бұл python 2 және 2002 жылғы американдық ағылшын нұсқасымен шектелген:

- неғұрлым толық бағдарлама liblouis сияқты, https://github.com/liblouis/liblouis, бірақ мен оны осы шешімге қалай біріктіру керектігін білмеймін.

- қызықты питон шешімі Грециядан келген сияқты, https://github.com/ant0nisk/pybrl бірнеше тілді біріктіре алады және Брайль шрифтінің 2 -дәрежесін жасай алады.

- Мен бағдарламашы емеспін, электроник емеспін, бірнеше күн бұрын Брайль шрифті бойынша көп білімім жоқ еді.

Сондықтан егер сізде қандай да бір қателер, кемшіліктер немесе жобаға қатысты идеялар болса, маған хабарлаңыз.

- Егер сізге бұл нұсқаулық ұнаса, оған дауыс беріңіз!

Ұсынылған: