Cuprins:
- Pasul 1: Adunați componentele
- Pasul 2: Construirea designului
- Pasul 3: Testarea designului
- Pasul 4: Obținerea tuturor software-urilor necesare
- Pasul 5: Faceți executabilele
- Pasul 6: Testarea totul
Video: Comunicare LiFi: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
În acest instructable veți învăța cum să implementați comunicarea LiFi (emițător și receptor) la nivel de software și hardware.
Pasul 1: Adunați componentele
Lucruri de care veți avea nevoie:
-Arduino și Zedboard
-osciloscop
-Rezistoare: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm și 27 ohm.
-amp, condensator, zenerdiodă, fotodiodă, LED-uri și breadbord.
Pasul 2: Construirea designului
Pe imagine este prezentată schema receptorului.
Mai întâi, conectați anodul (terminalul negativ) al fotodiodei la 3,3V (Vcc), catodul (terminalul pozitiv) la masă printr-un rezistor de 8k2 ohmi. De asemenea, conectați catodul la terminalul pozitiv al opamp-ului dvs., care va fi utilizat pentru a amplifica semnalul. Folosim feedback negativ, deci conectați 2 rezistențe la terminalul negativ al opampului, 1 (1k2 ohm) merge la ieșirea opampului, celălalt (220 ohm) merge la sol. Pentru a vă proteja pinul GPIO, conectați o diodă zener inversată de 3,3V în serie cu un rezistor de 1k2 ohm la masă. Ieșirea opampului trebuie conectată la un pin GPIO.
Transmițătorul constă doar dintr-un rezistor de 27 ohmi și un LED în serie. Un capăt merge la un GPIOpin și celălalt la masă, asigurându-vă că piciorul scurt al LED-ului este conectat la masă.
Dacă proiectele funcționează, puteți crea un PCB pentru acesta. Pe PCB am combinat emițătorul și receptorul pe o singură placă, astfel încât să putem trimite în cele din urmă date în două direcții. Puteți vedea, de asemenea, schemele PCB în imaginile pentru receptor și emițător.
Pasul 3: Testarea designului
Utilizați un osciloscop pentru a verifica designul, deoarece lumina ambientală și diferența de diode foto pot da rezultate diferite în semnalul de ieșire.
Conectați-vă emițătorul la un arduino și generați un val pătrat cu frecvența dorită. Puneți LED-ul transmițătorului aproape de dioda foto.
Conectați o sondă la terminalul pozitiv al opamp-ului dvs., alta la ieșirea opamp-ului dvs. Dacă semnalul de ieșire este prea slab, rezistențele cu feedback negativ (1k2 ohm, 220 ohm) trebuie schimbate. Aveți 2 opțiuni, creșteți rezistorul de 1k2 ohm sau micșorați rezistorul de 220 ohmi. Dacă ieșirea este prea mare, faceți opusul.
Dacă totul pare ok, treceți la pasul următor.
Pasul 4: Obținerea tuturor software-urilor necesare
Pe imagine se pot vedea diferiți pași de codificare pentru a implementa LiFi. Pentru a decoda, aceiași pași trebuie să fie executați invers.
Pentru acest proiect sunt necesare câteva biblioteci, acestea sunt incluse în fișierele date și aici sunt linkurile către depozitul github:
-Reed-Solomon:
-Codificator convențional:
Pentru a face fișierele să facă ceea ce dorim, am făcut unele ajustări în ele, astfel încât este necesar să folosim versiunea noastră de biblioteci, inclusă în fișiere.
După codificatorul convoluțional, este nevoie de un ultim pas de codificare, codificarea Manchester. Datele de la codificatorul convoluțional sunt trimise către un buffer fifo. Acest buffer este citit în partea PL a tabloului de bord, proiectul este inclus în fișierul „LIFI.7z”. Cu proiectul vă puteți construi propriul flux de biți pentru zedboard sau puteți utiliza doar fluxul de biți pe care l-am furnizat. Pentru a utiliza acest flux de biți, trebuie să instalați mai întâi Xillinux 2.0 pe tabloul de bord. Explicația despre cum se face acest lucru este oferită pe site-ul Xillybus.
Pasul 5: Faceți executabilele
Trebuie realizate două executabile separate, unul pentru transmițător și unul pentru receptor. Pentru a face acest lucru, următoarele comenzi trebuie executate pe tabloul de bord:
- Transmițător: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Transmițător
- Receptor: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Receptor
Pasul 6: Testarea totul
Conectați emițătorul la pinul JD1_P și receptorul la pinul JD1_N de pe tabloul de bord. Asigurați-vă că modificați fișierul de constrângeri dacă doriți să modificați pinii standard.
Pentru a testa dacă totul funcționează, deschideți 2 ferestre de terminal în partea PS. Într-un terminal executați mai întâi partea de recepție. După aceea, executați partea transmițătorului în a doua fereastră a terminalului.
Dacă totul merge așa cum ar trebui, rezultatul ar trebui să fie același ca pe imaginea de mai sus.
Recomandat:
Comunicare fără fir SmartHome: noțiunile de bază extreme ale MQTT: 3 pași
Comunicare fără fir SmartHome: Noțiuni de bază extreme ale MQTT: Noțiuni de bază MQTT: ** Voi face o serie de automatizare la domiciliu, voi parcurge pașii pe care i-am făcut pentru a afla tot ce am făcut în viitor. Acest instructabil este linia de bază cu privire la modul de configurare a MQTT pentru utilizare în viitoarele mele instructabile. Howeve
Mașină cu telecomandă cu modul de comunicare NRF24L01 PA LNA: 5 pași
Mașină cu telecomandă cu modulul de comunicație NRF24L01 PA LNA: În acest subiect, am dori să împărtășim despre modul de realizare a unei mașini cu telecomandă cu modulul NRF24L01 PA LNA. De fapt, există mai multe alte module radio, cum ar fi modulele radio 433MHz, HC12, HC05 și LoRa. Dar, în opinia noastră, modul NRF24L01
Comunicare fără fir LoRa de 3Km la 8Km cu dispozitiv E32 (sx1278 / sx1276) low cost pentru Arduino, Esp8266 sau Esp32: 15 pași
Comunicare wireless LoRa de 3Km la 8Km cu dispozitiv E32 low cost (sx1278 / sx1276) pentru Arduino, Esp8266 sau Esp32: Creez o bibliotecă pentru gestionarea EBYTE E32 bazată pe seria Semtech de dispozitive LoRa, dispozitiv foarte puternic, simplu și ieftin. Puteți găsi Versiunea de 3 km aici, versiunea de 8 km aici Pot funcționa pe o distanță de 3000m până la 8000m și au o mulțime de caracteristici și
MPU 6050 Gyro, comunicare accelerometru cu Arduino (Atmega328p): 5 pași
MPU 6050 Gyro, comunicare accelerometru cu Arduino (Atmega328p): MPU6050 IMU are atât accelerometru cu 3 axe, cât și giroscop cu 3 axe integrate pe un singur cip. Giroscopul măsoară viteza de rotație sau rata de schimbare a poziției unghiulare în timp, de-a lungul Axa X, Y și Z. Ieșirile giroscopului sunt
COMUNICARE SENZOR PENTRU USB: 3 pași
COMUNICARE SENZOR PENTRU USB: Acest tutorial arată cum să utilizați placa izolată USB EZO Carrier pentru a interacționa cu circuitele EZO. Cu câțiva pași simpli, veți putea calibra și depana circuite sau chiar monitoriza în timp real parametrul în cauză. AVANTAJE: