Բովանդակություն:

Երկուական ծառի Մորզ ապակոդավորիչ. 7 քայլ (նկարներով)
Երկուական ծառի Մորզ ապակոդավորիչ. 7 քայլ (նկարներով)

Video: Երկուական ծառի Մորզ ապակոդավորիչ. 7 քայլ (նկարներով)

Video: Երկուական ծառի Մորզ ապակոդավորիչ. 7 քայլ (նկարներով)
Video: Binary Tree representation / Երկուական Ծառի ներկայացումը 2024, Նոյեմբեր
Anonim
Image
Image
Շղթայի դիագրամ
Շղթայի դիագրամ

Այս հրահանգը բացատրում է, թե ինչպես վերծանել Մորզեի կոդը ՝ օգտագործելով Arduino Uno R3:

Ապակոդավորիչը, որն ինքնաբերաբար հարմարվում է ուղարկման արագությանը, ունակ է վերծանել մորսը մինչև րոպեում առնվազն 80 բառ:

Մուտքային կոդը ցուցադրվում է որպես տեքստ ձեր Arduino սերիական մոնիտորի վրա (կամ TFT էկրանին, եթե այն տեղադրված է)

Եթե ցանկանում եք զբաղվել Մորս ուղարկելով, ներառված է հնչերանգային տատանում:

Ապակոդավորման առանձնահատկությունները.

  • 320 x 240 TFT ցուցադրման մոդուլ [1]
  • a Goertzel թվային ժապավեն ՝ անցանկալի ազդանշանները բաժանելու համար:
  • «Երկուական Մորզու ծառ» ազդանշանի վերծանման համար
  • ավտոմատ արագության հետևում
  • լսելի արդյունք մորս վարժեցնելիս
  • ցուցադրվում են ինչպես մուտքային, այնպես էլ ելքային տեքստերը:

Հետևյալ նշաններն ու նշանները ճանաչվում են.

  • [Ա.. Z]
  • [0..9]
  • [., ? ' ! / () &:; = + - _ " @]

Մորսի ապակոդավորման վահանի գնահատված արժեքը, հանած TFT էկրանը, 25 դոլար է: [1]

Պատկերներ

  • Շապիկի լուսանկարը ցույց է տալիս ամբողջությամբ հավաքված միավոր
  • Տեսանյութում երևում է, թե ինչպես է ապակոդավորիչը աշխատում

Նշումներ

[1]

  • TFT ցուցադրման մոդուլը պարտադիր չէ, քանի որ ամբողջ տեքստը ուղարկվում է ձեր Arduino «Սերիական մոնիտոր»:
  • TFT մոդուլը նկարագրված է իմ ուսանելի https://www.instructables.com/id/Arduino-TFT-Grap…- ում

Քայլ 1: Մասերի ցուցակ

Հետևյալ մասերը ստացվել են https://www.aliexpress.com/ կայքից

Arduino UNO R3- ի համար նախատեսված միայն 1 վահանի նախատիպ, 2,54 մմ սկիպիդար

Հետևյալ մասերը ձեռք են բերվել տեղում.

  • 1 միայն LM358 երկակի opamp
  • 1 միայն LED կանաչ
  • Միայն 1 LED սեղմակ
  • Միայն 1 էլեկտրիկ խոսափողի պարկուճ
  • 1 միայն նորմալ բացված կոճակ
  • 1 միայն 8-պինանոց DIP վարդակից
  • 2 ընդամենը 330 օմ դիմադրիչ
  • 2 միայն 2K2 դիմադրություն
  • 5 միայն 10K Օմ դիմադրիչներ
  • 2 միայն 56K Օմ դիմադրություն
  • 2 միայն 1uF կոնդենսատոր
  • 1 միայն 10uF կոնդենսատոր

Հետևյալ մասերը պարտադիր չեն.

  • 1 ընդամենը 2.2 դյույմ TFT SPI LCD ցուցադրման մոդուլ 240*320 ILI9341 SD քարտի բնիկով Arduino Raspberry Pi 51/AVR/STM32/ARM/PIC [1]
  • Մորզե ստեղն / սեղմիչ
  • 1 միայն BC548 NPN տրանզիստոր
  • Ընդամենը 1 դյույմ բարձրախոս
  • 1 ընդամենը 33K ohm դիմադրություն
  • 1 միայն 3.5 մմ մոնո խցան (մորսի բանալու համար)
  • 1 միայն 3.5 մմ մոնո վարդակից (մորսի բանալիի համար)
  • 3 միայն 9 մմ տրամաչափի M3 թիթեղյա նեյլոնե անջատիչներ
  • 1 միայն 130 x 68 x 44 մմ ABS պլաստիկ տուփ
  • 5 միայն 2-փին աջ անկյունային միակցիչ

Մորսի ապակոդավորման վահանի մոտավոր արժեքը, հանած կամընտիր TFT էկրանը, 25 դոլար է: [1]

Նշումներ

[1]

Ընտրովի 320 x 240 TFT ցուցադրման մոդուլի մասերի ցանկը թվարկված է իմ ուսանելի

[2]

Եթե ցանկանում եք օգտագործել ուղարկողին, պահանջվում է Մորս բանալին կամ ամուր սեղմիչ:

Քայլ 2: Շղթայի դիագրամ

Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ
Շղթայի դիագրամ

Պատկերներ

Լուսանկար 1 -ը ցույց է տալիս մորսի ապակոդավորիչի սխեման: 330 օհմ ռեզիստորը, որն ունի մորսի ստեղնը, սահմանափակում է D4- ի ելքային հոսանքը պատահական կարճ միացման դեպքում … դրա արժեքի բարձրացումը նվազեցնում է բարձրախոսից ձայնի ելքը: Այդ պատճառով ես այն չեմ ավելացրել վահանին, այլ այն կցել եմ անմիջապես մորս-բանալին ՝ հարմարվելու հեշտության համար:

Լուսանկար 2 -ը ցույց է տալիս համապատասխան վահան: Վահանը իմ ուսանելի https://www.instructables.com/id/Arduino-TFT-Grap…- ից է, որին ես ավելացրել եմ խոսափողի ուժեղացուցիչը և տոնային տատանումները: [1]

3 -րդ լուսանկարը ցույց է տալիս Arduino- ին ամրացված ավարտված վահանը: Այլ բաղադրիչներ չեն պահանջվում, եթե տեքստը դիտվի ձեր Arduino «Սերիայի մոնիտոր» -ում:

4 -րդ լուսանկարը ցույց է տալիս, որ ապակոդավորիչը մասամբ փակված է տուփով: Կափարիչի վրա փոս է կտրված ՝ ցուցադրումը դիտելու համար: Բարձրախոսն ու խոսափողը տաք սոսնձված են պատյանին: Բարձրախոսը ամրացնելուց առաջ կափարիչի վրա մի քանի անցք բացեք: Կափարիչի կենտրոնական վարդակն ընդլայնման խոսափողի համար է … առանց դրա ապակոդավորիչը պետք է տեղադրվի բարձրախոսին մոտ, ինչը միշտ չէ, որ հնարավոր է:

5 -րդ լուսանկարը ցույց է տալիս TFT էկրանը: Blackուցադրման եզրերին ամրացվել է սև էլեկտրական ժապավեն… այս ժապավենը կանխում է լույսի արտահոսքը և քողարկում է ցուցադրման և կափարիչի բացման միջև ցանկացած անհամապատասխանություն:

Կարևոր

[1]

USB մեծ միակցիչով Arduinos- ն պահանջում է էլեկտրական ժապավենի շերտ USB միակցիչի և Arduino վահանի միջև: Պատահական շորտեր հնարավոր են առանց ժապավենի, քանի որ բացվածքը փոքր է: Theապավենը չի պահանջվում Arduinos- ի համար, որոնք ունեն փոքր միակցիչներ:

Քայլ 3: Տեսություն

Տեսություն
Տեսություն
Տեսություն
Տեսություն
Տեսություն
Տեսություն

Մորզեի յուրաքանչյուր տառ պարունակում է կարճ և երկար տևողությամբ տոնների շարք, որոնք կոչվում են «կետեր» և «գծեր»:

  • կետը (.) 1 միավոր երկարություն ունի
  • գծիկ (_) 3 միավոր երկարություն ունի
  • տառերի տարրերի միջև տարածությունը 1 միավոր է
  • տառերի միջև տարածությունը 3 միավոր է
  • բառերի միջև տարածությունը 7 միավոր է

Մենք կարող ենք որոշել, թե արդյոք մուտքային տոնը կետ է, թե գծիկ ՝ համեմատելով դրա տևողությունը 2 միավոր երկարության տեղեկատուի հետ:

  • կետը 2 միավորից պակաս է
  • գծիկն ավելի քան 2 միավոր է

Կետերի և գծերի մուտքային օրինաչափությունը վերծանելու երկու հստակ մեթոդ կա.

  • գծային որոնում
  • երկուական ծառ (հայտնի է նաև որպես երկոտանի որոնում)

Գծային որոնում

Սովորական մեթոդներից մեկն այն է, որ ստեղծել կերպարների զանգված և դրանց համապատասխանող Մորզայի նախշերը: Օրինակ, հետևյալ կերպարներից յուրաքանչյուրը կպահպանվի որպես.

  • Ա. _
  • Բ _…
  • C _. _.
  • 0 _ _ _ _ _
  • 1. _ _ _ _
  • 2.. _ _ _

Յուրաքանչյուր տառ պահանջում է 6 բջիջ… 1 տառի համար և 5 (.) Եվ (_) -երի համար: Դա անելու համար մեզ անհրաժեշտ է տառերի [36] [6] բնույթի զանգված ՝ ընդհանուր 216 բջիջով: Սովորաբար չօգտագործված բջիջները լցվում են զրոյով կամ դատարկով:

Մուտքային կետերն ու գծերը վերծանելու համար մենք պետք է համեմատենք յուրաքանչյուր մուտքային տառի կետի/գծի օրինակը մեր տեղեկատուի նշանների օրինաչափությունների հետ:

Թեև այս մեթոդը գործում է, այն չափազանց դանդաղ է:

Ասեք, որ մենք ունենք 26 տառ ('A',.. 'Z') և թվերը ('0',… '9'), որոնք պահվում են զանգվածում, այնուհետև մենք պետք է կատարենք 36 որոնում, յուրաքանչյուրը մինչև 5 ենթահետախուզմամբ, որը ընդհանուր առմամբ կազմում է 36*5 = 180 որոնում `« 9 »թիվը վերծանելու համար:

Երկուական ծառ

Երկուական որոնումը շատ ավելի արագ է, քանի որ որոնումներ չեն պահանջվում:

Ի տարբերություն գծային որոնման, որը պահանջում է ինչպես բնույթի, այնպես էլ մորսի նախշերի պահպանում, երկուական ծառը պահում է միայն նիշերը, ինչը նշանակում է, որ զանգվածի չափը ավելի փոքր է:

Ես իմ երկուական ծառը (լուսանկար 1) երկու մասի եմ բաժանել (լուսանկարներ 2 և 3), որպեսզի այն ավելի ընթեռնելի լինի:

Նիշ գտնելու համար մենք ամեն անգամ կետ լսելիս ցուցիչը տեղափոխում ենք ձախ և ամեն անգամ, երբ գծիկ ենք լսում, ցուցիչը շարժում ենք աջ: Յուրաքանչյուր շարժումից հետո մենք կրկնակի կրճատում ենք ցուցիչի հեռավորությունը հաջորդ քայլի համար … հետևաբար անունը երկուական ծառ է:

«9» տառը (գծիկ, գծիկ, գծիկ, գծիկ, կետ) վերծանելու համար անհրաժեշտ է 5 քայլ … 4 դեպի աջ, և 1 դեպի ձախ, որը ցուցիչը թողնում է անմիջապես «9» -ի վրա:

Հինգ քայլը զգալիորեն ավելի արագ է, քան 180 որոնումը !!!!!

Երկուական նիշերի զանգվածը նույնպես ավելի փոքր է … 26 տառ և 10 թվանշան պահանջում է միայն 64 x 1 տող զանգված: Ես ընտրել եմ ստեղծել 128 նիշերի զանգված, որպեսզի կարողանամ վերծանել կետադրական նշանները:

Քայլ 4: Դիզայնի նշումներ

Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ
Դիզայնի նշումներ

Մորզը դժվար է վերծանել միջամտող ազդանշանների առկայության դեպքում: Անցանկալի ազդանշանները պետք է մերժվեն … սա որոշակի զտիչ է պահանջում:

Կան բազմաթիվ հնարավորություններ.

  1. Ֆազային կողպված օղակներ
  2. Ինդուկտոր-կոնդենսատորի զտիչներ
  3. Ռեզիստոր-կոնդենսատոր ակտիվ ֆիլտրեր
  4. Թվային ազդանշանի մշակում, ինչպիսին է Fast Fourier Transform- ը կամ Goertzel զտիչը:

1, 2, 3 մեթոդները պահանջում են զանգվածային արտաքին բաղադրիչներ:

Մեթոդ 4 -ը արտաքին բաղադրիչներ չի պահանջում… հաճախականությունները հայտնաբերվում են մաթեմատիկական ալգորիթմների միջոցով:

Ֆուրիեի արագ փոխակերպում (FFT)

Բարդ ալիքի ձևի մեջ տոնայնության առկայությունը հայտնաբերելու մեթոդներից է Ֆուրիեի արագ փոխակերպումը

Լուսանկար 1 -ը ցույց է տալիս, թե ինչպես է FFT- ն (Ֆուրիեի արագ փոխակերպում) ձայնային սպեկտրը բաժանում «աղբարկղերի»:

Լուսանկար 2 -ը ցույց է տալիս, թե ինչպես են FFT «աղբարկղերն» արձագանքում ազդանշանին … այս դեպքում 800 Հց: Եթե ասենք 1500Hz- ի երկրորդ ազդանշանը, մենք կտեսնեինք երկու արձագանք … մեկը 800Hz- ում և մյուսը 1500Hz- ում:

Տեսականորեն Մորզեի կոդի ապակոդավորումը կարող է կատարվել `վերահսկելով որոշակի FFT հաճախականության աղբարկղի ելքային մակարդակը … մեծ թիվը ներկայացնում է կետի կամ գծի առկայությունը … փոքր թիվը չի ներկայացնում ազդանշան:

Մորս ծածկագրի նման ապակոդավորիչը կարող է կատարվել լուսանկար 2 -ում «աղբարկղ 6» –ի մոնիտորինգի միջոցով, սակայն այս մոտեցման մեջ կան մի շարք սխալ բաներ.

  • մենք միայն մեկ հաճախականության աղբարկղ ենք ուզում … մնացածը վատնված հաշվարկներ են
  • հաճախականությունների աղբարկղերը կարող են չհայտնվել հենց հետաքրքրության հաճախականության վրա
  • համեմատաբար դանդաղ է (20mS մեկ Arduino հանգույցի համար)

Մեկ այլ մեթոդ է օգտագործել Goertzel ֆիլտրը:

Goertzel զտիչ

Goertzel ֆիլտրը նման է FFT- ին, բայց ունի միայն մեկ հաճախականության աղբարկղ:

Լուսանկար 3 -ը ցույց է տալիս Goertzel ֆիլտրի հաճախականության արձագանքը `ձայնային առանձին քայլերին:

Լուսանկար 4 -ը նույն ֆիլտրի մաքրումն է նույն հաճախականությունների տիրույթում:

Ես որոշեցի «գնալ» Goertzel ալգորիթմով հետևյալ կերպ.

  • Arduino- ի օղակի () ժամանակը, օգտագործելով Goertzel ալգորիթմը, 14mS (միլիվայրկյան) էր 20mS- ի դիմաց (milliseconds) FFT լուծման համար `օգտագործելով Arduino« fix_FFT »գրադարանը:
  • Հեշտ է սահմանել Goertzel bandpass ֆիլտրի կենտրոնական հաճախականությունը:
  • Թողունակությունը մոտավորապես 190 Հց է:

Լուսանկար 5 -ը ցույց է տալիս 900 ԳՀ Goertzel ֆիլտրից ստացված թվային ելքը, երբ հնչերանգ է հայտնաբերվում: Ես սահմանել եմ իմ տոնայնության շեմը 4000 արժեքի … 4000 -ից բարձր արժեքները նշում են տոնայնությունը:

Տեսականորեն դուք պարզապես պետք է կարգավորեք ձեր զտիչը լսողության հարմարավետ հաճախականությանը: Unfortunatelyավոք, իմ 1 դյույմ մոնիտորինգի բարձրախոսից աուդիո ելքը արագորեն ընկնում է 900 Հց -ից ցածր: Խնդիրներից խուսափելու համար ես օգտագործում եմ ֆիլտրի հաճախականությունը 950 Հց: Այլընտրանքային ֆիլտրերի հաճախականությունները հաշվարկելու համար անհրաժեշտ բանաձևերը գտնվում են իմ ծածկագրի վերնագրում:

Վերծանում

Կետերի և գծերի վերծանումն այնքան էլ հեշտ չէ, որքան թվում էր առաջին հայացքից:

Կատարյալ մորսը սահմանվում է հետևյալ կերպ.

  • կետ = 1 միավոր
  • տառի ներսում տարածություններ = 1 միավոր
  • գծիկ = 3 միավոր
  • տառերի միջև տարածություն = 3 միավոր
  • բառերի միջև տարածություն = 7 միավոր

Կատարյալ մորսի վերծանման համար մեզ պարզապես անհրաժեշտ է 2 միավոր տիպի տեղեկատուի տևողություն

  • կետ <2 միավոր
  • տարրերի տարածք <2 միավոր
  • գծիկ> 2 միավոր
  • նամակ _տարածություն> 2 միավոր
  • word_space> 6 միավոր (այսինքն ՝ 3 x տեղեկատու միավոր)

Սա աշխատում է մեքենայական մորսի համար, բայց «իրական աշխարհում».

  • ուղարկման արագությունը տատանվում է
  • յուրաքանչյուր կետի տևողությունը տատանվում է
  • յուրաքանչյուր գծիկի տևողությունը տատանվում է
  • E, I, S, H, 5 տառերը պարունակում են միայն կետեր, որոնք միջինում կազմում են կետերի տևողությունը
  • T, M, O, 0 տառերը պարունակում են միայն գծեր, որոնք միջինում կազմում են գծիկի տևողությունը
  • բառերի բացերը կարող են չհասնել
  • մարումն առաջացնում է սխալներ, որոնցից ապակոդավորիչը պետք է վերականգնվի:
  • միջամտության պատճառով կոռումպացված ազդանշաններ

Միայն կետեր և գծեր պարունակող տառերը մասամբ լուծվում են, եթե.

մենք գնահատում ենք տեղեկանքի տևողությունը, մինչև մենք ստանանք վավեր կետ և վավեր գծիկ: Ես օգտագործում եմ 200 միլիվայրկյան, որն ուժի մեջ է, եթե ուղարկելու արագությունը 6 WPM (րոպեում բառեր) և 17 WPM- ի միջև է: Հնարավոր է, որ ձեզ անհրաժեշտ լինի բարձրացնել այս արժեքը, եթե սովորում եք Մորս: Speedրագրակազմում ներառված է արագության սեղան:

Արագության տատանումները լուծվում են, եթե.

  • մենք կատարում ենք շարժական միջին յուրաքանչյուր կետի և յուրաքանչյուր գծի վրա և
  • յուրաքանչյուր խորհրդանիշ ստանալուց հետո վերահաշվարկեք տեղեկանքի տևողությունը

Բառերի և չհասած բառերի բացերը լուծվում են, եթե մենք.

  • հիշեք վերջին հետևի եզրից (տոնից ոչ տոնայնություն) անցման ժամանակը,
  • յուրաքանչյուր տառից հետո վերագործարկեք ալգորիթմը,
  • հաշվարկել անցած ժամանակը, երբ սպասում եք հաջորդ առաջատար (ոչ տոնայնությունից դեպի տոնայնություն) անցմանը և
  • տեղադրեք բացատ, եթե ժամանակի 6 միավորը գերազանցվել է:

Մորզ տատանում

Սկզբում փորձեցի որոշ Piezo buzzers, բայց գտա.

  • հաճախականությունը ֆիքսված է
  • ելքային հաճախականությունը չափազանց բարձր էր երկար լսելու համար
  • պիեզոները հակված էին դուրս գալ Goertzel անցակետից

Այնուհետև ես փորձեցի վարել ակուստիկ փոխարկիչ ՝ 750 Հց քառակուսի ալիքով, բայց պարզեցի, որ այն ունի ռեզոնանս, որը զտում է 1 -ին և 3 -րդ ներդաշնակները: 6-րդ լուսանկարը ցույց է տալիս խոսափողի ուժեղացուցիչի ելքը մինչև 750 Հց քառակուսի ալիքի… մենք տեսնում ենք 5-րդ ներդաշնակությունը !!!

Այնուհետև ես դիմեցի փոքր բարձրախոս օգտագործելու: Լուսանկար 7 -ը ցույց է տալիս խոսափողի ելքը 750Hz քառակուսի ալիքի վրա, որն ուղարկվել է փոքր բարձրախոսին … այս անգամ մենք տեսնում ենք հիմնարարը … ոչ թե 5 -րդ ներդաշնակությունը: Goertzel ֆիլտրը անտեսում է ցանկացած ներդաշնակություն:

Նշումներ

[1]

hy.wikipedia.org/wiki/Goertzel_algorithm

www.embedded.com/the-goertzel-algorithm/

Քայլ 5: Softwareրագրակազմ

Ծրագրային ապահովում
Ծրագրային ապահովում
Ծրագրային ապահովում
Ծրագրային ապահովում
Ծրագրային ապահովում
Ծրագրային ապահովում

Տեղադրում

  • Ներբեռնեք կցված ֆայլը MorseCodeDecoder.ino [1]
  • Պատճենեք այս ֆայլի բովանդակությունը Arduino- ի նոր ուրվագծի վրա
  • Պահեք ուրվագիծը որպես «MorseCodeDecoder» (առանց մեջբերումների)
  • Կազմեք և տեղադրեք էսքիզը ձեր Arduino- ում

Softwareրագրաշարի թարմացում 23 հուլիսի 2020 թ

Հետևյալ հնարավորությունները ավելացվել են կից ֆայլում "MorseCodeDecoder6.ino"

  • «Blackշգրիտ Blackman» պատուհան [2]
  • «Աղմուկի_բլանկեր»

Կարգավորում:

  • բարձրացրեք ստացողի ձայնի մակարդակը, մինչև LED- ն չսկսի թարթել, այնուհետև անջատեք
  • այժմ կարգավորեք ձեր ընդունիչը, մինչև LED- ն չլարվի մուտքային մորսի հետ համընթաց
  • Noise_blanker- ը պետք է անտեսի աղմուկի բռնկումները մինչև 8 մՍ (մեկ օղակի ժամանակ)
  • աղմուկի շեմը կարող է ճշգրտվել ՝ կարգաբերելով Debug = true և դիտելով ձեր Serial Plotter- ը

Նշում

[1]

Եթե ցանկանում եք, որ տեքստը դիտվի, ձեր Arduino սերիական մոնիտորը սահմանեք 115200 բաուդ:

[2]

  • Լուսանկար 1… Blackշգրիտ Blackman պատուհանը
  • Լուսանկար 2… Goertzel ֆիլտր առանց ճշգրիտ Blackman պատուհանի
  • Լուսանկար 3,,, Goertzel զտիչը կիրառված է ճշգրիտ Blackman պատուհանով

Քայլ 6: Գործողություն

Ապակոդավորիչ

Մորսը լսելիս միավորը դրեք բարձրախոսի կողքին:

  • Էլեկտրալար խոսափողի պարկուճը վերցնում է Մորսի ազդանշանը ձեր բարձրախոսից:
  • Էլեկտրիկ խոսափողի ելքն այնուհետև ուժեղացվում է 647 անգամ (56 դԲ) ՝ նախքան Arduino- ին փոխանցվելու համար մշակման:
  • Goertzel- ի թվային ժապավենային ֆիլտրը մորսի ազդանշանը հանում է աղմուկից:
  • Վերծանումը կատարվում է երկուական ծառի միջոցով:
  • Ապակոդավորման ելքը ցուցադրվում է որպես տեքստ 320 x 240 պիքսելանոց TFT էկրանին: Այն նաև ուղարկվում է ձեր Arduino «Սերիական մոնիտոր», եթե չեք ցանկանում ցուցադրում օգտագործել:

Մորս ուղարկողը

Ներառված է նաև մորս ուղարկող: Սա թույլ է տալիս զբաղվել մորս ուղարկելով և աշխատում է հետևյալ կերպ.

  • Arduino 4 -րդ կապում ստեղծվում է անընդհատ լսելի հնչերանգ:
  • Մենք այս տոնը լսում ենք ապակոդավորման բարձրախոսով, երբ մենք սեղմում ենք մորսի ստեղնը:
  • Ձայնը սահմանվում է նույն հաճախականությամբ, ինչ Goertzel ֆիլտրը, որը խաբում է ապակոդավորողին `կարծելով, որ նա իրական մորս է լսում … այն, ինչ ուղարկեք, էկրանին կհայտնվի որպես տպագիր տեքստ:

Ձեր ուղարկումը կբարելավվի, քանի որ ապակոդավորողն ընդունում է սովորական սխալներ, ինչպիսիք են.

  • խորհրդանշանների միջև չափազանց մեծ տարածություն: (օրինակ ՝ Q- ն պատկերված է որպես MA)
  • տառերի միջև չափազանց մեծ տարածք (օրինակ ՝ ՀԻՄԱ այժմ տպագրվում է որպես NO W)
  • սխալ կոդ

Քայլ 7: Ամփոփում

Ապակոդավորիչ

Այս հրահանգը նկարագրում է, թե ինչպես պատրաստել Մորսի ապակոդավորիչ, որը Մորզեի կոդը փոխակերպում է տպագիր տեքստի:

  • Ապակոդավորիչն ունակ է վերծանել մորսը մինչև 80 WPM (րոպեում բառեր)
  • Ապակոդավորիչն ինքնաբերաբար հետևում է ստացված ուղարկման արագության տատանումներին:
  • Տեքստը ցուցադրվում է ձեր Սերիայի մոնիտորի վրա (կամ 320 x 240 TFT ցուցադրման մոդուլի վրա, եթե այն տեղադրված է) [1]

Ուղարկող

Ներառված է նաև մորս ուղարկող

  • Ուղարկողն օգնում է ձեզ բարելավել ձեր մորս ուղարկելու որակը:
  • Ապակոդավորիչը հաստատում է, որ ձեր ուղարկածը ճիշտ է

Մասերի արժեքը

Մորսի ապակոդավորման վահանի մոտավոր արժեքը, առանց ընտրովի TFT ցուցադրման, 25 դոլար է:

Կտտացրեք այստեղ ՝ իմ մյուս հրահանգները դիտելու համար:

Աուդիո մարտահրավեր 2020
Աուդիո մարտահրավեր 2020
Աուդիո մարտահրավեր 2020
Աուդիո մարտահրավեր 2020

Երկրորդ մրցանակ Աուդիո մարտահրավեր 2020 -ում

Խորհուրդ ենք տալիս: