Satura rādītājs:

Balss vadīts Braila raksta raksta semafors: 4 soļi (ar attēliem)
Balss vadīts Braila raksta raksta semafors: 4 soļi (ar attēliem)

Video: Balss vadīts Braila raksta raksta semafors: 4 soļi (ar attēliem)

Video: Balss vadīts Braila raksta raksta semafors: 4 soļi (ar attēliem)
Video: 2.seminārs ģimenes ārstiem "Tehniskās un organizatoriskās prasības ģimenes ārsta praksēm, u.c." 2024, Novembris
Anonim
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors
Balss vadīts Braila raksta raksta semafors

"Lords Vetinari stāvēja pie sava loga un vēroja semafora torni upes otrā krastā. Visi astoņi lielie slēģi, kas bija pret viņu, nikni mirgoja - melna, balta, melna, balta, melna, balta … Informācija lidoja gaisā. Divdesmit jūdzes aiz viņa, citā Sto Lat tornī, kāds skatījās caur teleskopu un kliedza skaitļus. Cik ātri mums nāk nākotne, viņš domāja. " T. Pratčets, Piektais zilonis

Pēc balss vadīta lēciena ligzdas izveidošanas, pamatojoties uz AIY balss komplektu, man radās ideja izveidot ar balsi vadāmu semaforu, apvienojot jaunākās IT tehnoloģijas ar telekomunikāciju un datu pārsūtīšanas pirmsākumiem.

Sākumā man radās ideja atkārtot Šapes franču semafora sistēmu, kas bija pirmā zināmā valsts mēroga telekomunikāciju sistēma, izmantojot semafora sistēmu. Bet tas izrādījās mazliet pārāk sarežģīti, lai to varētu realizēt, izmantojot standarta servosus vienas dienas laikā. Mans nākamais mērķis bija kaut kas līdzīgs Terry Pratchett aprakstītajai clacks sistēmai, piem. filmā "Going Postal", kā 2x4 slēģu semafora sistēma (nevis kā filmā attēlotā 4x4 matrica). Diemžēl šajā sistēmā nevarēju atrast pārāk daudz tehniskās informācijas. Tā es nonācu pie lorda Mareja izstrādātās 2x3 matricas semafora sistēmas, kuru kādu laiku izmantoja Lielbritānijas Jūras spēki. Turklāt sešu aizvaru/bitu sistēma labi iederas sešos servo savienotājos, kas pieejami AIY balss HAT. Bet, tā kā gadu gaitā man nebija pa rokai seši servo, es beidzot nolēmu vispirms izveidot simulatoru, kas izgatavots no gaismas diodēm.

Attiecībā uz parādīto kodu varētu izmantot Murray sistēmu, taču atkal man pieejamā informācija bija diezgan ierobežota, neļaujot attēlot ciparus un simbolus. Tāpēc es nonācu pie tā, ka tā vietā jāizmanto Braila sistēma, kas arī izmanto 2x3 matricu, lai parādītu burtus, ciparus un citas zīmes. Braila sistēma ir starptautisks standarts neredzīgajiem lasāmu tekstu drukāšanai. Tā ir arī iezīmēšanas valoda, kas izmanto skaitļu indikatoru, lai noteiktu, ka numuri tiks parādīti tālāk, un indikatorus, lai definētu, ka viens vai daudzi no šiem burtiem ir rakstīti ar lielajiem burtiem. Tāpēc es nolēmu izveidot nedaudz vienkāršotu sistēmu ar cipariem un dažām zīmēm, kas definētas ar Braila raksta Nemeth paplašinājumu, un tikai sākumā izmantot lielos burtus. Tas ļauj manā īpašajā lietojumprogrammā parādīt unikālus modeļus katram burtam, ciparam vai zīmei un izlaist teksta analīzi, kas nepieciešama reālajam Braila rakstam.

Pēdējā ierīce ļauj izrunāt vārdu vai teikumu AIY balss atpazīšanas sistēmā, pēc tam balss modeļa dati tiek nosūtīti, izmantojot WLAN un internetu, uz kādu Google serveri ASV, tur tiek atšifrēti un vismaz manā gadījumā tiek interpretēti dati tiek nosūtīti atpakaļ uz Eiropu, kur beidzot tiek parādīts atpazītais teikums kā teksta virkne. Pēc tam šo teksta virkni Python skripts sadala atsevišķos burtos, un tagad, salīdzinot ar vārdnīcu, kas definē atbilstošos modeļus, informācija par modeli tiek atgūta un modeļi tiek parādīti 2x3 LED matricā. Lūdzu, apskatiet pievienoto video.

