Table des matières:
- Étape 1: Rassemblez les composants
- Étape 2: Construire la conception
- Étape 3: Tester la conception
- Étape 4: Obtenir tous les logiciels nécessaires
- Étape 5: Créez les exécutables
- Étape 6: tout tester
Vidéo: Communication LiFi : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Dans ce instructable, vous apprendrez comment mettre en œuvre la communication LiFi (émetteur et récepteur) au niveau logiciel et matériel.
Étape 1: Rassemblez les composants
Choses dont vous aurez besoin:
-Arduino et Zedboard
-oscilloscope
-Résistances: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm et 27 ohm.
-opamp, condensateur, zenerdiode, photodiode, LED et breadboard.
Étape 2: Construire la conception
Sur l'image, le schéma du récepteur est donné.
Tout d'abord, connectez l'anode (borne négative) de la photodiode à 3,3 V (Vcc), la cathode (borne positive) à la terre via une résistance de 8k2 ohms. Connectez également la cathode à la borne positive de votre ampli op, qui servira à amplifier le signal. Nous utilisons une rétroaction négative, connectez donc 2 résistances à la borne négative de l'ampli-op, 1 (1k2 ohms) va à la sortie de l'ampli-op, l'autre (220 ohms) va à la terre. Pour protéger votre broche GPIO, connectez une diode Zener polarisée inversée de 3,3 V en série avec une résistance de 1k2 ohm à la terre. La sortie de l'opamp doit être connectée à une broche GPIO.
L'émetteur se compose simplement d'une résistance de 27 ohms et d'une LED en série. Une extrémité va à une broche GPIO et l'autre à la terre, en s'assurant que la branche courte de la LED est connectée à la terre.
Si les conceptions fonctionnent, vous pouvez créer un PCB pour cela. Sur le PCB, nous avons combiné l'émetteur et le récepteur sur une seule carte, afin que nous puissions éventuellement envoyer des données dans les deux sens. Vous pouvez également voir les schémas PCB dans les images pour le récepteur et l'émetteur.
Étape 3: Tester la conception
Utilisez un oscilloscope pour vérifier la conception car la lumière ambiante et la différence entre les photodiodes peuvent donner des résultats différents dans le signal de sortie.
Connectez votre émetteur à un arduino et générez une onde carrée avec la fréquence souhaitée. Placez la LED de l'émetteur à proximité de la photodiode.
Connectez une sonde à la borne positive de votre ampli op, une autre à la sortie de votre ampli op. Si votre signal de sortie est trop faible, les résistances de contre-réaction (1k2 ohm, 220 ohm) doivent être changées. Vous avez 2 choix, augmenter la résistance de 1k2 ohm ou diminuer la résistance de 220 ohm. Si la sortie est trop élevée, faites l'inverse.
Si tout semble ok, passez à l'étape suivante.
Étape 4: Obtenir tous les logiciels nécessaires
Sur l'image on peut voir les différentes étapes d'encodage pour implémenter le LiFi. Pour décoder, les mêmes étapes doivent être exécutées à l'envers.
Pour ce projet, certaines bibliothèques sont nécessaires, elles sont incluses dans les fichiers donnés et voici les liens vers le référentiel github:
-Reed-Solomon:
-Encodeur convolutif:
Pour que les fichiers fassent ce que nous voulons, nous y avons fait quelques ajustements, il est donc nécessaire d'utiliser notre version des bibliothèques, incluses dans les fichiers.
Après l'encodeur convolutif, une dernière étape d'encodage est nécessaire, l'encodage manchester. Les données du codeur convolutif sont envoyées à une mémoire tampon FIFO. Ce buffer est lu dans la partie PL du zedboard, le projet est inclus dans le fichier 'LIFI.7z'. Avec le projet, vous pouvez créer votre propre bitstream pour le zedboard ou vous pouvez simplement utiliser le bitstream que nous avons fourni. Pour utiliser ce flux binaire, vous devez d'abord installer Xillinux 2.0 sur le zedboard. L'explication de la marche à suivre est fournie sur le site Web de Xillybus.
Étape 5: Créez les exécutables
Deux exécutables distincts doivent être créés, un pour l'émetteur et un pour le récepteur. Pour ce faire, les commandes suivantes doivent être exécutées sur le zedboard:
- Émetteur: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Émetteur
- Récepteur: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Récepteur
Étape 6: tout tester
Connectez l'émetteur à la broche JD1_P et le récepteur à la broche JD1_N sur le zedboard. Assurez-vous de changer le fichier de contraintes si vous souhaitez changer les broches standard.
Pour tester si tout fonctionne, ouvrez 2 fenêtres de terminal dans la partie PS. Dans un terminal, exécutez d'abord la partie réception. Après cela, exécutez la partie émetteur dans la deuxième fenêtre de terminal.
Si tout se passe comme il se doit, le résultat devrait être le même que sur l'image ci-dessus.
Conseillé:
Ajouter un affichage numérique à un ancien récepteur de communication : 6 étapes (avec photos)
Ajouter un affichage numérique à un ancien récepteur de communication : L'un des inconvénients de l'utilisation d'un ancien équipement de communication est le fait que le cadran analogique n'est pas très précis. Vous êtes toujours en train de deviner la fréquence que vous recevez. Dans les bandes AM ou FM, ce n'est généralement pas un problème car vous avez généralement
Communication sans fil SmartHome : les bases extrêmes de MQTT : 3 étapes
Communication sans fil SmartHome : les bases extrêmes de MQTT : Les bases de MQTT : ** Je vais faire une série de domotique, je vais suivre les étapes que j'ai suivies pour apprendre tout ce que j'ai fait à l'avenir. Ce Instructable est la base de référence sur la façon de configurer MQTT pour une utilisation dans mes futurs Instructables. Cependant
Voiture télécommandée avec module de communication NRF24L01 PA LNA : 5 étapes
Voiture télécommandée avec module de communication NRF24L01 PA LNA : Dans ce sujet, nous aimerions partager sur la façon de fabriquer une voiture télécommandée avec le module NRF24L01 PA LNA. En fait, il existe plusieurs autres modules radio, tels que les modules radio 433MHz, HC12, HC05 et LoRa. Mais à notre avis le mod NRF24L01
Communication sans fil LoRa 3Km à 8Km avec dispositif E32 (sx1278/sx1276) à faible coût pour Arduino, Esp8266 ou Esp32 : 15 étapes
Communication sans fil LoRa 3Km à 8Km avec appareil E32 (sx1278/sx1276) à faible coût pour Arduino, Esp8266 ou Esp32: je crée une bibliothèque pour gérer EBYTE E32 basée sur la série Semtech d'appareil LoRa, appareil très puissant, simple et bon marché.Vous pouvez trouver Version 3Km ici, version 8Km iciIls peuvent fonctionner sur une distance de 3000m à 8000m, et ils ont beaucoup de fonctionnalités et
MPU 6050 Gyro, Communication d'accéléromètre avec Arduino (Atmega328p): 5 étapes
Gyro MPU 6050, communication d'accéléromètre avec Arduino (Atmega328p): L'IMU MPU6050 possède à la fois un accéléromètre à 3 axes et un gyroscope à 3 axes intégrés sur une seule puce. Le gyroscope mesure la vitesse de rotation ou le taux de changement de la position angulaire au fil du temps, le long de la Axes X, Y et Z. Les sorties du gyroscope sont