- Komponen Diperlukan
- Pengenalan Ringkas kepada Li-Fi
- Bahagian Pemancar Li-Fi menggunakan Arduino
- Bahagian Penerima Li-Fi menggunakan Arduino
- Pengkodan Arduino Untuk Li-Fi
Li-Fi (Light Fidelity) adalah teknologi canggih yang memungkinkan pemindahan data menggunakan komunikasi optik seperti cahaya yang dapat dilihat. Data Li-Fi dapat bergerak melalui cahaya dan kemudian ditafsirkan di sisi penerima menggunakan mana-mana peranti yang peka cahaya seperti LDR atau fotodioda. Komunikasi Li-Fi dapat 100 kali lebih cepat daripada Wi-Fi.
Di sini dalam projek ini, kami akan menunjukkan komunikasi Li-Fi menggunakan dua Arduino. Di sini data teks dihantar menggunakan papan kekunci LED dan 4x4. Dan ia disahkod di sisi penerima menggunakan LDR. Kami sebelum ini menjelaskan Li-Fi secara terperinci dan menggunakan Li-Fi untuk memindahkan isyarat audio.
Komponen Diperlukan
- Arduino UNO
- Sensor LDR
- Pad Kekunci 4 * 4
- 16 * 2 LCD Alphanumerik
- Modul antara muka I2C untuk LCD
- Papan roti
- Menyambung Pelompat
- LED 5 mm
Pengenalan Ringkas kepada Li-Fi
Seperti yang dibincangkan di atas, Li-Fi adalah teknologi komunikasi canggih yang dapat 100 kali lebih cepat daripada komunikasi Wi-Fi. Dengan menggunakan teknologi ini, data dapat dipindahkan menggunakan sumber cahaya yang dapat dilihat. Bayangkan, jika anda dapat mengakses internet berkelajuan tinggi dengan hanya menggunakan sumber cahaya anda. Bukankah itu sangat menarik?
Li-Fi menggunakan cahaya tampak sebagai media komunikasi untuk penghantaran data. LED boleh bertindak sebagai sumber cahaya dan fotodiod berfungsi sebagai pemancar yang menerima isyarat cahaya dan menghantarnya kembali. Dengan Mengendalikan denyut cahaya di sisi pemancar, kita dapat mengirim corak data yang unik. Fenomena ini berlaku pada kelajuan yang sangat tinggi dan tidak dapat dilihat melalui mata manusia. Kemudian di sisi penerima, fotodiod atau perintang bergantung cahaya (LDR) menukar data menjadi maklumat berguna.
Bahagian Pemancar Li-Fi menggunakan Arduino
Seperti yang ditunjukkan dalam gambar di atas, di bahagian pemancar komunikasi Li-Fi, papan kekunci digunakan sebagai input di sini. Itu bermaksud kita akan memilih teks yang akan dihantar menggunakan papan kekunci. Kemudian maklumat itu diproses oleh unit kawalan yang tidak lain adalah Arduino dalam kes kami. Arduino menukar maklumat menjadi denyut binari yang boleh dimasukkan ke sumber LED untuk penghantaran. Kemudian data ini disalurkan ke lampu LED yang mengirimkan denyut cahaya yang dapat dilihat ke sisi penerima.
Diagram Litar Bahagian Pemancar:
Persediaan Perkakasan untuk Bahagian Pemancar:
Bahagian Penerima Li-Fi menggunakan Arduino
Di bahagian penerima, sensor LDR menerima denyut cahaya yang dapat dilihat dari sisi pemancar dan mengubahnya menjadi denyut elektrik yang dapat ditafsirkan, yang dimasukkan ke Arduino (Unit kawalan). Arduino menerima nadi ini dan menukarnya menjadi data sebenar dan memaparkannya pada paparan LCD 16x2.
Litar Diagram Bahagian Penerima:
Persediaan Perkakasan untuk Bahagian Penerima:
Pengkodan Arduino Untuk Li-Fi
Seperti yang ditunjukkan di atas, kami mempunyai dua bahagian untuk Pemancar dan Penerima Li-Fi. Kod lengkap untuk setiap bahagian diberikan di bahagian bawah tutorial dan penjelasan kod bertahap diberikan di bawah:
Kod Pemancar Li-Fi Arduino:
Di sisi Pemancar, Arduino Nano digunakan dengan Pad Kekunci 4x4 dan LED. Pertama, semua fail perpustakaan bergantung dimuat turun dan dipasang ke Arduino melalui Arduino IDE. Di sini, perpustakaan Keypad digunakan untuk menggunakan Pad Kekunci 4 * 4 yang boleh dimuat turun dari pautan ini. Ketahui lebih lanjut mengenai menghubungkan pad kekunci 4x4 dengan Arduino di sini.
#sertakan
Setelah pemasangan fail perpustakaan berjaya, tentukan no. baris dan nilai lajur yang 4 untuk kedua-duanya kerana kami telah menggunakan papan kekunci 4 * 4 di sini.
const byte ROW = 4; const byte COL = 4; kod kunci char = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', ' 9 ',' C '}, {' * ',' 0 ',' # ',' D '} };
Kemudian, pin Arduino ditakrifkan yang digunakan untuk berinteraksi dengan papan kekunci 4 * 4. Dalam kes kami, kami telah menggunakan masing-masing A5, A4, A3, dan A2 untuk R1, R2, R3, R4, dan A1, A0, 12, 11 untuk C1, C2, C3, dan C4 masing-masing.
byte rowPin = {A5, A4, A3, A2}; byte colPin = {A1, A0, 12, 11}; Keypad customKeypad = Pad Kekunci (makeKeymap (keycode), rowPin, colPin, ROW, COL);
Di dalam persediaan (), pin output ditentukan, di mana sumber LED disambungkan. Juga, ia tetap MATI semasa menghidupkan peranti.
batal persediaan () { pinMode (8, OUTPUT); digitalWrite (8, RENDAH); }
Inside while loop, nilai yang diterima dari papan kekunci dibaca menggunakan customKeypad.getKey () dan ia dibandingkan dalam gelung if-else , untuk menghasilkan denyutan unik di setiap penekanan kekunci. Ini dapat dilihat dalam kod bahawa selang pemasa tetap unik untuk semua nilai utama.
char customKey = customKeypad.getKey (); if (customKey) { if (customKey == '1') { digitalWrite (8, TINGGI); kelewatan (10); digitalWrite (8, RENDAH); }
Kod Penerima Li-Fi Arduino:
Di sisi penerima Li-Fi, Arduino UNO dihubungkan dengan sensor LDR seperti yang ditunjukkan dalam rajah litar. Di sini sensor LDR dihubungkan secara bersiri dengan perintang untuk membentuk litar pembahagi voltan dan output voltan Analog dari sensor diumpankan ke Arduino sebagai isyarat input. Di sini kita menggunakan modul I2C dengan LCD untuk mengurangkan no. hubungan dengan Arduino kerana modul ini hanya memerlukan 2 pin data SCL / SDA dan 2 pin kuasa.
Mulakan kod dengan memasukkan semua fail perpustakaan yang diperlukan dalam kod seperti Wire.h untuk komunikasi I2C, LiquidCrystal_I2C.h untuk LCD, dan lain-lain. Perpustakaan ini akan dipasang terlebih dahulu dengan Arduino, jadi tidak perlu memuat turunnya.
#sertakan
Untuk menggunakan modul I2C untuk LCD Alphanumerik 16 * 2, konfigurasikannya menggunakan kelas LiquidCrystal_I2C . Di sini kita mesti memasukkan alamat, baris, dan nombor lajur yang masing-masing 0x3f, 16, dan 2 dalam kes kita.
LiquidCrystal_I2C lcd (0x3f, 16, 2);
Di dalam persediaan (), nyatakan pin input nadi untuk menerima isyarat. Kemudian cetak mesej selamat datang di LCD yang akan dipaparkan semasa permulaan projek.
batal persediaan () { pinMode (8, INPUT); Serial.begin (9600); lcd.init (); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("SELAMAT DATANG"); lcd.setCursor (0, 1); lcd.print ("CIRCUIT DIGEST"); kelewatan (2000); lcd.clear (); }
Di dalam loop sementara , jangka masa input nadi dari LDR dikira menggunakan fungsi pulseIn , dan jenis denyut nadi ditentukan yang RENDAH dalam kes kita. Nilai dicetak pada monitor bersiri untuk tujuan penyahpepijatan. Dianjurkan untuk memeriksa durasinya, kerana mungkin berbeza untuk penyediaan yang berbeza.
jangka masa panjang yang tidak ditandatangani = pulseIn (8, TINGGI); Serial.println (tempoh);
Setelah memeriksa jangka masa untuk semua denyut pemancar, kami kini mempunyai 16 rentang jangka masa nadi, yang diperhatikan sebagai rujukan. Sekarang bandingkan dengan menggunakan gelung IF-ELSE untuk mendapatkan data tepat yang telah dihantar. Satu gelung sampel untuk Kunci 1 diberikan di bawah:
jika (tempoh> 10000 && tempoh <17000) { lcd.setCursor (0, 0); lcd.print ("Diterima: 1"); }
Pemancar dan Penerima Li-Fi menggunakan Arduino
Setelah memuat naik kod lengkap di kedua Arduino, tekan sebarang butang pada papan kekunci di sisi penerima dan digit yang sama akan dipaparkan pada LCD 16x2 di sisi penerima.
Ini adalah bagaimana Li-Fi dapat digunakan untuk mengirimkan data melalui cahaya. Semoga anda menikmati artikel tersebut dan mengetahui sesuatu yang baru, jika anda mempunyai keraguan, anda boleh menggunakan bahagian komen atau bertanya di forum.