Es esmu iestatījis attēlošanas ātrumu uz vienu rakstzīmi sekundē, kam vajadzētu būt pietiekami ilgam laikam, lai apmācīta persona varētu identificēt un tulkot modeli. Iespējamais nākamais solis būtu izmantot modeļu atpazīšanas ierīci, piemēram, AIY redzes cepuri (līdz šim Eiropā nav pieejama), lai automātiski izlasītu un interpretētu modeļus, lai aizvērtu apli.

Turpmākie uzlabojumu jēdzieni, daži no tiem ir nozīmīgāki reālajā pasaulē, ir apskatīti šīs pamācības “perspektīvas” daļā.

1. darbība. Izmantotie materiāli

Izmantotie materiāli
Izmantotie materiāli
Izmantotie materiāli
Izmantotie materiāli

Raspberry Pi 3

AIY balss Cepure

Astoņas baltas gaismas diodes, 5 mm diametrā. Tie darbojas ar 3 V spriegumu, tāpēc ir nepieciešams rezistors.

100 kOhm rezistors. Varbūt ne ideāls risinājums, bet bija pie rokas.

Jumper kabeļi

Īss stieples gabals

Maizes dēlis, pēc izvēles, lai pārbaudītu iestatījumus.

Plastmasas kastīte vizītkartēm.

Divi 4 mm plastmasas putu gabali, daži paliek pāri atkritumiem.

Kāds plastmasas membrānas gabals kā difuzors, kā minēts iepriekš.

Lodāmurs un lodēt, nazis.

2. darbība: iestatīšana un lietošana

Uzstādīšana un lietošana
Uzstādīšana un lietošana
Uzstādīšana un lietošana
Uzstādīšana un lietošana
Uzstādīšana un lietošana
Uzstādīšana un lietošana

Iestatiet Raspberry Pi un AIY HAT, kā norādīts AIY balss HAT rokasgrāmatā. Pirms Pi un HAT salikšanas es ieteiktu lodēt galvenes vismaz pie servo pieslēgvietām, jo tas ļauj ērti savienot servosistēmas, maizes dēli vai gaismas diodes.

Displeja kaste bija veidota no vizītkaršu plastmasas kastes vāka, divi kastē ievietoti putu gabali un līdzīga izmēra iepakojuma membrānas gabals kā difuzors. Vienā no putu daļām tika iebīdīti seši caurumi un tajos ievietotas gaismas diodes. Gaismas diodes īsākās pēdas (zemes puse) tika savienotas viena ar otru ar kabeļa gabalu, pēc tam tika pievienots rezistors un pēdējam pielodēts džemperis. Uz citām kājām (plus pusē) gaismas diodes džemperu kabeļi tika pielodēti.

Pēc tam tie tika savienoti ar AIY balss HAT servo pieslēgvietām, izmantojot pagarinājuma kabeļus, pozitīvā puse pie (ārējām) "P in" tapām, negatīvais savienotājs - ar vienu no (iekšējām) zemējuma/mīnus tapām. Lūdzu, apskatiet pievienoto shēmu.

Pirms lodēšanas es ļoti iesakām pārbaudīt iestatījumus uz maizes dēļa.

Tagad membrāna, LED plāksne un blīvējuma slānis tika ievietoti plastmasas kastē.

Ievietojiet Braille_LED_1.py skriptu mapē src. Šajā gadījumā, iespējams, vispirms skripts ir jāizpilda.

Tagad, izmantojot Dev termināli (!), Ir sākta Braille_LED_1.py programma. Ievadiet “src/Braille_LED_1.py” un nospiediet “Enter”.

Tagad jums tiks lūgts nospiest AIY lodziņa pogu un pateikt savu vārdu vai teikumu. Ar zināmu kavēšanos sistēma atkārtos to, kas tika saprasts, un parādīs to ekrānā, kā arī burtu pēc burta sešu LED displejā.

Ja teikuma vietā ievadīsit atslēgvārdu "Goodbye", sistēma jums pateiks Goodbye, un programma tiks slēgta.

3. darbība: kods

Kods
Kods

Zemāk jūs atradīsit kodu, kas ļauj runāt ar AIY balss ierīci un lai atpazītais teikums tiktu parādīts burts pa burtam uz mazas 2x3 LED “semafora” vai Braila raksta matricas.

Kods ir atvasinājums no skripta, ko izmantoju iepriekšējā projektā, izmantojot AIY balss HAT, un tas ir atvasinājums no servo_demo.py piemēra, kas aprakstīts AIY balss HAT rokasgrāmatā.

Jūs varat arī atrast vārdnīcu ar Murray koda daļu, kuru es atradu internetā, kā teksta failu. Tas nesatur ciparus un izlaiž dažus burtus, kas šeit radītu problēmu.

Viens no programmas ierobežojumiem pašreizējā stāvoklī ir tas, ka, ja vārdnīcā neiekļauta zīme, tā avarētu. Turklāt tas nav visa Braila koda kā iezīmēšanas valodas attēlojums. Kā redzams zemāk esošajā skriptā, Nemeta kods cipariem ir lieks ar dažām pazīmēm standarta Braila rakstā, taču tam nevajadzētu radīt problēmas mūsu īpašajai lietojumprogrammai.

#!/usr/bin/env python3

# Šis skripts ir servo_demo.py skripta pielāgojums AIY balss HAT, # optimizēts uz AIY balstītam Baille tipa simbola displejam importēt aiy.audio importēt aiy.cloudspeech importēt aiy.voicehat no gpiozero importēšanas LED #from gpiozero importēšanas poga no laiks importēt miegu # Vārdnīca: mākslīgi pārveidots Braila raksta alfabēts, # cipari un daži simboli, kas ņemti no Braita raksta Braila paplašinājuma Braita_6A = {"": "123456", # atstarpe "A": "1", "B": "12 "," C ":" 14 "," D ":" 145 "," E ":" 15 "," F ":" 124 "," G ":" 1245 "," H ":" 125 ", "Es": "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 ", # Ciparu prefikss, ti, nākamās zīmes ir cipari", ":" 2 ",". ": "256", # punkts, teikuma beigas (GB) "?": "236", "!": "235", "" ":" 3 ","-":" 24 ","; ": "23", "Cap": "6", # Nākamā vēstule ir lielajos burtos; Numuru pietura? "": "", # Nemeth Braila kods ir matemātisks paplašinājums 6 punktu Braila rakstam # skatīt: https://en.wikipedia.org/wiki/Nemeth_Braille "1": "2", # Nemeth Code '1', Braila raksta komats "2": "23", "3": "25", "4": "256", "5": "26", "6": "235", # Nemeth '6', Braila raksts '!' "7": "2356", "8": "236", # Nemeth '8', Braila '?' "9": "35", "0": "356", "+": "346", "-": "36", "/": "34", "(": "12356", ") ":" 23456 ","*":" 1346 " # '*' ir divu zīmju simbols Nemetā, šeit aizstāts ar 'x', lai izlaistu avārijas. zemāk tika aizstāti ar atbilstošajiem Nemeta kodiem "1": "1", "2": "12", "3": "14", "4": "145", "5": "15", " 6 ":" 124 "," 8 ":" 1245 "," 9 ":" 24 "," 0 ":" 245 "," "" #Text = "rbhTZkl 9t64+34 #!" # Parauga teksts, atkļūdošanas nolūkiem def main (): atpazīšanas ierīce = aiy.cloudspeech.get_recognizer () tunnizētājs.expect_phrase ('uz redzēšanos') # atslēgvārds, beidz programmas pogu = aiy.voicehat.get_button () # AIY Pogas statusa LED = aiy.voicehat.get_led () # AIY Button-LED status aiy.audio.get_recorder (). start () led_1 = LED (26) # 1. savienotājs, servo0, GPIO 26 # augšējais kreisais led_2 = LED (6) # 2. savienotājs, servo1, GPIO 06 # vidējais kreisais led_3 = LED (13) # 3. savienotājs, servo2, GPIO 13 # apakšējais kreisais led_4 = LED (5) # 4. savienotājs, servo3, GPIO 05 # augšējais labais led_5 = LED (12) # 5. savienotājs, servo4, GPIO 12 # labais vidējais LED_6 = LED (24) # 4. savienotājs, servo3, GPIO 13 # apakšējais labais # attālums = Poga (5) # attāluma sensors, kas savienots ar servo3/GPIO 05, šeit netiek izmantots aiy.audio.say ("Sveiki!",) Aiy.audio.say ("Lai sāktu, lūdzu, nospiediet pogu") loop led.set_state (aiy.voicehat. LED. BLINK) print ("Lai aktivizētu balss atpazīšanu n, nospiediet zilo pogu un pēc tam runājiet ") poga print (). gaidīt_for_presso () drukāt (" Klausos … ") aiy.audio.say (" Es klausos ",) led.set_state (aiy.voicehat. LED. BLINK_3) teksts = atpazītājs.atzīt () # teksta virkne atpazītajā teikumā led.set_state (aiy.voicehat. LED. OFF), ja teksts nav: aiy.audio.say ('Atvainojiet, es jūs nedzirdēju.',) elif 'uz redzēšanos' tekstā: aiy.audio.say ("Goodbye",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) sleep (3) print ('bye! ') pārtraukums # pārtrauc cilpu un beidz programmu vēl: print (' Jūs teicāt '', teksts, '' ') # Ļauj pārbaudīt sistēmu interpretāciju, tostarp iesaisti aiy.audio.say (' Es domāju, ka jūs teicāt ',) aiy.audio.say (teksts) i] # Izvēlas vienu burtu, sākot ar pirmo, ti, [0] print ("Letter =", Lett) Lett_B = Braila_6A [Lett] # Paņem atbilstošo kodu no vārdnīca. Trūkstoša zīme pārtrauks kodu! print (Lett_B) if ("1" in Lett_B): print ("LED 1") led_1.on () # aktivizē LED pie servo0 ", ja" 2 "Lett_B: print (" LED 2 ") led_2.on () ja "3" Lett_B: drukāt ("LED 3") led_3.on () ja "4" Lett_B: drukāt ("LED 4") led_4.on () ja "5" Lett_B: print ("LED 5" ") led_5.on () ja" 6 "Lett_B: drukāt (" LED 6 ") led_6.on () miega režīms (1) # displeja modelis otrreizējai drukāšanai () led_1.off () # neaktivizē visas servo gaismas diodes0 -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () miega (0.3) # īsa tumša pauze, lai norādītu vēstules beigas, ja _name_ == '_main_ ': galvenais ()

4. darbība. Outlook un piezīmes

Tātad, kas varētu būt tālāk?

Papildus IT meta-jokam ar AIY video komplektu vai citu automatizētu attēlu atpazīšanas sistēmu, kas minēta ievadā, varētu būt arī citas iespējas, kā paplašināt šajā pamācībā aprakstīto jēdzienu. Daži no tiem pat varētu noderēt reālajā pasaulē. Tie varētu būt:

- uzlabota programmēšana, lai teksts tiktu pārnests uz standarta Braila kodu ar visiem iezīmējumiem un saspiešanu. Kvalificētam python programmētājam tam nevajadzētu pielikt lielas pūles. Kas es neesmu, tāpēc jebkāda palīdzība būtu apsveicama.

- paplašiniet sistēmu līdz 2x4 matricai. Tam vajadzētu būt arī iespējai, un tas palīdzētu izmantot atbilstošos 8 punktu Braila kodus, kā to izmanto elektroniskie Braila displeji. Iepriekš tas būtu mazliet tuvāk Dearheart clacks sistēmai.

- izveidojiet īstu 2x3 vai 2x4 Braila displeju. Vajadzētu būt iespējamai, izmantojot servo masīvu vai 5V mini solenoīdu masīvu. Galvenais izaicinājums būtu tāds, ka standarta attālums starp taustes punktiem elektroniskajos displejos ir 2,45 mm jeb 1/10 collas, tāpēc var būt nepieciešami daži pārnesumi un mehānika. Otrs izaicinājums varētu būt precīzi regulēt stumšanas garumu.

Šāds vienkāršs un lēts risinājums varētu interesēt plašāku sabiedrību, jo komerciālie Braila displeji ir diezgan dārgi. Braila valodas apguvēji, kas izmanto šādu balss vadītu sistēmu, varētu būt noderīgi. Tā kā viņi var mutiski ievadīt (angļu) teikumu pēc savas izvēles un saņemt tekstu, burtus un zīmes uz pirksta gala (-iem).

- izveidot mehānisku slēģu sistēmu, kas līdzinās Murray vai Dearheart sistēmām. Izmantojot servos, tam nevajadzētu būt pārāk sarežģītam, un to varētu aprakstīt citā pamācībā. Vai arī tas varētu būt jauks skolas projekts. Kāds interesējas?

–――――

Dažas piezīmes un interesējošās saites:

- Ir pamācība, kas apraksta "DIY semafora laternu", 2x4 LED matricu, kuras pamatā ir kāda propellera demonstrācijas plāksne. Man patīk izkārtojums, bet programmēšana man šķiet mazliet sarežģīta. Lūdzu, paskatieties paši.

- Tagad es atradu python programmu, lai ģenerētu pilnībā kontraktu (2. pakāpe) Braila rakstu. Diemžēl tas attiecas tikai uz python 2 un 2002. gada amerikāņu angļu versiju: https://github.com/jpaugh/braille-converter.

- šķiet, ka pilnīgāka programma ir liblouis, https://github.com/liblouis/liblouis, taču man nav ne jausmas, kā to integrēt šajā risinājumā.

- šķiet, ka interesants pitona risinājums nāk no Grieķijas, https://github.com/ant0nisk/pybrl var integrēt vairākas valodas un ģenerēt 2. pakāpes Braila rakstu.

- Es neesmu ne programmētājs, ne elektronikas puisis, un pirms dažām dienām man nebija daudz zināšanu par Braila rakstu.

Tātad, ja redzat kļūdas, izlaidumus vai jums ir idejas par projektu, lūdzu, dariet man to zināmu.

- Ja jums patīk šī pamācība, lūdzu, balsojiet par to!

Ieteicams: