Índice:

Comunicação LiFi: 6 etapas
Comunicação LiFi: 6 etapas

Vídeo: Comunicação LiFi: 6 etapas

Vídeo: Comunicação LiFi: 6 etapas
Vídeo: As fases do desenvolvimento da criança: 0 a 6 anos e 6 a 12 anos - Manhãs Sem Limites - Isa Minatel 2024, Julho
Anonim
Comunicação LiFi
Comunicação LiFi

Neste instrutível, você aprenderá como implementar a comunicação LiFi (transmissor e receptor) em um nível de software e hardware.

Etapa 1: reunir componentes

Reúna componentes
Reúna componentes

Coisas que você vai precisar:

-Arduino e Zedboard

-osciloscópio

-Resistores: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm e 27 ohm.

-opamp, capacitor, zenerdiode, fotodiodo, LEDs e breadbord.

Etapa 2: Construindo o Design

Construindo o Design
Construindo o Design
Construindo o Design
Construindo o Design
Construindo o Design
Construindo o Design

Na imagem, o esquema para o receptor é dado.

Primeiro, conecte o ânodo (terminal negativo) do fotodiodo a 3,3 V (Vcc), o cátodo (terminal positivo) ao aterramento por meio de um resistor de 8k2 ohm. Também conecte o cátodo ao terminal positivo do seu OP, que será usado para amplificar o sinal. Estamos usando feedback negativo, então conecte 2 resistores ao terminal negativo do opamp, 1 (1k2 ohm) vai para a saída do opamp, o outro (220 ohm) vai para o aterramento. Para proteger seu pino GPIO, conecte um diodo zener de polarização reversa de 3,3 V em série com um resistor de 1k2 ohm ao aterramento. A saída do opamp precisa ser conectada a um pino GPIO.

O transmissor consiste apenas em um resistor de 27 ohms e um LED em série. Uma extremidade vai para um GPIOpin e a outra para o aterramento, certificando-se de que a perna curta do LED esteja conectada ao aterramento.

Se os projetos estiverem funcionando, você pode fazer um PCB para ele. No PCB, combinamos o transmissor e o receptor em uma placa, para que possamos enviar dados em duas direções. Você também pode ver os esquemas do PCB nas imagens do receptor e do transmissor.

Etapa 3: Testar o Design

Use um osciloscópio para verificar o projeto porque a luz ambiente e a diferença nos diodos fotográficos podem fornecer resultados diferentes no sinal de saída.

Conecte seu transmissor a um arduino e gere uma onda quadrada com a frequência desejada. Coloque o LED do transmissor próximo ao foto diodo.

Conecte uma sonda ao terminal positivo do seu opamp, outra para a saída do seu opamp. Se o seu sinal de saída for muito fraco, os resistores de feedback negativo (1k2 ohm, 220 ohm) precisam ser trocados. Você tem 2 opções, aumentar o resistor de 1k2 ohm ou diminuir o resistor de 220 ohm. Se a saída for muito alta, faça o oposto.

Se tudo estiver certo, prossiga para a próxima etapa.

Etapa 4: obtendo todo o software necessário

Obtendo todo o software necessário
Obtendo todo o software necessário

Na imagem, as diferentes etapas de codificação podem ser vistas para implementar o LiFi. Para decodificar, as mesmas etapas precisam ser executadas ao contrário.

Para este projeto, algumas bibliotecas são necessárias, elas estão incluídas nos arquivos fornecidos e aqui estão os links para o repositório github:

-Reed-Solomon:

- Codificador convencional:

Para que os arquivos façam o que queremos, fizemos alguns ajustes neles para que seja necessário usar a nossa versão das bibliotecas, incluída nos arquivos.

Após o codificador convolucional, uma última etapa de codificação é necessária, a codificação manchester. Os dados do codificador convolucional são enviados para um buffer fifo. Este buffer é lido na parte PL do zedboard, o projeto é incluído no arquivo 'LIFI.7z'. Com o projeto, você pode construir seu próprio fluxo de bits para o zedboard ou pode apenas usar o fluxo de bits que fornecemos. Para usar este fluxo de bits, você deve primeiro instalar o Xillinux 2.0 no zedboard. A explicação de como fazer isso é fornecida no site da Xillybus.

Etapa 5: faça os executáveis

Dois executáveis separados precisam ser feitos, um para o transmissor e outro para o receptor. Para fazer isso, os seguintes comandos precisam ser executados no zedboard:

- Transmissor: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Transmissor

- Receptor: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Receptor

Etapa 6: testando tudo

Conecte o transmissor ao pino JD1_P e o receptor ao pino JD1_N no zedboard. Certifique-se de alterar o arquivo de restrição se desejar alterar os pinos padrão.

Para testar se tudo funciona, abra 2 janelas de terminal na parte PS. Em um terminal, execute primeiro a parte receptora. Depois disso, execute a parte do transmissor na segunda janela do terminal.

Se tudo correr como deveria, o resultado deve ser o mesmo da imagem acima.

Recomendado: