Sommario:
- Passaggio 1: raccogliere i componenti
- Passaggio 2: costruire il design
- Passaggio 3: test del design
- Passaggio 4: ottenere tutto il software necessario
- Passaggio 5: creare gli eseguibili
- Passaggio 6: testare tutto
Video: Comunicazione LiFi: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
In questo tutorial imparerai come implementare la comunicazione LiFi (trasmettitore e ricevitore) a livello software e hardware.
Passaggio 1: raccogliere i componenti
Cose di cui avrai bisogno:
-Arduino e Zedboard
-oscilloscopio
-Resistenze: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm e 27 ohm.
-opamp, condensatore, zenerdiode, fotodiodo, LED e breadbord.
Passaggio 2: costruire il design
Nell'immagine è riportato lo schema del ricevitore.
Innanzitutto, collegare l'anodo (terminale negativo) del fotodiodo a 3,3 V (Vcc), il catodo (terminale positivo) a massa tramite un resistore da 8 k2 ohm. Collega anche il catodo al terminale positivo del tuo opamp, che verrà utilizzato per amplificare il segnale. Stiamo usando un feedback negativo, quindi collega 2 resistori al terminale negativo dell'amplificatore operazionale, 1 (1k2 ohm) va all'uscita dell'amplificatore operazionale, l'altro (220 ohm) va a massa. Per proteggere il tuo pin GPIO, collega un diodo zener polarizzato inverso di 3,3 V in serie con un resistore da 1k2 ohm a terra. L'uscita dell'opamp deve essere collegata a un pin GPIO.
Il trasmettitore consiste solo di un resistore da 27 ohm e un LED in serie. Un'estremità va a un pin GPIO e l'altra a massa, assicurandosi che la gamba corta del LED sia collegata a terra.
Se i progetti funzionano, puoi creare un PCB per questo. Sul PCB abbiamo combinato il trasmettitore e il ricevitore su un'unica scheda, in modo da poter eventualmente inviare i dati in due direzioni. Puoi anche vedere gli schemi PCB nelle immagini per il ricevitore e il trasmettitore.
Passaggio 3: test del design
Utilizzare un oscilloscopio per controllare il progetto perché la luce ambientale e la differenza nei fotodiodi possono dare risultati diversi nel segnale di uscita.
Collega il tuo trasmettitore a un arduino e genera un'onda quadra con la frequenza desiderata. Avvicinare il LED del trasmettitore al fotodiodo.
Collega una sonda al terminale positivo del tuo opamp, un'altra all'uscita del tuo opamp. Se il segnale in uscita è troppo debole, è necessario sostituire i resistori di feedback negativo (1k2 ohm, 220 ohm). Hai 2 scelte, aumentare la resistenza da 1k2 ohm o diminuire la resistenza da 220 ohm. Se l'uscita è troppo alta, fai il contrario.
Se tutto sembra a posto, vai al passaggio successivo.
Passaggio 4: ottenere tutto il software necessario
Nell'immagine si possono vedere i diversi passaggi di codifica per implementare LiFi. Per decodificare, gli stessi passaggi devono essere eseguiti al contrario.
Per questo progetto sono necessarie alcune librerie, sono incluse nei file forniti e qui ci sono i collegamenti al repository github:
-Reed-Solomon:
- Encoder convoluzionale:
Per fare in modo che i file facciano ciò che vogliamo, abbiamo apportato alcune modifiche in essi, quindi è necessario utilizzare la nostra versione delle librerie, inclusa nei file.
Dopo il codificatore convoluzionale, è necessario un ultimo passaggio di codifica, la codifica manchester. I dati dall'encoder convoluzionale vengono inviati a un buffer fifo. Questo buffer viene letto nella parte PL della zedboard, il progetto è incluso nel file 'LIFI.7z'. Con il progetto puoi costruire il tuo bitstream per zedboard o puoi semplicemente usare il bitstream che abbiamo fornito. Per usare questo bitstream devi prima installare Xillinux 2.0 sulla zedboard. La spiegazione su come eseguire questa operazione è fornita sul sito Web Xillybus.
Passaggio 5: creare gli eseguibili
È necessario creare due eseguibili separati, uno per il trasmettitore e uno per il ricevitore. Per fare ciò, è necessario eseguire i seguenti comandi sulla zedboard:
- Trasmettitore: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Trasmettitore
- Ricevitore: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Ricevitore.cpp -o Ricevitore
Passaggio 6: testare tutto
Collegare il trasmettitore al pin JD1_P e il ricevitore al pin JD1_N sulla zedboard. Assicurati di modificare il file dei vincoli se desideri modificare i pin standard.
Per verificare se tutto funziona, apri 2 finestre di terminale nella parte PS. In un terminale eseguire prima la parte ricevente. Successivamente, esegui la parte del trasmettitore nella seconda finestra del terminale.
Se tutto va come dovrebbe, il risultato dovrebbe essere lo stesso dell'immagine sopra.
Consigliato:
Comunicazione wireless SmartHome: le basi estreme di MQTT: 3 passaggi
Comunicazione wireless SmartHome: le basi estreme di MQTT: Nozioni di base MQTT: ** Farò una serie di automazione domestica, seguirò i passaggi che ho seguito per imparare tutto ciò che ho fatto in futuro. Questo Instructable è la linea di base su come configurare MQTT da utilizzare nei miei futuri Instructables. Tuttavia
Auto telecomandata con modulo di comunicazione NRF24L01 PA LNA: 5 passaggi
Auto telecomandata con modulo di comunicazione NRF24L01 PA LNA: In questo argomento, vorremmo condividere come realizzare un'auto telecomandata con il modulo NRF24L01 PA LNA. In realtà ci sono molti altri moduli radio, come i moduli radio 433MHz, HC12, HC05 e LoRa. Ma secondo noi il mod NRF24L01
Comunicazione wireless LoRa da 3Km a 8Km con dispositivo E32 (sx1278/sx1276) a basso costo per Arduino, Esp8266 o Esp32: 15 passaggi
Comunicazione Wireless LoRa da 3Km a 8Km con dispositivo Low Cost E32 (sx1278/sx1276) per Arduino, Esp8266 o Esp32: creo una libreria per gestire EBYTE E32 basata sulla serie Semtech del dispositivo LoRa, dispositivo molto potente, semplice ed economico. Versione 3Km qui, versione 8Km qui Possono lavorare su una distanza da 3000 m a 8000 m e hanno molte funzioni e
MPU 6050 Gyro, comunicazione accelerometro con Arduino (Atmega328p): 5 passaggi
Giroscopio MPU 6050, comunicazione accelerometro con Arduino (Atmega328p): l'IMU MPU6050 ha sia l'accelerometro a 3 assi che il giroscopio a 3 assi integrati su un singolo chip. Il giroscopio misura la velocità di rotazione o la velocità di variazione della posizione angolare nel tempo, lungo il Asse X, Y e Z. Le uscite del giroscopio sono
COMUNICAZIONE DEL SENSORE SU USB: 3 passaggi
COMUNICAZIONE SENSORE SU USB: questo tutorial mostra come utilizzare la scheda portante USB EZO isolata per interagire con i circuiti EZO. Con pochi semplici passaggi sarai in grado di calibrare ed eseguire il debug dei circuiti o addirittura monitorare in tempo reale il parametro in questione.VANTAGGI: