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

LiFi հաղորդակցություն ՝ 6 քայլ
LiFi հաղորդակցություն ՝ 6 քայլ

Video: LiFi հաղորդակցություն ՝ 6 քայլ

Video: LiFi հաղորդակցություն ՝ 6 քայլ
Video: Ձեր էս ուրախությունը ամեն ինչ արժի իմ համար 🥹♥️🫂 2024, Նոյեմբեր
Anonim
LiFi հաղորդակցություն
LiFi հաղորդակցություն

Այս ձեռնարկում դուք կսովորեք, թե ինչպես իրականացնել LiFi հաղորդակցությունը (հաղորդիչ և ընդունիչ) ծրագրակազմի և ապարատային մակարդակի վրա:

Քայլ 1: Բաղադրիչների հավաքում

Բաղադրիչներ հավաքել
Բաղադրիչներ հավաքել

Ձեզ անհրաժեշտ բաներ.

-Արդուինո և edեդբորդ

-օսկիլոսկոպ

-Դիմադրյալներ ՝ 8k ohm, 1k2 ohm, 1k ohm, 220 ohm և 27 ohm:

-օմբ, կոնդենսատոր, զեներդիոդ, ֆոտոդիոդ, լուսադիոդներ և հացահատիկ:

Քայլ 2: Դիզայնի կառուցում

Դիզայնի կառուցում
Դիզայնի կառուցում
Դիզայնի կառուցում
Դիզայնի կառուցում
Դիզայնի կառուցում
Դիզայնի կառուցում

Պատկերի վրա տրված է ստացողի սխեմատիկ պատկերը:

Նախ, լուսադիոդի անոդը (բացասական տերմինալը) միացրեք 3.3V (Vcc), կաթոդին (դրական տերմինալ) `8k2 օհմ ռեզիստորի միջոցով գետնին: Նաև միացրեք կաթոդը ձեր opamp- ի դրական տերմինալին, որը կօգտագործվի ազդանշանը ուժեղացնելու համար: Մենք օգտագործում ենք բացասական արձագանք, այնպես որ միացրեք 2 դիմադրիչ բացիչի բացասական տերմինալին, 1 -ը (1k2 ohm) գնում է դեպի opamp- ի ելքը, մյուսը (220 ohm) անցնում է գետնին: Ձեր GPIO- ի քորոցը պաշտպանելու համար միացրեք 3.3 Վ -ի հակադարձ կողմնակալ զեներային դիոդ ՝ 1k2 օհմ ռեզիստորով գետնին: Օպամպի ելքը պետք է միացված լինի GPIO կապին:

Հաղորդիչն ընդամենը բաղկացած է մեկ 27 օմ դիմադրողից և LED- ից: Մի ծայրը գնում է GPIOpin- ին, իսկ մյուսը `գետնին` համոզվելով, որ LED- ի կարճ ոտքը միացված է գետնին:

Եթե նախագծերն աշխատում են, կարող եք դրա համար պատրաստել PCB: PCB- ի վրա մենք միացրել ենք հաղորդիչն ու ընդունիչը մեկ տախտակի վրա, այնպես որ մենք ի վերջո կարող ենք տվյալներ ուղարկել երկու ուղղությամբ: Ստացողի և հաղորդիչի պատկերներում կարող եք տեսնել նաև PCB- ի սխեմաները:

Քայլ 3: Դիզայնի փորձարկում

Օգտագործեք օսկիլոսկոպ `դիզայնը ստուգելու համար, քանի որ շրջապատող լույսը և ֆոտոդիոդների տարբերությունը կարող են տարբեր արդյունքներ տալ ելքային ազդանշանի վրա:

Միացրեք ձեր հաղորդիչը arduino- ին և ստեղծեք քառակուսի ալիք ցանկալի հաճախականությամբ: Տեղադրեք հաղորդիչի LED լուսադիոդին մոտ:

Մի զոնդ միացրեք ձեր opamp- ի դրական տերմինալին, մյուսը `ձեր opamp- ի ելքին: Եթե ձեր ելքային ազդանշանը չափազանց թույլ է, ապա անհրաժեշտ է փոխել բացասական հետադարձ ռեզիստորները (1k2 ohm, 220 ohm): Դուք ունեք 2 ընտրություն ՝ բարձրացրեք 1k2 ohm դիմադրությունը կամ նվազեցրեք 220 ohm դիմադրությունը: Եթե ելքը չափազանց բարձր է, արեք հակառակը:

Եթե ամեն ինչ կարգին է, անցեք հաջորդ քայլին:

Քայլ 4: Ստացեք բոլոր անհրաժեշտ ծրագրակազմը

Ստանալով բոլոր անհրաժեշտ ծրագրակազմը
Ստանալով բոլոր անհրաժեշտ ծրագրակազմը

Պատկերի վրա կարելի է տեսնել կոդավորման տարբեր քայլեր ՝ LiFi- ի ներդրման համար: Վերծանման համար նույն քայլերը պետք է կատարվեն հակառակ ուղղությամբ:

Այս նախագծի համար անհրաժեշտ են որոշ գրադարաններ, դրանք ներառված են տվյալ ֆայլերում, և ահա github- ի պահեստի հղումները.

-Քար-Սողոմոն ՝

-Կոնվոլյուցիոն կոդավորիչ ՝

Որպեսզի ֆայլերը մեր ուզածն անեն, մենք որոշ ճշգրտումներ կատարեցինք դրանց մեջ, ուստի անհրաժեշտ է օգտագործել ֆայլերի մեջ ներառված գրադարանների մեր տարբերակը:

Կոնվոլյուցիոն կոդավորողից հետո անհրաժեշտ է կոդավորման վերջին քայլը ՝ մանչեսթեր կոդավորումը: Կոնվոլյուցիոն կոդավորիչի տվյալները ուղարկվում են fifo բուֆեր: Այս բուֆերը կարդացվում է zedboard- ի PL մասում, նախագիծը ներառված է «LIFI.7z» ֆայլում: Նախագծով դուք կարող եք կառուցել ձեր սեփական բիթստրիմը zedboard- ի համար կամ պարզապես կարող եք օգտագործել մեր տրամադրած բիթսթրիմը: Այս bitstream- ից օգտվելու համար նախ պետք է Xillinux 2.0 -ը տեղադրել zedboard- ում: Բացատրությունը, թե ինչպես դա անել, տրվում է Xillybus կայքում:

Քայլ 5: Ստեղծեք գործարկվող ֆայլեր

Անհրաժեշտ է պատրաստել երկու առանձին կատարելիք `մեկը հաղորդիչի և մյուսը` ստացողի համար: Դա անելու համար zedboard- ում անհրաժեշտ է կատարել հետևյալ հրամանները.

- Հաղորդիչ ՝ g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o հաղորդիչ

- Ստացող ՝ g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Receiver

Քայլ 6: Ամեն ինչ փորձարկելը

Հաղորդիչը միացրեք JD1_P կապին, իսկ ստացողը ՝ zedboard- ի JD1_N պինին: Համոզվեք, որ փոխեք սահմանափակման ֆայլը, եթե ցանկանում եք փոխել ստանդարտ կապերը:

Ամեն ինչ աշխատելու համար ստուգելու համար PS մասում բացեք 2 տերմինալային պատուհան: Մեկ տերմինալում նախ կատարեք ընդունող մասը: Դրանից հետո գործարկեք հաղորդիչի մասը երկրորդ տերմինալի պատուհանում:

Եթե ամեն ինչ ընթանա այնպես, ինչպես պետք է, արդյունքը պետք է լինի նույնը, ինչ վերևի պատկերում:

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