Სარჩევი:
- ნაბიჯი 1: შეაგროვეთ კომპონენტები
- ნაბიჯი 2: შექმენით დიზაინი
- ნაბიჯი 3: დიზაინის შემოწმება
- ნაბიჯი 4: მიიღეთ ყველა საჭირო პროგრამული უზრუნველყოფა
- ნაბიჯი 5: შექმენით შემსრულებლები
- ნაბიჯი 6: ყველაფრის გამოცდა
ვიდეო: LiFi კომუნიკაცია: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ ინსტრუქციებში თქვენ შეისწავლით თუ როგორ განახორციელოთ LiFi კომუნიკაცია (გადამცემი და მიმღები) პროგრამული და ტექნიკური დონეზე.
ნაბიჯი 1: შეაგროვეთ კომპონენტები
ნივთები რაც დაგჭირდებათ:
-არდუინო და Zedboard
-ოსცილოსკოპი
-რეზისტენტები: 8k ohm, 1k2 ohm, 1k ohm, 220 ohm და 27 ohm.
-კამერა, კონდენსატორი, ზენერდიოდი, ფოტოდიოდი, LED- ები და პურბორდი.
ნაბიჯი 2: შექმენით დიზაინი
სურათზე მოცემულია მიმღების სქემა.
პირველი, დაუკავშირეთ ფოტოდიოდის ანოდი (უარყოფითი ტერმინალი) 3.3V (Vcc), კათოდს (პოზიტიური ტერმინალი) მიწას 8 კ 2 ოჰმ რეზისტორის საშუალებით. ასევე შეაერთეთ კათოდი თქვენი ოპამპის დადებით ტერმინალთან, რომელიც გამოყენებული იქნება სიგნალის გასაძლიერებლად. ჩვენ ვიყენებთ უარყოფით უკუკავშირს, ასე რომ დაუკავშირეთ 2 რეზისტორი opamp– ის უარყოფით ტერმინალს, 1 (1k2 ohm) მიდის opamp– ის გამოსავალზე, მეორე (220 ohm) მიდის მიწაზე. თქვენი GPIO pin- ის დასაცავად, დაუკავშირეთ 3.3V სერიულად შექცეული მიკერძოებული ზენერის დიოდი 1k2 ohm რეზისტორთან მიწასთან. ოპამპის გამომავალი უნდა იყოს დაკავშირებული GPIO პინთან.
გადამცემი მხოლოდ შედგება 27 ohm რეზისტორისა და LED სერიისგან. ერთი ბოლო მიდის GPIOpin– ით და მეორე მიწასთან, რაც დარწმუნებულია, რომ LED– ის მოკლე ფეხი მიწასთან არის დაკავშირებული.
თუ დიზაინი მუშაობს, შეგიძლიათ გააკეთოთ PCB. PCB– ზე ჩვენ გავაერთიანეთ გადამცემი და მიმღები ერთ დაფაზე, ასე რომ ჩვენ საბოლოოდ შეგვიძლია მონაცემების გაგზავნა ორი მიმართულებით. თქვენ ასევე შეგიძლიათ ნახოთ PCB სქემა სურათებში მიმღებისა და გადამცემისათვის.
ნაბიჯი 3: დიზაინის შემოწმება
გამოიყენეთ ოსცილოსკოპი დიზაინის შესამოწმებლად, რადგან გარე განათება და ფოტო დიოდების სხვაობა განსხვავებულ შედეგს იძლევა გამოსასვლელ სიგნალში.
შეაერთეთ თქვენი გადამცემი არდუინოსთან და შექმენით კვადრატული ტალღა სასურველი სიხშირით. განათავსეთ გადამცემის LED ახლოს ფოტო დიოდთან.
შეაერთეთ ერთი ზონდი თქვენი ოპამპის პოზიტიურ ტერმინალთან, მეორე თქვენი ოპამპის გამოსავალს. თუ თქვენი გამომავალი სიგნალი ძალიან სუსტია, უარყოფითი უკუკავშირის რეზისტორები (1k2 ohm, 220 ohm) უნდა შეიცვალოს. თქვენ გაქვთ 2 არჩევანი, გაზარდეთ 1k2 ohm რეზისტორი ან შეამცირეთ 220 ohm რეზისტორი. თუ გამოსავალი ძალიან მაღალია, გააკეთეთ პირიქით.
თუ ყველაფერი კარგად არის, გადადით შემდეგ ეტაპზე.
ნაბიჯი 4: მიიღეთ ყველა საჭირო პროგრამული უზრუნველყოფა
გამოსახულებაზე კოდირების სხვადასხვა საფეხურები ჩანს LiFi განსახორციელებლად. დეკოდირებისთვის, იგივე ნაბიჯები უნდა შესრულდეს პირიქით.
ამ პროექტისათვის საჭიროა რამდენიმე ბიბლიოთეკა, ისინი შეტანილია მოცემულ ფაილებში და აქ არის ბმულები github საცავზე:
-რედი-სოლომონი:
-კონვოლუციური კოდირება:
იმისათვის, რომ ფაილები გააკეთონ ის, რაც ჩვენ გვსურს, ჩვენ შევიტანეთ ცვლილებები მათში, ამიტომ აუცილებელია გამოვიყენოთ ბიბლიოთეკების ჩვენი ვერსია, რომელიც შედის ფაილებში.
კონვოლუციური კოდირების შემდეგ, საჭიროა კოდირების ბოლო ნაბიჯი, მანჩესტერის კოდირება. კონვოლუციური კოდირების მონაცემები იგზავნება ფიფო ბუფერში. ეს ბუფერი იკითხება zedboard– ის PL ნაწილში, პროექტი შედის „LIFI.7z“ფაილში. პროექტის საშუალებით თქვენ შეგიძლიათ ააწყოთ თქვენი საკუთარი ბიტ სტრიმი zedboard– ისთვის, ან შეგიძლიათ უბრალოდ გამოიყენოთ ჩვენ მიერ მოწოდებული ბიტ სტრიმი. ამ ბიტ -სტრიმის გამოსაყენებლად თქვენ ჯერ Zidboard– ზე უნდა დააინსტალიროთ Xillinux 2.0. ახსნა, თუ როგორ უნდა გაკეთდეს ეს მოცემულია Xillybus ვებსაიტზე.
ნაბიჯი 5: შექმენით შემსრულებლები
საჭიროა ორი ცალკეული შესრულებადი, ერთი გადამცემისათვის და ერთი მიმღებისათვის. ამისათვის zedboard– ზე უნდა შესრულდეს შემდეგი ბრძანებები:
- გადამცემი: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Transmission.cpp -o გადამცემი
- მიმღები: g ++ ReedSolomon.cpp Interleaver.cpp viterbi.cpp Receiver.cpp -o მიმღები
ნაბიჯი 6: ყველაფრის გამოცდა
შეაერთეთ გადამცემი JD1_P პინთან და მიმღები JD1_N პინთან zedboard- ზე. დარწმუნდით, რომ შეცვალოთ შეზღუდვის ფაილი, თუ გსურთ სტანდარტული ქინძისთავების შეცვლა.
იმის შესამოწმებლად, მუშაობს თუ არა ყველაფერი, გახსენით 2 ტერმინალის ფანჯარა PS ნაწილში. ერთ ტერმინალში პირველად შეასრულეთ მიმღები ნაწილი. ამის შემდეგ, შეასრულეთ გადამცემის ნაწილი მეორე ტერმინალის ფანჯარაში.
თუ ყველაფერი ისე მიდის, როგორც უნდა, შედეგი იგივე უნდა იყოს, რაც ზემოთ მოცემულ სურათზე.
გირჩევთ:
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: 3 ნაბიჯი
SmartHome უკაბელო კომუნიკაცია: MQTT– ის ექსტრემალური საფუძვლები: MQTT საფუძვლები: ** მე ვაპირებ სახლის ავტომატიზაციის სერიის გაკეთებას, მე გავდივარ იმ ნაბიჯებს, რომლებიც გადავიდე იმის შესასწავლად, რაც გავაკეთე მომავალში. ეს ინსტრუქცია არის საფუძველი იმის შესახებ, თუ როგორ უნდა დააყენოთ MQTT გამოსაყენებლად ჩემს მომავალ ინსტრუქციებში. როგორ
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino- სთვის, Esp8266 ან Esp32: 15 ნაბიჯი
LoRa 3 კმ -დან 8 კმ -მდე უკაბელო კომუნიკაცია დაბალი ღირებულებით E32 (sx1278/sx1276) მოწყობილობა Arduino, Esp8266 ან Esp32: მე ვქმნი ბიბლიოთეკას EBYTE E32- ის მართვისთვის LoRa მოწყობილობის Semtech სერიის საფუძველზე, ძალიან მძლავრი, მარტივი და იაფი მოწყობილობა. თქვენ შეგიძლიათ იპოვოთ 3 კმ ვერსია აქ, 8 კმ ვერსია აქ მათ შეუძლიათ იმუშაონ 3000 მ - დან 8000 მ - მდე მანძილზე და მათ აქვთ ბევრი მახასიათებელი
MPU 6050 Gyro, ამაჩქარებელი კომუნიკაცია Arduino– სთან (Atmega328p): 5 ნაბიჯი
MPU 6050 Gyro, Accelerometer Communication with Arduino (Atmega328p): MPU6050 IMU– ს აქვს 3 ღერძიანი ამაჩქარებელი და 3 ღერძიანი გიროსკოპი, რომელიც ინტეგრირებულია ერთ ჩიპზე. გიროსკოპი ზომავს ბრუნვის სიჩქარეს ან კუთხის პოზიციის ცვლილების სიჩქარეს დროთა განმავლობაში, გასწვრივ X, Y და Z ღერძი. გიროსკოპის შედეგები არის
Arduino და მობილური Bluetooth კომუნიკაცია (მესინჯერი): 8 ნაბიჯი
არდუინო და მობილური Bluetooth კომუნიკაცია (მესინჯერი): კომუნიკაცია მნიშვნელოვან ფაქტორს თამაშობს ჩვენს ყოველდღიურ ცხოვრებაში. მაგრამ დაბლოკვის ამ დროს, საკუთარ ოჯახთან კომუნიკაციის ან ჩვენს სახლში მცხოვრებ ადამიანებთან ურთიერთობისას, ზოგჯერ გვჭირდება მობილური ტელეფონები. მობილური ტელეფონების გამოყენება მოკლედ
უკაბელო დაშიფრული კომუნიკაცია Arduino: 5 ნაბიჯი
უკაბელო დაშიფრული კომუნიკაცია Arduino: მოგესალმებით ყველას, ამ მეორე სტატიაში მე აგიხსნით როგორ გამოიყენოთ ჩიპი Atecc608a თქვენი უკაბელო კომუნიკაციის უზრუნველსაყოფად. ამისათვის მე გამოვიყენებ NRF24L01+ უსადენო ნაწილისა და Arduino UNO– სთვის. მიკრო ჩიპი ATECC608A შემუშავებულია