Turinys:
- 1 žingsnis: Surinkite komponentus
- 2 žingsnis: kurkite dizainą
- 3 žingsnis: dizaino išbandymas
- 4 žingsnis: visos reikalingos programinės įrangos gavimas
- 5 veiksmas: sukurkite vykdomuosius failus
- 6 žingsnis: išbandykite viską
Video: „LiFi“ryšys: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šioje instrukcijoje sužinosite, kaip įdiegti „LiFi“ryšį (siųstuvą ir imtuvą) programinės ir techninės įrangos lygiu.
1 žingsnis: Surinkite komponentus
Dalykai, kurių jums reikės:
-Arduino ir Zedboard
-osciloskopas
-Rezistoriai: 8k, 1k2, 1k, 220 om ir 27 om.
-opampas, kondensatorius, zenerdiodas, fotodiodas, šviesos diodai ir duonos laidas.
2 žingsnis: kurkite dizainą
Nuotraukoje pateikiama imtuvo schema.
Pirmiausia prijunkite fotodiodo anodą (neigiamą gnybtą) prie 3,3 V (Vcc), o katodą (teigiamą gnybtą) - įžeminkite per 8k2 omų rezistorių. Taip pat prijunkite katodą prie teigiamo „opamp“gnybto, kuris bus naudojamas signalui sustiprinti. Mes naudojame neigiamą grįžtamąjį ryšį, todėl prijunkite 2 rezistorius prie neigiamo opamp gnybto, 1 (1k2 omų) eina į opamp išvestį, kitas (220 omų) eina į žemę. Norėdami apsaugoti savo GPIO kaištį, prie žemės prijunkite atvirkštinį 3,0 V Zenerio diodą su 1 k2 omų rezistoriumi. „Opamp“išvestis turi būti prijungta prie GPIO kaiščio.
Siųstuvą sudaro tik vienas 27 omų rezistorius ir nuoseklus šviesos diodas. Vienas galas eina į GPIOpin, o kitas - į žemę, įsitikindamas, kad trumpa LED lemputė yra prijungta prie žemės.
Jei dizainas veikia, galite sukurti PCB. PCB sujungėme siųstuvą ir imtuvą vienoje plokštėje, todėl galiausiai galime siųsti duomenis dviem kryptimis. Imtuvo ir siųstuvo paveikslėliuose taip pat galite pamatyti PCB schemas.
3 žingsnis: dizaino išbandymas
Norėdami patikrinti konstrukciją, naudokite osciloskopą, nes aplinkos šviesa ir foto diodų skirtumas gali duoti skirtingus išėjimo signalo rezultatus.
Prijunkite siųstuvą prie arduino ir sukurkite norimo dažnio kvadratinę bangą. Padėkite siųstuvo šviesos diodą prie foto diodo.
Prijunkite vieną zondą prie teigiamo savo opamp gnybto, kitą prie opamp išvesties. Jei jūsų išėjimo signalas yra per silpnas, reikia pakeisti neigiamo grįžtamojo ryšio rezistorius (1k2 om, 220 om). Turite 2 pasirinkimus, padidinkite 1k2 omų rezistorių arba sumažinkite 220 omų rezistorių. Jei išvestis per didelė, darykite priešingai.
Jei viskas atrodo gerai, pereikite prie kito veiksmo.
4 žingsnis: visos reikalingos programinės įrangos gavimas
Paveikslėlyje galima pamatyti skirtingus kodavimo veiksmus, kad būtų įdiegtas „LiFi“. Norėdami iššifruoti, tuos pačius veiksmus reikia atlikti atvirkščiai.
Šiam projektui reikalingos kai kurios bibliotekos, jos yra įtrauktos į nurodytus failus ir čia yra nuorodos į „github“saugyklą:
-Reed-Saliamonas:
-Konvoliucinis kodavimo įrenginys:
Kad failai padarytų tai, ko norime, mes juos šiek tiek pakoregavome, todėl būtina naudoti mūsų bibliotekų versiją, įtrauktą į failus.
Po konvoliucinio kodavimo reikia paskutinio kodavimo žingsnio - Mančesterio kodavimo. Duomenys iš konvoliucinio kodavimo įrenginio siunčiami į „fifo“buferį. Šis buferis skaitomas „zedboard“PL dalyje, projektas įtrauktas į failą „LIFI.7z“. Naudodami projektą galite sukurti savo srautą „zedboard“arba tiesiog naudoti mūsų pateiktą bitų srautą. Norėdami naudoti šią bitų srautą, pirmiausia turite įdiegti „Xillinux 2.0“„zedboard“. Paaiškinimas, kaip tai padaryti, pateikiamas „Xillybus“svetainėje.
5 veiksmas: sukurkite vykdomuosius failus
Reikia padaryti du atskirus vykdomuosius failus, vieną siųstuvui ir kitą imtuvui. Norėdami tai padaryti, „zedboard“reikia vykdyti šias komandas:
- Siųstuvas: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o siųstuvas
- Imtuvas: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o imtuvas
6 žingsnis: išbandykite viską
Prijunkite siųstuvą prie JD1_P kaiščio ir imtuvą prie JD1_N kaiščio, esančio zedboard. Jei norite pakeisti standartinius kaiščius, būtinai pakeiskite apribojimų failą.
Norėdami patikrinti, ar viskas veikia, PS dalyje atidarykite 2 terminalo langus. Viename terminale pirmiausia atlikite priėmimo dalį. Po to vykdykite siųstuvo dalį antrame terminalo lange.
Jei viskas klostysis taip, kaip turėtų, rezultatas turėtų būti toks pat, kaip aukščiau esančiame paveikslėlyje.
Rekomenduojamas:
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: 3 žingsniai
„SmartHome“belaidis ryšys: ekstremalūs MQTT pagrindai: MQTT pagrindai: ** Aš ruošiuosi namų automatikos serijai, aš atliksiu veiksmus, kurių ėmiausi, kad ateityje išmokčiau visko, ką padariau. Ši instrukcija yra pagrindas, kaip nustatyti MQTT naudoti būsimose instrukcijose. Kaip
MPU 6050 giroskopas, akselerometro ryšys su „Arduino“(„Atmega328p“): 5 žingsniai
MPU 6050 giroskopas, akselerometro ryšys su „Arduino“(„Atmega328p“): „MPU6050 IMU“turi 3 ašių akselerometrą ir 3 ašių giroskopą, integruotą į vieną mikroschemą. Giroskopas matuoja sukimosi greitį arba kampinės padėties kitimo greitį laikui bėgant. X, Y ir Z ašis. Giroskopo išvestys yra
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: 6 žingsniai
Laikrodis, LCD ekranas, nustatytas infraraudonųjų spindulių ryšys: sukurkite realaus laiko laikrodį, kuris įjungia laiką per kelias minutes per metus. Kodas ir komponentai gali būti lengvai pritaikyti kitiems projektams. Šiam projektui reikalingas minimalus laidų skaičius ir litavimas. Laiko laikytojas yra tikras DS3231
„Arduino“ir mobilusis „Bluetooth“ryšys („Messenger“): 8 žingsniai
„Arduino“ir mobilusis „Bluetooth“ryšys (pasiuntinys): Bendravimas yra svarbus mūsų kasdienio gyvenimo veiksnys. Tačiau šiuo uždarymo laikotarpiu bendravimui su savo šeima ar bendravimui su žmonėmis namuose kartais reikia mobiliųjų telefonų. Tačiau trumpą laiką naudokite mobiliuosius telefonus
Belaidis šifruotas ryšys „Arduino“: 5 žingsniai
Belaidis šifruotas ryšys Arduino: Sveiki visi! Šiame antrame straipsnyje aš jums paaiškinsiu, kaip naudoti lustą „Atecc608a“belaidžiam ryšiui apsaugoti. Tam aš naudosiu NRF24L01+ belaidžio ryšio daliai ir „Arduino UNO“. Mikročetą ATECC608A sukūrė