- Компоненте потребне
- Кратки увод у Ли-Фи
- Одељак Ли-Фи предајника који користи Ардуино
- Одељак Ли-Фи пријемника који користи Ардуино
- Ардуино кодирање за Ли-Фи
Ли-Фи (Лигхт Фиделити) је напредна технологија која омогућава пренос података помоћу оптичке комуникације као што је видљиво светло. Ли-Фи подаци могу путовати кроз светлост, а затим их интерпретирати на страни пријемника помоћу било ког уређаја осетљивог на светлост попут ЛДР-а или фотодиоде. Ли-Фи комуникација може бити 100 пута бржа од Ви-Фи-ја.
Овде у овом пројекту демонстрираћемо Ли-Фи комуникацију помоћу два Ардуина. Овде се текстуални подаци преносе помоћу ЛЕД и 4к4 тастатуре. А декодира се на страни пријемника помоћу ЛДР-а. Претходно смо детаљно објаснили Ли-Фи и користили Ли-Фи за пренос аудио сигнала.
Компоненте потребне
- Ардуино УНО
- ЛДР сензор
- 4 * 4 тастатура
- 16 * 2 алфанумерички ЛЦД
- И2Ц интерфејс модул за ЛЦД
- Бреадбоард
- Повезивање џампера
- 5 мм ЛЕД
Кратки увод у Ли-Фи
Као што је горе речено, Ли-Фи је напредна комуникациона технологија која може бити 100 пута бржа од Ви-Фи комуникације. Коришћењем ове технологије подаци се могу преносити помоћу видљивих извора светлости. Замислите, ако брзом интернету можете приступити само користећи извор светлости. Није ли то занимљиво?
Ли-Фи користи видљиву светлост као комуникациони медијум за пренос података. ЛЕД може деловати као извор светлости, а фотодиода делује као примопредајник који прима светлосне сигнале и преноси их назад. Контролом светлосног импулса на страни предајника, можемо послати јединствене обрасце података. Ова појава се јавља изузетно великом брзином и не може се видети људским оком. Затим на страни пријемника фотодиода или отпор зависан од светлости (ЛДР) претвара податке у корисне информације.
Одељак Ли-Фи предајника који користи Ардуино
Као што је приказано на горњој слици, у предајничком делу Ли-Фи комуникације тастатура се овде користи као улаз. То значи да ћемо изабрати текст који ћемо пренети помоћу тастатуре. Тада информације обрађује контролна јединица која у нашем случају није ништа друго до Ардуино. Ардуино претвара информације у бинарне импулсе који се могу предати ЛЕД извору за пренос. Затим се ови подаци достављају ЛЕД светлу које шаље видљиве светлосне импулсе на страну пријемника.
Кружни дијаграм секције предајника:
Постављање хардвера на страни предајника:
Одељак Ли-Фи пријемника који користи Ардуино
У одељку пријемника, ЛДР сензор прима видљиве светлосне импулсе са стране предајника и претвара их у протумачиве електричне импулсе, који се доводе у Ардуино (контролну јединицу). Ардуино прима овај импулс и претвара га у стварне податке и приказује на ЛЦД екрану од 16к2.
Кружни дијаграм секције пријемника:
Постављање хардвера за пријемник:
Ардуино кодирање за Ли-Фи
Као што је горе приказано, имамо два одељка за Ли-Фи предајник и пријемник. Комплетни кодови за сваки одељак дати су на дну водича, а детаљно објашњење кодова дато је у наставку:
Ардуино Ли-Фи предајник код:
На страни предајника, Ардуино Нано се користи са 4к4 тастатуром и ЛЕД-ом. Прво се све датотеке зависне библиотеке преузимају и инсталирају у Ардуино путем Ардуино ИДЕ-а. Овде се библиотека тастатуре користи за коришћење тастатуре 4 * 4 коју можете преузети са ове везе. Овде сазнајте више о повезивању 4к4 тастатуре са Ардуином.
#инцлуде
Након успешне инсталације датотека библиотеке, дефинишите бр. редова и вредности колона што је 4 за обе, јер смо овде користили тастатуру 4 * 4.
цонст бајт РЕД = 4; цонст бајт ЦОЛ = 4; цхар кеицоде = { {'1', '2', '3', 'А'}, {'4', '5', '6', 'Б'}, {'7', '8', ' 9 ',' Ц '}, {' * ',' 0 ',' # ',' Д '} };
Затим су дефинисани Ардуино пинови који се користе за повезивање са тастатуром 4 * 4. У нашем случају користили смо А5, А4, А3 и А2 за Р1, Р2, Р3, Р4, односно А1, А0, 12, 11 за Ц1, Ц2, Ц3 и Ц4.
бајт ровПин = {А5, А4, А3, А2}; бајт цолПин = {А1, А0, 12, 11}; Тастатура цустомКеипад = Тастатура (макеКеимап (код тастера), ровПин, цолПин, РОВ, ЦОЛ);
Унутар подешавања (), дефинисан је излазни пин, где је повезан ЛЕД извор. Такође се искључује док укључујете уређај.
воид сетуп () { пинМоде (8, ИЗЛАЗ); дигиталВрите (8, ЛОВ); }
Унутар док петље, су добили од тастатуре вредности се читају помоћу цустомКеипад.гетКеи () и то је у односу на иф-елсе петље, да створи јединствене импулса у свакој притискање тастера. У коду се види да се интервали тајмера задржавају јединственим за све кључне вредности.
цхар цустомКеи = цустомКеипад.гетКеи (); иф (цустомКеи) { иф (цустомКеи == '1') { дигиталВрите (8, ХИГХ); кашњење (10); дигиталВрите (8, ЛОВ); }
Ардуино код Ли-Фи пријемника:
На страни Ли-Фи пријемника, Ардуино УНО је повезан са ЛДР сензором, као што је приказано на дијаграму кола. Овде је ЛДР сензор серијски повезан са отпорником како би се формирао круг деливача напона, а аналогни излазни напон сензора се доводи на Ардуино као улазни сигнал. Овде користимо И2Ц модул са ЛЦД-ом да смањимо бр. веза са Ардуином јер овај модул захтева само 2 пина за податке СЦЛ / СДА и 2 пина за напајање.
Започните код укључивањем свих потребних датотека библиотеке у код, као што је Вире.х за И2Ц комуникацију, ЛикуидЦристал_И2Ц.х за ЛЦД итд. Ове библиотеке би биле унапред инсталиране са Ардуином, тако да нема потребе за њиховим преузимањем.
#инцлуде
За употребу И2Ц модула за алфанумерички ЛЦД 16 * 2, конфигуришите га помоћу класе ЛикуидЦристал_И2Ц . Овде морамо проследити адресу, ред и број колоне који су у нашем случају 0к3ф, 16 и 2.
ЛикуидЦристал_И2Ц ЛЦД (0к3ф, 16, 2);
Унутар подешавања (), пријавите импулсни улазни пин за пријем сигнала. Затим на ЛЦД екрану одштампајте поруку добродошлице која ће бити приказана током иницијализације пројекта.
воид сетуп () { пинМоде (8, ИНПУТ); Сериал.бегин (9600); лцд.инит (); лцд.бацклигхт (); лцд.сетЦурсор (0, 0); лцд.принт ("ДОБРО ДОШЛИ У"); лцд.сетЦурсор (0, 1); лцд.принт ("ДИГЕСТ ЦИРЦУИТ"); кашњење (2000); лцд.цлеар (); }
Унутар вхиле петље, улаз трајање импулса из ЛДР се израчунава помоћу пулсеИн функцију, и тип импулса је дефинисано која је низак у нашем случају. Вредност се штампа на серијском монитору ради отклањања грешака. Предлаже се да се провери трајање, јер то може бити различито за различите поставке.
непотписано дуго трајање = пулсеИн (8, ХИГХ); Сериал.принтлн (трајање);
Након провере трајања свих импулса предајника, сада имамо 16 опсега трајања импулса, што је записано за референцу. Сада их упоредите помоћу петље ИФ-ЕЛСЕ за добијање тачних података који су пренети. Једна петља узорка за кључ 1 дата је у наставку:
иф (трајање> 10000 && трајање <17000) { лцд.сетЦурсор (0, 0); лцд.принт ("Примљено: 1"); }
Ли-Фи предајник и пријемник који користе Ардуино
Након отпремања комплетног кода у оба Ардуиноса, притисните било које дугме на тастатури на страни пријемника и иста цифра ће се приказати на ЛЦД-у 16к2 на страни пријемника.
Тако се Ли-Фи може користити за пренос података кроз светлост. Надам се да сте уживали у чланку и научили нешто ново из њега, ако сумњате, можете да користите одељак за коментаре или да питате на форумима.