Агуулгын хүснэгт:

Дуу хоолойгоор хянагддаг, Брайль маягийн хэв маягийн семафор: 4 алхам (зурагтай)
Дуу хоолойгоор хянагддаг, Брайль маягийн хэв маягийн семафор: 4 алхам (зурагтай)

Видео: Дуу хоолойгоор хянагддаг, Брайль маягийн хэв маягийн семафор: 4 алхам (зурагтай)

Видео: Дуу хоолойгоор хянагддаг, Брайль маягийн хэв маягийн семафор: 4 алхам (зурагтай)
Видео: Сосуны и пианино ► 2 Прохождение Silent Hill (PS ONE) 2024, Долдугаар сарын
Anonim
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор
Дуу хоолойгоор хянагддаг, Брайль үсгийн хэв маягийн семафор

Лорд Ветинари голын нөгөө эрэг дээрх семафор цамхагийг харан цонхныхоо дэргэд зогсож байв. Түүн рүү харсан найман том хаалт бүгд харанхуй, цагаан, хар, цагаан, хар, цагаан мэт нүдээ анивчлаа … Мэдээлэл агаарт нисч байв. Түүний ард хорин милийн цаана, Сто Лат дахь өөр цамхаг дээр хэн нэгэн дурангаар харж, тоонууд хашгирч байв. Ирээдүй биднийг ямар хурдан хүлээж байна гэж тэр бодлоо. Т. Пратчетт, Тав дахь заан

AIY хоолойны иж бүрдэл дээр суурилсан дуут удирдлагатай үсрэх үүр барьсны дараа надад харилцаа холбооны болон мэдээлэл дамжуулах эхлэлийг хамгийн сүүлийн үеийн мэдээллийн технологийн хамтад нь нэгтгэн дуу хоолойгоор удирддаг семафор бүтээх санаа төрсөн юм.

Эхэндээ надад Францын семафорын системийг Chappe хуулбарлах санаа төрсөн бөгөөд энэ нь семафорын системийг ашиглан улсын хэмжээнд харилцаа холбооны анхны мэдэгдэж байсан систем юм. Гэхдээ нэг өдрийн дотор стандарт servo -ийг ашиглах нь хэтэрхий төвөгтэй байсан. Миний дараагийн зорилт бол Терри Пратчеттийн тайлбарласан clacks системтэй төстэй зүйл байв. "Шуудан явах" кинонд 2х4 хэмжээтэй хаалт семафорын системээр (кинонд дүрсэлсэн 4х4 матриц шиг биш). Харамсалтай нь би энэ систем дээр байгаа техникийн дэлгэрэнгүй мэдээллийг олж чадаагүй. Тиймээс би Их Британийн Тэнгисийн цэргийн хүчин хэсэг хугацаанд ашиглаж байсан Лорд Мюррейгийн боловсруулсан 2x3 матрицын семафорын системийг олж авлаа. Нэмж дурдахад зургаан хаалттай/битийн систем нь AIY voice HAT дээр байдаг зургаан servo холбогчтой сайн нийцдэг. Гэсэн хэдий ч хэдэн жилийн турш надад зургаан servo байхгүй байсан тул би эхлээд LED -ээр хийсэн симулятор бүтээхээр шийдэв.

Үзүүлсэн кодын хувьд Мюррей системийг ашиглаж болно, гэхдээ миний олж авсан мэдээлэл хязгаарлагдмал байсан тул тоо, тэмдэг харуулахыг зөвшөөрөөгүй болно. Тиймээс би 2х3 хэмжээтэй матриц ашиглан үсэг, тоо болон бусад тэмдгийг харуулахын тулд Брайль системийг ашиглахаар шийдлээ. Брайль систем нь хараагүй хүмүүст унших боломжтой текст хэвлэх олон улсын стандарт юм. Энэ нь тэмдэглэгээний хэл бөгөөд тоон үзүүлэлтийг ашиглан тоонуудыг дараа нь харуулах болно, мөн дараах үсгүүдийн аль нэгийг эсвэл том үсгийг томоор бичсэнийг тодорхойлох үзүүлэлт юм. Тиймээс би брайль системийн Nemeth өргөтгөлөөр тодорхойлсон тоо, зарим тэмдгийг арай хялбаршуулсан системийг бий болгохоор шийдсэн бөгөөд ядаж эхэнд нь том үсгээр бичихээр шийдлээ. Энэ нь миний тусгай аппликейшнд харуулах үсэг, тоо, тэмдэг бүрийн өвөрмөц загвартай байх, жинхэнэ брайль үсгээр бичихэд шаардлагатай текстийн анализыг орхих боломжийг олгодог.

Эцсийн төхөөрөмж нь AIY дуу таних системд үг, өгүүлбэр хэлэх боломжийг олгодог бөгөөд дараа нь дууны хэв маягийн өгөгдлийг WLAN болон интернетээр дамжуулан АНУ -ын Google -ийн зарим сүлжээнд илгээж, тэнд код тайлж, миний хувьд тайлбарласан болно. өгөгдлийг Европ руу буцааж илгээдэг бөгөөд эцэст нь хүлээн зөвшөөрөгдсөн өгүүлбэрийг текст мөр болгон харуулдаг. Энэ текстийн мөрийг Python скриптээр тус тусад нь үсэг болгон хувааж, одоо харгалзах хэв маягийг тодорхойлсон толь бичигтэй харьцуулж үзвэл загварын мэдээллийг дахин сэргээж, загварыг 2х3 хэмжээтэй LED матриц дээр харуулав. Та дагалдах видеог үзээрэй.

Би дэлгэцийн хурдыг секундэд нэг тэмдэгт болгож өгсөн бөгөөд энэ нь бэлтгэгдсэн хүн загварыг таних, орчуулах хангалттай урт байх ёстой. Дараагийн алхам бол AIY vision HAT (Европт одоогоор байхгүй) гэх мэт загвар таних төхөөрөмжийг ашиглан загварыг автоматаар уншиж, тайлбарлаж, тойргийг хаах явдал юм.

Сайжруулах талаархи нэмэлт ойлголтуудыг, зарим нь илүү бодит хамааралтай, энэхүү зааврын "хэтийн төлөв" хэсэгт хэлэлцсэн болно.

Алхам 1: Ашигласан материал

Ашигласан материал
Ашигласан материал
Ашигласан материал
Ашигласан материал

Raspberry Pi 3

AIY хоолой HAT

5 мм диаметртэй найман цагаан LED. Эдгээр нь 3V дээр ажилладаг тул резистор шаардлагатай болно.

100 кОм эсэргүүцэл. Магадгүй энэ нь төгс шийдэл биш байж магадгүй ч гарт байсан.

Холбогч кабель

Богино утас

Breadboard, тохиргоог туршиж үзэх боломжтой.

Нэрийн хуудсанд зориулсан хуванцар хайрцаг.

Хоёр ширхэг 4 мм -ийн хуванцар хөөс, зарим нь хог дээр үлдсэн.

Дээрх шиг сарниулагч шиг хуванцар мембраны зарим хэсэг.

Гагнуурын төмөр ба гагнуур, хутга.

Алхам 2: Тохиргоо ба хэрэглээ

Тохиргоо ба хэрэглээ
Тохиргоо ба хэрэглээ
Тохиргоо ба хэрэглээ
Тохиргоо ба хэрэглээ
Тохиргоо ба хэрэглээ
Тохиргоо ба хэрэглээ

Raspberry Pi болон AIY HAT -ийг AIY voice HAT гарын авлагад заасны дагуу тохируулна уу. Pi ба HAT -ийг угсрахаасаа өмнө толгойг дор хаяж servo порт руу гагнахыг зөвлөж байна, учир нь энэ нь servo, breadboard эсвэл LED -ийг хялбархан холбох боломжийг олгодог.

Дэлгэцийн хайрцгийг нэрийн хуудас хийх зориулалттай хуванцар хайрцгийн таг, хайрцагт хоёр ширхэг хөөс, сарниулагчтай ижил хэмжээтэй сав баглаа боодлын мембранаас бүтээжээ. Хөөсний хэсгүүдийн нэгэнд зургаан нүхийг түлхэж, LED -ийг байрлуулав. LED -ийн богино хөл (газрын тал) нь бие биентэйгээ нэг ширхэг кабелиар холбогдсон бөгөөд дараа нь резистор нэмж, холбогч кабелийг сүүлд нь гагнав. LED -ийн нөгөө хөл дээр (нэмэлт тал) холбогч кабелийг гагнасан.

Эдгээрийг дараа нь AIY дууны HAT дээрх servo порттой уртасгах кабелиар, эерэг талыг (гадна талын) "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 жишээний дериватив болох AIY voice HAT ашиглан өмнөх төсөлд ашиглаж байсан скриптийн дериватив юм.

Та бас интернэтээс олж авсан Мюррей кодын хэсэг бүхий толь бичгийг текст файл хэлбэрээр олж болно. Энэ нь тоо агуулаагүй бөгөөд зарим үсгийг орхигдуулсан нь энд асуудал үүсгэх болно.

Хөтөлбөрийн өнөөгийн байдлын нэг хязгаарлалт бол толь бичигт ороогүй тэмдэг нь програмыг сүйрүүлэх болно. Нэмж дурдахад энэ нь Брайль кодыг бүрэн эхээр нь тэмдэглэх хэлний дүрслэл биш юм. Доорх скриптээс харахад тоонуудын Nemeth код нь стандарт брайль үсгийн зарим тэмдэгтүүдээс хэтэрсэн боловч энэ нь манай тусгай програмд асуудал үүсгэхгүй байх ёстой.

#!/usr/bin/env python3

# Энэ скрипт нь AIY дууны HAT -ийн servo_demo.py скриптийн дасан зохицол юм. цаг импортлох нойр # Толь бичиг: Брайль үсгийн зохиомлоор өөрчлөгдсөн цагаан толгой, Брайль үсгийн Nemeth өргөтгөлөөс авсан # тоо болон зарим тэмдэгт_6A = {"": "123456", # зай "А": "1", "В": "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", # Дараагийн үсэг нь том үсгээр бичигдсэн; Дугаар зогсоох уу? "": "", # Nemeth Braille код бол 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', Braille '?' "9": "35", "0": "356", "+": "346", "-": "36", "/": "34", "(": "12356", ") ":" 23456 ","*":" 1346 " # '*' нь Nemeth -ийн хоёр хээтэй тэмдэг бөгөөд энд ослыг орхихын тулд 'x' -ээр солигдсон байна}" "", Брайль үсгийн стандарт дугаарын загвар Доорх хэсгийг "1": "1", "2": "12", "3": "14", "4": "145", "5": "15", "Nemeth-Codes" гэж орлуулсан болно. 6 ":" 124 "," 8 ":" 1245 "," 9 ":" 24 "," 0 ":" 245 "," "" #Текст = "rbhTZkl 9t64+34 #!" # Sampletext, дибаг хийх зорилгоор def main (): танигч = aiy.cloudspeech.get_recognizer () танигч.хүлээлтийн_фаз ('баяртай') # түлхүүр үг, програмын товчлуурыг дуусгадаг = 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) # 1-р холбогч, servo0, GPIO 26 # зүүн дээд led_2 = LED (6) # 2-р холбогч, servo1, GPIO 06 # зүүн зүүн талын гэрэл_3 = LED (13) # 3 -р холбогч, servo2, GPIO 13 # зүүн доод талын гэрэл_4 = LED (5) # 4 -р холбогч, servo3, GPIO 05 # баруун дээд LED_5 = LED (12) # 5 -р холбогч, servo4, GPIO 12 # дунд баруун LED_6 = LED (24) # 4 -р холбогч, servo3, GPIO 13 # баруун доод # зай = Товчлуур (5) # servo3/GPIO 05 -д холбогдсон зай мэдрэгч, энд ашиглагддаггүй aiy.audio.say ("Сайн уу!",) Aiy.audio.say ("Эхлэхийн тулд товчлуурыг дарна уу"), aiy.audio.say ("Хэрэв та надад баяртай гэж хэлвэл би хөтөлбөрийг дуусгана"), үнэн байхад # эхлэх болно. давталт led.set_state (aiy.voicehat. LED. BLINK) хэвлэх ("Дуу таних функцийг идэвхжүүлэхийн тулд n, цэнхэр товчлуурыг дараад дараа нь ярь ") print () button.wait_for_press () хэвлэх ('Сонсож байна …') aiy.audio.say (" Би сонсож байна ",) led.set_state (aiy.voicehat. LED. BLINK_3) текст = танигч.хүлээн зөвшөөрөх () хүлээн зөвшөөрөгдсөн өгүүлбэрийн # текстийн мөр led.set_state (aiy.voicehat. LED. OFF) хэрэв текст байхгүй бол: aiy.audio.say ('Уучлаарай, би таныг сонсоогүй.',) elif 'баяртай' текст дээр: aiy.audio.say ("Баяртай",) aiy.audio.say ('Arrivederci',) aiy.audio.say ('Auf Wiedersehen',) унтах (3) хэвлэх ('баяртай! ') завсарлага # програмыг зогсооно, өөр програмыг дуусгана: хэвлэх (' Та хэллээ "', текст,'" ') # # Та системийн тайлбарыг шалгах боломжийг танд олгоно..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" in Lett_B): хэвлэх ("LED 1") led_1.on () # Lett_B дотор "2" байвал # servo0 "дээр LED идэвхжүүлнэ: 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 () хэрэв Lett_B дотор" 6 "байвал: хэвлэх (" LED 6 ") led_6.on () унтах (1) # хоёр дахь хэвлэлийн дэлгэцийн загвар () led_1.off () # servos0 дээрх бүх LED -ийг идэвхгүй болгох -5n led_2.off () led_3.off () led_4.off () led_5.off () led_6.off () унтах (0.3) # богино харанхуй завсарлага, хэрэв _name_ == '_main_ бол захидлын төгсгөлийг заана. ': main ()

Алхам 4: Outlook ба тайлбарууд

Тэгэхээр дараа нь юу байж болох вэ?

AIY видео хэрэгсэл эсвэл танилцуулгад дурдсан автомат зураг таних системтэй хийсэн IT мета онигооноос гадна энэхүү зааварт тайлбарласан ойлголтыг өргөжүүлэх өөр сонголтууд байж болно. Тэдний зарим нь бодит амьдрал дээр ч ашиглагдаж магадгүй. Эдгээр нь байж болно:

- сайжруулсан програмчлал, ингэснээр текстийг брайль үсгийн стандарт код болгон, бүх тэмдэглэгээ, шахалттай хамт шилжүүлэх болно. Энэ нь чадварлаг питон програмистын хувьд тийм ч их хүчин чармайлт гаргах ёсгүй, тиймээс би ямар ч тусламж хүлээж авах болно.

- системийг 2х4 хэмжээтэй матриц болгон өргөжүүлэх. Боломжтой байх ёстой бөгөөд брайль үсгийн электрон дэлгэц дээр ашигладаг 8 цэгийн брайль кодыг ашиглахад туслах болно. Үүний дээр энэ нь Dearheart clacks системтэй арай ойр байх болно.

- жинхэнэ 2х3 эсвэл 2х4 хэмжээтэй Брайль дэлгэц бүтээх. Үүнийг олон серво эсвэл 5В мини ороомог ашиглан хийх боломжтой байх ёстой. Гол бэрхшээл бол хүрэлцэх цэгүүдийн хоорондох стандарт зай нь электрон дэлгэц дээр 2.45 мм буюу 1/10 инч байх тул зарим араа, механик шаардлагатай байж магадгүй юм. Өөр нэг бэрхшээл бол түлхэлтийн уртыг нарийн зохицуулах явдал юм.

Ийм энгийн бөгөөд хямд шийдэл нь брайль үсгийн арилжааны дэлгэц нь нэлээд үнэтэй байдаг тул олон нийтэд сонирхолтой байж магадгүй юм. Ийм дуу хоолойгоор удирддаг системийг ашиглах нь Брайль хэл сурч буй хүмүүст ашигтай байж болох юм. Аман байдлаар тэд сонгосон өгүүлбэрээ (англи хэлээр) оруулаад хурууны үзүүрт бичигдсэн текст, үсэг, тэмдгийг аваарай.

- Мюррей эсвэл Dearheart системтэй төстэй механик хаалтын системийг бүтээх. Серво ашиглах нь тийм ч төвөгтэй биш бөгөөд үүнийг өөр зааварт тайлбарлаж болно. Эсвэл сургуулийн сайхан төсөл байж болно. Сонирхож буй хүн байна уу?

–――――

Сонирхолтой зарим тайлбар, холбоосууд:

- Зарим Propeller демо самбар дээр суурилсан 2х4 хэмжээтэй LED матриц болох "DIY семафор дэнлүү" -ийг тайлбарлах заавар байдаг. Би зохион байгуулалтанд дуртай боловч програмчлал нь надад арай төвөгтэй санагдаж байна. Та бүхэн өөрсдөө үзээрэй.

- Би одоо бүрэн гэрээтэй (2 -р анги) брайль үсгийг бий болгох питон програм оллоо. Харамсалтай нь энэ нь зөвхөн python 2 болон 2002 оны Америкийн англи хувилбараар хязгаарлагддаг:

- Илүү бүрэн гүйцэд програм бол liblouis юм шиг санагддаг, гэхдээ https://github.com/liblouis/liblouis, гэхдээ үүнийг энэ шийдэлд хэрхэн нэгтгэх талаар би мэдэхгүй байна.

- Сонирхолтой питоны шийдэл нь Грекээс ирсэн бололтой, https://github.com/ant0nisk/pybrl нь хэд хэдэн хэлийг нэгтгэж, 2 -р зэргийн брайль үсгийг бий болгож чадна.

-Би програмист, цахилгаанчин биш, хэд хоногийн өмнө Брайль үсгийн талаар тийм ч их мэдлэгтэй байгаагүй.

Тиймээс, хэрэв танд ямар нэгэн алдаа, дутагдал, эсвэл төслийн талаар санаа байгаа бол надад мэдэгдээрэй.

- Хэрэв танд энэ заавар таалагдаж байвал саналаа өгөөрэй!

Зөвлөмж болгож буй: