- المكونات مطلوبة
- مقدمة موجزة عن Li-Fi
- قسم مرسل Li-Fi باستخدام Arduino
- قسم استقبال Li-Fi باستخدام Arduino
- ترميز Arduino لـ Li-Fi
Li-Fi (Light Fidelity) هي تقنية متقدمة تسمح بنقل البيانات باستخدام الاتصال البصري مثل الضوء المرئي. يمكن أن تنتقل بيانات Li-Fi عبر الضوء ثم يتم تفسيرها على جانب المستقبل باستخدام أي جهاز حساس للضوء مثل LDR أو الثنائي الضوئي. يمكن أن تكون اتصالات Li-Fi أسرع 100 مرة من Wi-Fi.
هنا في هذا المشروع ، سنعرض اتصال Li-Fi باستخدام اثنين من Arduino. هنا يتم إرسال البيانات النصية باستخدام لوحة مفاتيح LED و 4x4. ويتم فك شفرته على جانب المتلقي باستخدام LDR. شرحنا سابقًا Li-Fi بالتفصيل واستخدمنا Li-Fi لنقل الإشارات الصوتية.
المكونات مطلوبة
- اردوينو UNO
- مستشعر LDR
- لوحة مفاتيح 4 * 4
- شاشة LCD أبجدية رقمية مقاس 16 * 2
- وحدة واجهة I2C لشاشات الكريستال السائل
- اللوح
- ربط صداري
- 5 ملم LED
مقدمة موجزة عن Li-Fi
كما نوقش أعلاه ، تعد Li-Fi تقنية اتصال متقدمة يمكن أن تكون أسرع 100 مرة من اتصال Wi-Fi. باستخدام هذه التقنية ، يمكن نقل البيانات باستخدام مصادر الضوء المرئي. تخيل ، إذا كان بإمكانك الوصول إلى الإنترنت عالي السرعة بمجرد استخدام مصدر الضوء الخاص بك. ألا يبدو الأمر ممتعًا جدًا؟
يستخدم Li-Fi الضوء المرئي كوسيلة اتصال لنقل البيانات. يمكن أن يعمل الصمام الثنائي الباعث للضوء كمصدر للضوء ويعمل الثنائي الضوئي كجهاز إرسال واستقبال يستقبل إشارات الضوء ويرسلها مرة أخرى. من خلال التحكم في نبضة الضوء من جانب جهاز الإرسال ، يمكننا إرسال أنماط بيانات فريدة. تحدث هذه الظاهرة بسرعة عالية للغاية ولا يمكن رؤيتها بالعين البشرية. ثم في جانب المستقبل ، يقوم الثنائي الضوئي أو المقاوم المعتمد على الضوء (LDR) بتحويل البيانات إلى معلومات مفيدة.
قسم مرسل Li-Fi باستخدام Arduino
كما هو موضح في الشكل أعلاه ، في جزء جهاز الإرسال من اتصال Li-Fi ، يتم استخدام لوحة المفاتيح كمدخل هنا. هذا يعني أننا سنختار النص الذي سيتم إرساله باستخدام لوحة المفاتيح. ثم تتم معالجة المعلومات بواسطة وحدة التحكم التي ليست سوى Arduino في حالتنا. يحول Arduino المعلومات إلى نبضات ثنائية يمكن تغذيتها إلى مصدر LED للإرسال. ثم يتم تغذية هذه البيانات إلى ضوء LED الذي يرسل نبضات الضوء المرئي إلى جانب المستقبل.
مخطط دائرة قسم المرسل:
إعداد الأجهزة لجهة الإرسال:
قسم استقبال Li-Fi باستخدام Arduino
في قسم المستقبل ، يستقبل مستشعر LDR نبضات الضوء المرئي من جانب جهاز الإرسال ويحولها إلى نبضات كهربائية قابلة للتفسير ، والتي يتم تغذيتها إلى Arduino (وحدة التحكم). يستقبل Arduino هذا النبض ويحوله إلى بيانات فعلية ويعرضه على شاشة LCD مقاس 16 × 2.
مخطط الدائرة لقسم المستقبل:
إعداد الأجهزة لجانب جهاز الاستقبال:
ترميز Arduino لـ Li-Fi
كما هو موضح أعلاه ، لدينا قسمان لجهاز الإرسال والاستقبال Li-Fi. يتم تقديم الرموز الكاملة لكل قسم في الجزء السفلي من البرنامج التعليمي ويتم تقديم شرح تدريجي للرموز أدناه:
كود مرسل اردوينو Li-Fi:
في جانب جهاز الإرسال ، يتم استخدام Arduino Nano مع لوحة مفاتيح 4x4 و LED. أولاً ، يتم تنزيل جميع ملفات المكتبة التابعة وتثبيتها على Arduino عبر Arduino IDE. هنا ، تُستخدم مكتبة Keypad لاستخدام لوحة المفاتيح 4 * 4 والتي يمكن تنزيلها من هذا الرابط. تعرف على المزيد حول استخدام لوحة مفاتيح 4x4 مع Arduino هنا.
#تضمن
بعد التثبيت الناجح لملفات المكتبة ، حدد لا. من الصفوف وقيم العمود وهي 4 لكليهما كما استخدمنا لوحة مفاتيح 4 * 4 هنا.
البايت الثابت ROW = 4 ؛ البايت الثابت COL = 4 ؛ رمز char = { {'1'، '2'، '3'، 'A'}، {'4'، '5'، '6'، 'B'}، {'7'، '8'، ' 9 '،' C '}، {' * '،' 0 '،' # '،' D '} } ؛
بعد ذلك ، يتم تحديد دبابيس Arduino التي يتم استخدامها للتفاعل مع لوحة المفاتيح 4 * 4. في حالتنا ، استخدمنا A5 و A4 و A3 و A2 لـ R1 و R2 و R3 و R4 على التوالي و A1 و A0 و 12 و 11 لـ C1 و C2 و C3 و C4 على التوالي.
بايت rowPin = {A5، A4، A3، A2} ؛ بايت colPin = {A1، A0، 12، 11} ؛ Keypad customKeypad = لوحة المفاتيح (makeKeymap (keyscode) ، rowPin ، colPin ، ROW ، COL) ؛
الإعداد الداخلي () ، يتم تحديد دبوس الإخراج ، حيث يتم توصيل مصدر LED. أيضًا ، يتم إيقاف تشغيله أثناء تشغيل الجهاز.
إعداد باطل () { pinMode (8 ، الإخراج) ؛ digitalWrite (8 ، منخفض) ؛ }
داخل حلقة while ، تتم قراءة القيم المستلمة من لوحة المفاتيح باستخدام customKeypad.getKey () وتتم مقارنتها في حلقة if-else ، لتوليد نبضات فريدة في كل ضغطة مفتاح. يمكن أن نرى في الكود أن فترات المؤقت تظل فريدة لجميع القيم الأساسية.
char customKey = customKeypad.getKey () ؛ if (customKey) { if (customKey == '1') { digitalWrite (8، HIGH) ؛ تأخير (10) ؛ digitalWrite (8 ، منخفض) ؛ }
كود مستقبل اردوينو Li-Fi:
في جانب مستقبل Li-Fi ، يتم توصيل Arduino UNO بمستشعر LDR كما هو موضح في مخطط الدائرة. هنا يتم توصيل مستشعر LDR في سلسلة بمقاوم لتشكيل دائرة مقسم للجهد ويتم تغذية خرج الجهد التناظري من المستشعر إلى Arduino كإشارة إدخال. نحن هنا نستخدم وحدة I2C مع شاشة LCD لتقليل لا. من الاتصالات مع Arduino لأن هذه الوحدة تتطلب فقط دبابيس بيانات SCL / SDA و 2 دبابيس طاقة.
ابدأ الكود بتضمين جميع ملفات المكتبة المطلوبة في الكود مثل Wire.h للاتصال I2C و LiquidCrystal_I2C.h لشاشات LCD وما إلى ذلك. سيتم تثبيت هذه المكتبات مسبقًا مع Arduino ، لذلك ليست هناك حاجة لتنزيلها.
#تضمن
لاستخدام وحدة I2C لشاشات الكريستال السائل 16 * 2 الأبجدية الرقمية ، قم بتكوينها باستخدام فئة LiquidCrystal_I2C . هنا يتعين علينا تمرير العنوان والصف ورقم العمود وهي 0x3f و 16 و 2 على التوالي في حالتنا.
LiquidCrystal_I2C lcd (0x3f ، 16 ، 2) ؛
داخل الإعداد () ، أعلن عن دبوس إدخال النبض لاستقبال الإشارة. ثم اطبع رسالة ترحيب على شاشة LCD والتي سيتم عرضها أثناء بدء المشروع.
إعداد باطل () { pinMode (8، INPUT) ؛ Serial.begin (9600) ؛ lcd.init () ، اضاءه خلفيه ال سى دى()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("مرحبًا بك") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("CIRCUIT DIGEST") ؛ تأخير (2000) ؛ lcd.clear () ؛ }
داخل حلقة while ، يتم حساب مدة إدخال النبض من LDR باستخدام وظيفة pulseIn ، ويتم تحديد نوع النبض وهو LOW في حالتنا. تتم طباعة القيمة على الشاشة التسلسلية لأغراض التصحيح. يُقترح التحقق من المدة ، حيث قد تختلف باختلاف الإعدادات.
مدة طويلة غير موقعة = pulseIn (8، HIGH) ؛ Serial.println (المدة) ؛
بعد التحقق من فترات جميع نبضات جهاز الإرسال ، لدينا الآن 16 نطاقًا لمدة النبضة ، والتي تم تدوينها للرجوع إليها. قارنها الآن باستخدام حلقة IF-ELSE للحصول على البيانات الدقيقة التي تم إرسالها. ترد أدناه عينة حلقة واحدة للمفتاح 1:
إذا (المدة> 10000 && المدة <17000) { lcd.setCursor (0 ، 0) ؛ lcd.print ("مستلم: 1") ؛ }
جهاز إرسال واستقبال Li-Fi باستخدام Arduino
بعد تحميل الكود الكامل في كل من Arduinos ، اضغط على أي زر على لوحة المفاتيح في جانب المتلقي وسيتم عرض نفس الرقم على شاشة LCD مقاس 16 × 2 في جانب جهاز الاستقبال.
هذه هي الطريقة التي يمكن بها استخدام Li-Fi لنقل البيانات عبر الضوء. أتمنى أن تكون قد استمتعت بالمقال وتعلمت شيئًا جديدًا منه ، إذا كان لديك أي شك ، يمكنك استخدام قسم التعليقات أو السؤال في المنتديات.