İçindekiler:
- Adım 1: Bileşenleri Toplayın
- Adım 2: Tasarımı Oluşturma
- Adım 3: Tasarımın Test Edilmesi
- Adım 4: Gerekli Tüm Yazılımları Alma
- Adım 5: Yürütülebilir Dosyaları Yapın
- Adım 6: Her Şeyi Test Etme
Video: LiFi İletişimi: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu talimatta, yazılım ve donanım düzeyinde LiFi iletişiminin (verici ve alıcı) nasıl uygulanacağını öğreneceksiniz.
Adım 1: Bileşenleri Toplayın
İhtiyacınız olacak şeyler:
-Arduino ve Zedboard
-osiloskop
-Dirençler: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm ve 27 ohm.
-opamp, kapasitör, zenerdiyot, fotodiyot, LED'ler ve devre kartı.
Adım 2: Tasarımı Oluşturma
Resimde alıcının şeması verilmiştir.
İlk olarak, fotodiyotun anodunu (negatif terminal) 3,3V'a (Vcc), katodu (pozitif terminal) 8k2 ohm'luk bir direnç üzerinden toprağa bağlayın. Ayrıca katodu, sinyali yükseltmek için kullanılacak olan opampınızın pozitif terminaline bağlayın. Negatif geri besleme kullanıyoruz, bu yüzden opampın negatif terminaline 2 direnç bağlayın, 1 (1k2 ohm) opampın çıkışına, diğeri (220 ohm) toprağa gidiyor. GPIO pininizi korumak için, 1k2 ohm'luk bir dirençle seri olarak 3,3V'luk ters taraflı bir zener diyotu toprağa bağlayın. Opamp çıkışının bir GPIO pinine bağlanması gerekir.
Verici yalnızca bir 27 ohm direnç ve seri olarak bir LED'den oluşur. Bir uç bir GPIOpin'e ve diğeri toprağa gider ve LED'in kısa ayağının toprağa bağlı olduğundan emin olun.
Tasarımlar çalışıyorsa, bunun için bir PCB yapabilirsiniz. PCB'de verici ve alıcıyı tek bir kartta birleştirdik, böylece sonunda iki yönde veri gönderebiliriz. Alıcı ve verici için PCB şemalarını resimlerde de görebilirsiniz.
Adım 3: Tasarımın Test Edilmesi
Tasarımı kontrol etmek için bir osiloskop kullanın çünkü ortam ışığı ve foto diyotlardaki farklılık çıkış sinyalinde farklı sonuçlar verebilir.
Vericinizi bir arduinoya bağlayın ve istediğiniz frekansta bir kare dalga oluşturun. Verici LED'ini foto diyotun yakınına yerleştirin.
Bir probu opampınızın pozitif terminaline, diğerini opampınızın çıkışına bağlayın. Çıkış sinyaliniz çok zayıfsa, negatif geri besleme dirençlerinin (1k2 ohm, 220 ohm) değiştirilmesi gerekir. 2 seçeneğiniz var, 1k2 ohm direnci artırın veya 220 ohm direnci azaltın. Çıkış çok yüksekse, tersini yapın.
Her şey yolunda görünüyorsa, bir sonraki adıma geçin.
Adım 4: Gerekli Tüm Yazılımları Alma
Resimde, LiFi'yi uygulamak için farklı kodlama adımları görülebilir. Kodu çözmek için aynı adımların tersten yürütülmesi gerekir.
Bu proje için bazı kütüphanelere ihtiyaç vardır, bunlar verilen dosyalara dahil edilmiştir ve işte github deposuna bağlantılar:
-Reed-Solomon:
-Evrişimsel kodlayıcı:
Dosyaların istediğimizi yapmasını sağlamak için, dosyalarda bulunan kitaplık sürümümüzü kullanmak için bazı ayarlamalar yaptık.
Evrişimsel kodlayıcıdan sonra, manchester kodlaması olan son bir kodlama adımı gereklidir. Evrişimli kodlayıcıdan gelen veriler bir fifo arabelleğine gönderilir. Bu tampon zedboard'un PL kısmında okunur, proje 'LIFI.7z' dosyasına dahil edilir. Proje ile zedboard için kendi bit akışınızı oluşturabilirsiniz veya sadece sağladığımız bit akışını kullanabilirsiniz. Bu veri akışını kullanmak için önce Xillinux 2.0'ı zedboard'a kurmanız gerekir. Bunun nasıl yapılacağı, Xillybus web sitesinde verilmektedir.
Adım 5: Yürütülebilir Dosyaları Yapın
Biri verici diğeri alıcı için olmak üzere iki ayrı yürütülebilir dosya oluşturulmalıdır. Bunu yapmak için, zedboard üzerinde aşağıdaki komutların yürütülmesi gerekir:
- Verici: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o Verici
- Alıcı: g++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o Alıcı
Adım 6: Her Şeyi Test Etme
Vericiyi JD1_P pinine ve alıcıyı zedboard üzerindeki JD1_N pinine bağlayın. Standart pinleri değiştirmek istiyorsanız, kısıtlama dosyasını değiştirdiğinizden emin olun.
Her şeyin çalışıp çalışmadığını test etmek için PS bölümünde 2 terminal penceresi açın. Bir terminalde önce alıcı kısmı yürütün. Bundan sonra, ikinci terminal penceresindeki verici bölümünü yürütün.
Her şey olması gerektiği gibi giderse, sonuç yukarıdaki resimdekiyle aynı olmalıdır.
Önerilen:
Raspberry PI 3 - TtyAMA0 ile BCM GPIO 14 ve GPIO 15 arasında Seri İletişimi Etkinleştir: 9 Adım
Raspberry PI 3 - TtyAMA0'dan BCM GPIO 14'e ve GPIO 15'e Seri İletişimi Etkinleştir: Kısa bir süre önce Raspberry Pi (3b)'mde UART0'ı etkinleştirmekle ilgilendim, böylece onu standart bir 9 kullanarak doğrudan bir RS-232 sinyal seviyesi cihazına bağlayabilirdim. -pin d-sub konektörü, bir USB'den RS-232'ye adaptörden geçmek zorunda kalmadan. İlgi alanımın bir parçası
MPU 6050 Gyro, Arduino ile İvmeölçer İletişimi (Atmega328p): 5 Adım
MPU 6050 Gyro,Arduino ile İvmeölçer İletişimi (Atmega328p): MPU6050 IMU, tek bir çip üzerinde entegre edilmiş 3 Eksenli ivmeölçer ve 3 Eksenli jiroskopa sahiptir. X, Y ve Z ekseni. Jiroskopun çıkışları
USB ÜZERİNDEN SENSÖR İLETİŞİMİ: 3 Adım
USB ÜZERİNDEN SENSÖR İLETİŞİMİ: Bu eğitim, EZO devreleriyle etkileşim kurmak için İzole USB EZO Taşıyıcı Kartının nasıl kullanılacağını gösterir. Birkaç basit adımla, devreleri kalibre edip hatalarını ayıklayabilecek ve hatta söz konusu parametreyi gerçek zamanlı olarak izleyebileceksiniz. AVANTAJLARI:
Arduino ve Mobil Bluetooth İletişimi (haberci): 8 Adım
Arduino ve Mobil Bluetooth İletişimi (haberci): İletişim, günlük hayatımızda önemli bir faktör oynuyor. Ancak bu kilitlenme döneminde kendi ailemizle iletişim veya evimizdeki insanlarla iletişim bazen cep telefonlarına ihtiyaç duyar. Ancak cep telefonlarının kısa süreli kullanımı
Basit Arduino LoRa İletişimi (5km'den fazla): 9 Adım
Basit Arduino LoRa İletişimi (5km'den fazla): E32-TTL-100'ü kütüphanemle test edeceğiz. Kablosuz bir alıcı-verici modülüdür, SEMTECH'in orijinal RFIC SX1278'ini temel alan 410 441 MHz'de (veya 868MHz veya 915MHz) çalışır, şeffaf iletim mevcuttur, TTL seviyesinde. Modül LORA'yı benimser