Orodha ya maudhui:

Sampuli ya Kudhibitiwa kwa Sauti, Aina ya Braille Semaphore: Hatua 4 (na Picha)
Sampuli ya Kudhibitiwa kwa Sauti, Aina ya Braille Semaphore: Hatua 4 (na Picha)

Video: Sampuli ya Kudhibitiwa kwa Sauti, Aina ya Braille Semaphore: Hatua 4 (na Picha)

Video: Sampuli ya Kudhibitiwa kwa Sauti, Aina ya Braille Semaphore: Hatua 4 (na Picha)
Video: UKIONA DALILI HIZI 9 WIKI 2 BAADA YA KUJAMIIANA KAPIME UKIMWI HARAKA HUENDA UMEAMBUKIZWA 2024, Julai
Anonim
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille
Sampuli ya Kudhibitiwa kwa Sauti, ya Aina ya Braille

"Bwana Vetinari alisimama kwenye dirisha lake akiangalia mnara wa semaphore upande wa pili wa mto. Vipimo vyote nane vikuu vilivyokuwa vimemkabili vilikuwa vinaangaza kwa hasira - nyeusi, nyeupe, nyeusi, nyeupe, nyeusi, nyeupe … Habari ilikuwa ikiruka hewani. Maili ishirini nyuma yake, kwenye mnara mwingine wa Sto Lat, mtu alikuwa akiangalia kupitia darubini na kupiga kelele namba. Jinsi siku za usoni zinatupata haraka, alidhani. " T. Pratchett, Tembo wa Tano

Baada ya kujenga sauti ya kuruka inayodhibitiwa na sauti kulingana na kitanda cha sauti cha AIY, nilikuwa na wazo la kuunda semaphore inayodhibitiwa na sauti, ikileta pamoja teknolojia ya hivi karibuni ya IT na mwanzo wa mawasiliano ya simu na uhamishaji wa data.

Mwanzoni nilikuwa na wazo la kuiga mfumo wa semaphore ya Ufaransa na Chappe, ambao ulikuwa mfumo wa kwanza kujulikana kwa mawasiliano ya kitaifa kote kwa kutumia mfumo wa semaphore. Lakini ikawa ngumu sana kupatikana kwa kutumia servos za kawaida ndani ya siku moja. Lengo langu lifuatalo lilikuwa kitu sawa na mfumo wa mabano ulioelezewa na Terry Pratchett, k.m. katika "Posting Going", kama mfumo wa 2x4 shutter semaphore (sio kama tumbo la 4x4 lililoonyeshwa kwenye sinema). Kwa bahati mbaya sikuweza kupata maelezo mengi ya kiufundi yanayopatikana kwenye mfumo huu. Kwa hivyo niliishia na mfumo wa matrix 2x3 ya matrix iliyoundwa na Lord Murray, ambayo ilitumiwa na Jeshi la Wanamaji la Uingereza kwa muda. Kwa kuongeza, mfumo wa shutter / bit sita hutoshea vizuri kwa viunganisho sita vya servo vinavyopatikana kwenye HAT ya sauti ya AIY. Lakini, kwa kuwa sikuwa na servos sita kati ya miaka, mwishowe niliamua kujenga simulator iliyotengenezwa na LED kwanza.

Kuhusiana na nambari iliyoonyeshwa, mtu anaweza kutumia mfumo wa Murray, lakini tena habari ambayo nilikuwa nimepata juu yake ilikuwa ndogo, hairuhusu kuonyesha nambari na alama yoyote. Kwa hivyo nilifika hatua ya kutumia mfumo wa Braille badala yake, ambayo pia hutumia tumbo la 2x3 kuonyesha herufi, nambari na ishara zingine. Mfumo wa Braille ni kiwango cha kimataifa cha kuchapisha maandishi yanayoweza kusomwa kwa vipofu. Pia ni lugha markup, ambayo hutumia kiashiria cha nambari kufafanua kwamba nambari zitaonyeshwa baadaye, na viashiria kufafanua hiyo, au nyingi, ya herufi zifuatazo zimeandikwa kama miji mikuu. Kwa hivyo niliamua kuanzisha mfumo uliorahisishwa kidogo, na nambari na ishara zingine zilizoainishwa na ugani wa Nemeth wa mfumo wa Braille badala yake, na tumia herufi kubwa, angalau kwa mwanzo. Hii inaruhusu kuwa na mifumo ya kipekee kwa kila herufi, nambari au ishara kuonyeshwa kwenye programu yangu maalum, na kuacha uchambuzi wa maandishi unaohitajika kwa Braille halisi.

Kifaa cha mwisho kinaruhusu kuongea neno au sentensi kwenye mfumo wa utambuzi wa sauti wa AIY, kisha data ya muundo wa sauti inatumwa kupitia WLAN na mtandao kwa baadhi ya Google huko Amerika, hupunguzwa hapo, na, kwa upande wangu, yaliyotafsiriwa data inarejeshwa Uropa, ambapo mwishowe napata sentensi inayotambuliwa kuonyeshwa kama kamba ya maandishi. Kamba hii ya maandishi kisha imevunjwa na hati ya Python kwenye herufi za kibinafsi, na sasa, kwa kulinganisha na kamusi inayoelezea mifumo inayolingana, habari ya muundo imerudishwa nyuma na mifumo inaonyeshwa kwenye tumbo la 2x3 la LED. Tafadhali angalia video inayoambatana.

Nimeweka kiwango cha kuonyesha kwa mhusika mmoja kwa sekunde, ambayo inapaswa kuwa ya kutosha kwa mtu aliyefundishwa kutambua na kutafsiri muundo. Hatua inayofuata inayowezekana itakuwa kutumia kifaa cha utambuzi wa muundo kama kofia ya maono ya AIY (hadi sasa haipatikani Ulaya) kusoma na kutafsiri mifumo moja kwa moja, ili kufunga mduara.

Dhana zaidi za maboresho, zingine zilizo na umuhimu zaidi wa ulimwengu, zinajadiliwa katika sehemu ya "mtazamo" wa hii inayoweza kufundishwa.

Hatua ya 1: Vifaa vilivyotumika

Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika
Vifaa vilivyotumika

Raspberry Pi 3

Kofia ya sauti ya AIY

LED nane nyeupe, 5 mm kipenyo. Hizi zinaendeshwa kwa 3V, kwa hivyo kontena inahitajika.

Mpingaji 100kOhm. Labda sio suluhisho kamili, lakini ilikuwa karibu.

Kamba za jumper

Kipande kifupi cha waya

Bodi ya mkate, hiari kujaribu usanidi.

Sanduku la plastiki la kadi za biashara.

Vipande viwili vya povu ya plastiki ya 4 mm, vingine viliacha takataka.

Sehemu fulani ya utando wa plastiki, kama usambazaji, kama hapo juu.

Soldering chuma na solder, kisu.

Hatua ya 2: Usanidi na Matumizi

Usanidi na Matumizi
Usanidi na Matumizi
Usanidi na Matumizi
Usanidi na Matumizi
Usanidi na Matumizi
Usanidi na Matumizi

Sanidi Raspberry Pi na AIY HAT kama inavyoonyeshwa katika mwongozo wa HAT ya sauti ya AIY. Napenda kupendekeza kuweka vichwa vya kichwa angalau kwa bandari za servo kabla ya kukusanyika Pi na HAT, kwani hii hukuruhusu kuunganisha kwa urahisi servos, ubao wa mkate au LED.

Sanduku la kuonyesha lilikuwa limejengwa kutoka kwenye kifuniko cha sanduku la plastiki kwa kadi za biashara, vipande viwili vya povu vilivyowekwa ndani ya sanduku na kipande sawa cha utando wa ufungaji kama utaftaji. Katika sehemu moja ya povu mashimo sita yalisukumwa na taa za LED zikawekwa ndani yao. Miguu mifupi (upande wa chini) wa LED ziliunganishwa na kila mmoja na kipande cha kebo, kisha kipinga kikaongezwa na kebo ya jumper iliuzwa kwa mwisho. Kwa miguu mingine (pamoja na upande) wa nyaya za kuruka za LED ziliuzwa.

Hizi basi ziliunganishwa na bandari za servo kwenye kofia ya sauti ya AIY kupitia nyaya za mwinuko, upande mzuri kwa pini (za nje "P ndani", kontakt hasi kwa moja ya pini (ndani) ya ardhi / minus. Tafadhali angalia mpango ulioambatanishwa.

Napenda kupendekeza sana kujaribu usanidi kwenye ubao wa mkate kabla ya kuuza.

Sasa utando, sahani ya LED na safu ya kuziba ziliwekwa kwenye sanduku la plastiki.

Weka hati ya Braille_LED_1.py kwenye folda ya src. Kwa hali, italazimika kufanya hati iweze kutekelezwa kwanza.

Sasa kutumia kifaa cha Dev (!) Programu ya Braille_LED_1.py imeanza. Ingiza 'src / Braille_LED_1.py' na bonyeza 'Enter'.

Sasa utaulizwa kubonyeza kitufe cha kisanduku cha AIY na kusema neno lako au sentensi. Kwa kuchelewa kidogo, mfumo utarudia kile kilichoeleweka, na kukionyesha kwenye skrini na vile vile, barua kwa barua, kwenye onyesho sita la LED.

Ukitoa neno kuu "Kwaheri" badala ya sentensi, mfumo utakuambia Kwaheri, na programu hiyo itafungwa.

Hatua ya 3: Kanuni

Kanuni
Kanuni

Hapo chini unapata nambari inayokuruhusu kuzungumza na kifaa cha sauti cha AIY na uwe na sentensi inayotambuliwa iliyoonyeshwa kwa herufi kwa herufi ndogo ya 2x3-LED 'semaphore' au aina ya Braille.

Nambari ni chanzo cha hati niliyotumia kwa mradi uliopita kwa kutumia sauti ya AIY HAT, kuwa inayotokana na mfano wa servo_demo.py ulioelezewa katika mwongozo wa HAT ya sauti ya AIY.

Unaweza pia kupata kamusi na sehemu ya nambari ya Murray niliyoipata kwenye wavuti, kama faili ya maandishi. Haina nambari na huacha barua zingine, ambazo zinaweza kutoa shida hapa.

Kizuizi kimoja cha programu hiyo katika hali yake ya sasa ni kwamba ikiwa ishara isiyojumuishwa katika kamusi hiyo inaweza kuharibu programu. Kwa kuongeza sio uwakilishi wa Nambari kamili ya Braille kama lugha ya Markup. Kama unavyoona katika hati hapa chini, nambari ya Nemeth ya nambari haipatikani tena na ishara kadhaa katika Braille ya kawaida, lakini hiyo haipaswi kutoa shida kwa programu yetu maalum.

#! / usr / bin / env chatu3

# Hati hii ni mabadiliko ya hati ya servo_demo.py kwa kofia ya sauti ya AIY, # iliyoboreshwa kwa onyesho la ishara ya Baille ya Baille inayoingizwa kuagiza aiy.audio kuagiza aiy.cloudspeech kuagiza aiy.voicehat kutoka gpiozero kuagiza LED # kutoka kifungo cha kuagiza gpiozero kutoka muda wa kuagiza usingizi # Kamusi: alfabeti ya Braille iliyobadilishwa bandia, nambari # na alama zingine zilizochukuliwa kutoka kwa ugani wa Nemeth wa Braille Braille_6A = {"": "123456", # nafasi "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 ", # Kiambishi awali cha Nambari, yaani ishara zinazofuata ni nambari", ":" 2 ",". ": "256", # Stop kamili, mwisho wa sentensi (GB) "?": "236", "!": "235", "'": "3", "-": "24", ";": "23", "Sura": "6", # Barua inayofuata iko katika Makuu; Kuacha Nambari? "": "", # Nemeth Braille code ni upanuzi wa hesabu wa nukta 6 za Nukta # tazama: https://en.wikipedia.org/wiki/Nemeth_Braille "1": "2", # Nemeth Code '1', Comma ya Braille "2": "23", "3": "25", "4": "256", "5": "26", "6": "235", # Nemeth '6', Braille '!' "7": "2356", "8": "236", # Nemeth '8', Braille '?' "9": "35", "0": "356", "+": "346", "-": "36", "/": "34", "(": "12356", ") ":" 23456 "," * ":" 1346 "# '*' ni nembo mbili ya mfano huko Nemeth, hapa ikibadilishwa na 'x' ili kuacha shambulio}" "" kwa sababu ya unyenyekevu, mifumo ya kawaida ya nambari za Braille iliyotolewa chini zilibadilishwa na Nambari za Nemeth-1 ":" 1 "," 2 ":" 12 "," 3 ":" 14 "," 4 ":" 145 "," 5 ":" 15 "," 6 ":" 124 "," 8 ":" 1245 "," 9 ":" 24 "," 0 ":" 245 "," "" #Text = "rbhTZkl 9t64 + 34 #!" # Sampletext, kwa madhumuni ya utatuzi def main (): recognizer = aiy.cloudspeech.get_recognizer () recognizer.expect_phrase ('kwaheri') # neno kuu, inakamilisha kitufe cha programu = aiy.voicehat.get_button () # Hali ya Kitufe cha AIY imeongozwa = aiy.voicehat.get_led () # AIY Button-LED status aiy.audio.get_recorder (). anza () led_1 = LED (26) # kontakt 1, servo0, GPIO 26 # kushoto kushoto led_2 = LED (6) # 2 kontakt, servo1, GPIO 06 # katikati kushoto led_3 = LED (13) # kontakt 3, servo2, GPIO 13 # chini kushoto led_4 = LED (5) # 4 kontakt, servo3, GPIO 05 # juu kulia led_5 = LED (12) # 5 kontakt, servo4, GPIO 12 # katikati kulia led_6 = LED (24) # kontakt 4, servo3, GPIO 13 # kulia chini # umbali = kifungo (5) # sensor ya umbali iliyounganishwa na servo3 / GPIO 05, haitumiki hapa aiy.audio.say ("Hello!",) Aiy.audio.say ("Kuanza, tafadhali bonyeza kitufe",) aiy.audio.say ("Ukiniambia kwaheri, nitamaliza programu",) wakati Kweli: # inaanza kitanzi led.set_state (aiy.voicehat. LED. BLINK) chapa ("Kuamilisha sauti ya sauti n, bonyeza kitufe cha samawati, kisha zungumza ") chapa () kitufe. subiri_kwa_kigandamizi () chapisha ('Usikilize …') aiy.audio.say (" Ninasikiliza ",) led.set_state (aiy.voicehat. LED. BLINK_3 maandishi = kutambua. tambua () # kamba ya maandishi ya sentensi inayotambuliwa iliyoongozwa.set_state (aiy.voicehat. LED. OFF) ikiwa maandishi hayapo: aiy.audio.say ('Samahani, sikukusikia.',) elif 'kwaheri' katika maandishi: aiy.audio.say ("Kwaheri",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) lala (3) chapa ('bye! ') kuvunja # huacha kitanzi na kumaliza programu nyingine: chapisha (' Umesema ", maandishi,.audio.say (maandishi,) # uthibitisho wa acustic Text_up = text.upper () # huhamisha zote kwenda juu (Text_up) Text_Len = len (Text_up) chapa (Text_Len) kwa i katika masafa (Text_Len): Lett = Text_up # Chagua barua moja, kuanzia na ya kwanza, yaani [0] chapa ("Letter =", Lett) Lett_B = Braille_6A [Lett] # Chagua nambari inayofanana kutoka kwa kamusi. Ishara inayokosekana itavunja msimbo! chapisha (Lett_B) ikiwa ("1" katika Lett_B): chapisha ("LED 1") led_1.on () # inaamsha LED kwenye servo0 "ikiwa" 2 "katika Lett_B: chapa (" LED 2 ") iliyoongozwa_2.on () ikiwa "3" katika Lett_B: chapa ("LED 3") led_3.on () ikiwa "4" katika Lett_B: chapisha ("LED 4") led_4.on () ikiwa "5" katika Lett_B: chapa ("LED 5. -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () kulala (0.3) # mapumziko mafupi ya giza, kuonyesha mwisho wa barua ikiwa _name_ == '_main_ kuu:)

Hatua ya 4: Mtazamo na Maneno

Kwa hivyo inaweza kuwa nini ijayo?

Kando na meta-utani wa IT na kitanda cha video cha AIY au mfumo mwingine wa utambuzi wa picha uliotajwa katika utangulizi, kunaweza kuwa na chaguzi zingine za kupanua dhana iliyoelezewa katika hii inayoweza kufundishwa. Baadhi yao hata inaweza kuwa ya matumizi ya ulimwengu halisi. Hizi zinaweza kuwa:

- programu iliyoboreshwa, ili maandishi yahamishiwe katika nambari ya kawaida ya Braille, na alama zote na vifungo. Hiyo haifai kuwa juhudi kubwa kwa programu mwenye ujuzi wa chatu. Ambayo mimi sio, kwa hivyo msaada wowote utakaribishwa.

- panua mfumo kuwa matrix 2x4. Ingewezekana pia, na itasaidia kutumia nambari zinazofanana za nukta nane za nukta, kama vile hutumiwa na maonyesho ya elektroniki ya Braille. Juu ya hii, itakuwa karibu kidogo na mfumo wa kufungiwa kwa Dearheart.

- jenga onyesho halisi la 2x3 au 2x4 la Braille. Inapaswa iwezekanavyo kutumia safu ya servos au safu ya 5V mini solenoids. Changamoto ya msingi itakuwa kwamba umbali wa kawaida kati ya alama za kugusa ni 2.45 mm, au 1/10 inchi, kwenye maonyesho ya elektroniki, kwa hivyo gia na fundi zinahitajika. Changamoto nyingine inaweza kuwa kudhibiti kwa usahihi urefu wa kushinikiza.

Suluhisho rahisi na la bei rahisi linaweza kuvutia kwa umma pana, kwani maonyesho ya kibiashara ya Braille ni ghali sana. Kunaweza kuwa na faida kwa wanafunzi wa Braille kutumia mfumo kama huo wa kudhibitiwa kwa sauti. Kama wanavyoweza kuingiza sentensi (ya Kiingereza) ya chaguo lao, na kupata maandishi, herufi na ishara, zilizoonyeshwa kwenye ncha za vidole.

- jenga mfumo wa shutter wa mitambo unaofanana na Murray au mifumo ya Dearheart. Kutumia servos, hiyo haipaswi kuwa ngumu sana na inaweza kuelezewa kwa mwingine anayefundishwa. Au inaweza kuwa mradi mzuri wa shule. Mtu yeyote anavutiwa?

–――――

Maneno mengine na viungo vya kupendeza:

- Kuna maelezo ya kuelezea "taa ya semaphore ya DIY", 2x4 LED tumbo, kulingana na bodi ya onyesho la Propeller. Napenda mpangilio, lakini programu inaonekana kuwa ngumu kwangu. Tafadhali jiangalie mwenyewe.

- Sasa nimepata mpango wa chatu wa kutengeneza Braille iliyo na Mkataba kamili (Daraja la 2). Kwa bahati mbaya ni mdogo kwa chatu 2 na toleo la Kiingereza la Amerika la 2002:

- mpango kamili zaidi unaonekana kuwa liblouis, https://github.com/liblouis/liblouis, lakini sijui jinsi ya kuingiza hii katika suluhisho hili.

- suluhisho la kuvutia la chatu linaonekana linatoka Ugiriki, https://github.com/ant0nisk/pybrl inaweza kujumuisha lugha kadhaa na kutoa daraja la 2 Braille.

- Mimi sio programu, wala si mtu wa umeme, wala sikuwa na maarifa mengi juu ya Braille siku chache zilizopita.

Kwa hivyo ikiwa utaona makosa yoyote, upungufu, au una maoni kadhaa kwa mradi huo, tafadhali nijulishe.

- Ikiwa unapenda hii inayoweza kufundishwa, tafadhali ipigie kura!

Ilipendekeza: