Морзеова азбука је систем комуникације за кодирање било ког лика у два различита трајања сигнала који се назива Тачке и Цртице . Морзеову азбуку је развио Самуел ФБ и даље се користи у телеграфији за пренос тајних података. Највише се користио у време Другог светског рата. Морзеова азбука се може извршити тапкањем, трептањем светлости или писањем. Морзеова азбука је доступна у две верзије, оригиналној и међународној морсеовској азбуци. У међународном морзеовом коду, оригинална верзија је измењена уклањањем размака и дизајнирањем цртица у одређеној дужини. Морзеова азбука је доступна за кодирање абецеда и бројева. Углавном се користи у радијској и океанској комуникацији, а такође је и део обуке за војнике.
Језик је увек био препрека за Морзеов код, јер је тешко извести код за дијакритичке знакове на другом језику. Постоје неке познате речи које се сматрају важном карактеристиком Морсеове азбуке попут „СОС“. СОС пуни облик је Саве оур Соулс створен као универзални сигнал невоље представља опасност.
Слика доле приказује Морзеову абецеду за абецеде од А до Ж.
Данас ћемо у овом упутству изградити Морсеов преводитељ користећи Ардуино који ће узимати било који знак као улаз са серијског монитора и звучним сигналом га претварати у Морсеов еквивалентни звучни сигнал.
Компоненте потребне
- Ардуино Уно
- Зујалица
- Бреадбоард
- Жице краткоспојника
Кружни дијаграм
Повежите позитивно пин сирену је у 8 -ог пин на Арудино УНО и негативног пин на основу Ардуино. Отпремите код помоћу Ардуино ИДЕ-а и укуцајте знакове на серијски монитор да бисте креирали звук. ЛЦД се такође може додати уз Ардуино за приказ цртица и тачака.
Објашњење програмирања
Комплетни код за Ардуино Морсе Цоде Генератор дат је на крају, овде објашњавамо програм да бисмо разумели рад пројекта.
Доле наведени код се користи за примање низа знакова, а затим за његово претварање у морсеов код.
цхар стрингТоМорсеЦоде = "";
Затим дефинишите пин за зујалицу повезану на Ардуино и висину звука који генерише тај зујалица. Тада дефинишемо дужину тачке и цртице.
инт аудио8 = 8; // излаз звука на пин 8 инт ноте = 1200; // нотна нота / висина тона инт дотЛен = 100; // дужина Морсеове азбуке 'тачка' инт дасхЛен = дотЛен * 3; // дужина Морсеове азбуке 'цртица'
У функцији воид лооп () , ако су серијски подаци доступни, сачуваће се у променљивим подацима . Затим чита један по један знак користећи команду инДата . Командна променљива.тоУпперцасе () користи се за промену малих слова у велика слова. Тада ствара звук према сваком лику.
воид лооп () { цхар инЦхар = 0; цхар инДата = ""; // дужина података од 6 знакова Стринг вариабле = ""; Низ променљиве1 = ""; инт индекс1 = 0; иф (Сериал.аваилабле ()> 0) { вхиле (Сериал.аваилабле ()> 0 && индек1 <100) { делаи (100); инЦхар = Сериал.реад (); инДата = инЦхар; индек1 ++; инДата = '\ 0'; } вариабле.тоУпперЦасе (); за (бајт и = 0; и <100; и ++) { вариабле.цонцат (Стринг (инДата)); } кашњење (20);
Испод функција МорсеДот и МорсеДасх користе се за стварање звука за тачку, односно цртицу.
воид МорсеДот () { тон (аудио8, белешка, дотЛен); // започиње репродукција кашњења тона (дотЛен); // задржавање на овом положају } воид МорсеДасх () { тоне (аудио8, ноте, дасхЛен); // започиње репродукција кашњења тона (дасхЛен); // задржите на овом положају }
Функција ГетЦхар има код за све абецеде. Дакле, кад год упишемо било коју абецеду, из ове функције преузима се одговарајући Морсеов код да би се створио одређени звук.
воид ГетЦхар (цхар тмпЦхар) { прекидач (тмпЦхар) { случај 'а': МорсеДот (); кашњење (100); МорсеДасх (); кашњење (100); пауза; ... ... ... Дефаулт: пауза; } }
Сада отпремите код у Ардуино помоћу Ардуино ИДЕ-а и укуцајте било који знак у серијски монитор и притисните дугме за унос да бисте знакове послали у Ардуино.
Овде смо откуцали „СОС“, који је универзални сигнал за помоћ, како бисмо створили звук за исти.
Демонстрација истог дата је у видео снимку испод.