- கூறுகள் தேவை
- லி-ஃபை பற்றிய சுருக்கமான அறிமுகம்
- Arduino ஐப் பயன்படுத்தி Li-Fi டிரான்ஸ்மிட்டர் பிரிவு
- Arduino ஐப் பயன்படுத்தி Li-Fi ரிசீவர் பிரிவு
- லி-ஃபைக்கான அர்டுடினோ கோடிங்
லி-ஃபை (லைட் ஃபிடிலிட்டி) என்பது ஒரு மேம்பட்ட தொழில்நுட்பமாகும், இது புலப்படும் ஒளி போன்ற ஒளியியல் தகவல்தொடர்புகளைப் பயன்படுத்தி தரவை மாற்ற அனுமதிக்கிறது. லி-ஃபை தரவு ஒளி வழியாக பயணிக்கலாம், பின்னர் எல்.டி.ஆர் அல்லது ஃபோட்டோடியோட் போன்ற எந்த ஒளி-உணர்திறன் சாதனத்தையும் பயன்படுத்தி ரிசீவர் பக்கத்தில் விளக்கலாம். லி-ஃபை தொடர்பு Wi-Fi ஐ விட 100 மடங்கு வேகமாக இருக்கும்.
இங்கே இந்த திட்டத்தில், இரண்டு Arduino ஐப் பயன்படுத்தி லி-ஃபை தகவல்தொடர்புகளை நாங்கள் காண்பிப்போம். இங்கே உரை தரவு எல்.ஈ.டி மற்றும் 4 எக்ஸ் 4 விசைப்பலகையைப் பயன்படுத்தி அனுப்பப்படுகிறது. இது எல்.டி.ஆரைப் பயன்படுத்தி ரிசீவர் பக்கத்தில் டிகோட் செய்யப்படுகிறது. நாங்கள் முன்பு லி-ஃபை பற்றி விரிவாக விளக்கினோம் மற்றும் ஆடியோ சிக்னல்களை மாற்ற லி-ஃபை பயன்படுத்தினோம்.
கூறுகள் தேவை
- Arduino UNO
- எல்.டி.ஆர் சென்சார்
- 4 * 4 கீபேட்
- 16 * 2 எண்ணெழுத்து எல்சிடி
- எல்சிடிக்கான I2C இடைமுக தொகுதி
- ப்ரெட்போர்டு
- ஜம்பர்களை இணைக்கிறது
- 5 மிமீ எல்.ஈ.டி.
லி-ஃபை பற்றிய சுருக்கமான அறிமுகம்

மேலே விவாதிக்கப்பட்டபடி, லி-ஃபை ஒரு மேம்பட்ட தகவல் தொடர்பு தொழில்நுட்பமாகும், இது வைஃபை தகவல்தொடர்புகளை விட 100 மடங்கு வேகமாக இருக்கும். இந்த தொழில்நுட்பத்தைப் பயன்படுத்தி, புலப்படும் ஒளி மூலங்களைப் பயன்படுத்தி தரவை மாற்ற முடியும். உங்கள் ஒளி மூலத்தைப் பயன்படுத்தி அதிவேக இணையத்தை அணுக முடிந்தால் கற்பனை செய்து பாருங்கள். இது மிகவும் சுவாரஸ்யமானதாகத் தெரியவில்லையா?
தரவு பரிமாற்றத்திற்கான தகவல்தொடர்பு ஊடகமாக லி-ஃபை புலப்படும் ஒளியைப் பயன்படுத்துகிறது. ஒரு எல்.ஈ.டி ஒரு ஒளி மூலமாக செயல்பட முடியும் மற்றும் ஒளிச்சேர்க்கை ஒளி சமிக்ஞைகளைப் பெற்று அவற்றை மீண்டும் கடத்தும் ஒரு டிரான்ஸ்ஸீவராக செயல்படுகிறது. டிரான்ஸ்மிட்டர் பக்கத்தில் ஒளி துடிப்பைக் கட்டுப்படுத்துவதன் மூலம், தனித்துவமான தரவு வடிவங்களை அனுப்பலாம். இந்த நிகழ்வு மிக அதிக வேகத்தில் நிகழ்கிறது மற்றும் மனித கண் வழியாக பார்க்க முடியாது. பின்னர் ரிசீவர் பக்கத்தில், ஃபோட்டோடியோட் அல்லது லைட்-சார்ந்து மின்தடை (எல்.டி.ஆர்) தரவை பயனுள்ள தகவல்களாக மாற்றுகிறது.
Arduino ஐப் பயன்படுத்தி Li-Fi டிரான்ஸ்மிட்டர் பிரிவு
மேலே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி, லி-ஃபை தகவல்தொடர்புகளின் டிரான்ஸ்மிட்டர் பகுதியில், விசைப்பலகையானது இங்கே உள்ளீடாகப் பயன்படுத்தப்படுகிறது. அதாவது விசைப்பலகையைப் பயன்படுத்தி அனுப்ப வேண்டிய உரையைத் தேர்ந்தெடுப்போம். கட்டுப்பாட்டு அலகு மூலம் தகவல் செயலாக்கப்படுகிறது, இது எங்கள் விஷயத்தில் அர்டுயினோவைத் தவிர வேறில்லை. அர்டுயினோ தகவலை பைனரி பருப்புகளாக மாற்றுகிறது, இது எல்.ஈ.டி மூலத்திற்கு அனுப்பப்படலாம். இந்த தரவு எல்.ஈ.டி ஒளிக்கு அளிக்கப்படுகிறது, இது புலப்படும் ஒளி பருப்புகளை ரிசீவர் பக்கத்திற்கு அனுப்புகிறது.
டிரான்ஸ்மிட்டர் பிரிவின் சுற்று வரைபடம்:

டிரான்ஸ்மிட்டர் பக்கத்திற்கான வன்பொருள் அமைப்பு:

Arduino ஐப் பயன்படுத்தி Li-Fi ரிசீவர் பிரிவு
ரிசீவர் பிரிவில், எல்.டி.ஆர் சென்சார் டிரான்ஸ்மிட்டர் பக்கத்திலிருந்து தெரியும் ஒளி பருப்புகளைப் பெற்று அதை புரிந்துகொள்ளக்கூடிய மின் பருப்புகளாக மாற்றுகிறது, இது அர்டுயினோவுக்கு (கட்டுப்பாட்டு அலகு) வழங்கப்படுகிறது. Arduino இந்த துடிப்பைப் பெற்று அதை உண்மையான தரவுகளாக மாற்றி 16x2 LCD காட்சியில் காண்பிக்கும்.
பெறுநர் பிரிவின் சுற்று வரைபடம்:

பெறுநரின் பக்கத்திற்கான வன்பொருள் அமைப்பு:

லி-ஃபைக்கான அர்டுடினோ கோடிங்
மேலே காட்டப்பட்டுள்ளபடி, லி-ஃபை டிரான்ஸ்மிட்டர் மற்றும் ரிசீவருக்கு இரண்டு பிரிவுகள் உள்ளன. ஒவ்வொரு பிரிவிற்கான முழுமையான குறியீடுகள் டுடோரியலின் அடிப்பகுதியில் கொடுக்கப்பட்டுள்ளன, மேலும் குறியீடுகளின் படிப்படியான விளக்கம் கீழே கொடுக்கப்பட்டுள்ளது:
Arduino Li-Fi டிரான்ஸ்மிட்டர் குறியீடு:
டிரான்ஸ்மிட்டர் பக்கத்தில், அர்டுயினோ நானோ 4x4 கீபேட் மற்றும் எல்.ஈ.டி உடன் பயன்படுத்தப்படுகிறது. முதலில், சார்ந்துள்ள அனைத்து நூலகக் கோப்புகளும் Arduino IDE வழியாக Arduino க்கு பதிவிறக்கம் செய்யப்பட்டு நிறுவப்படுகின்றன. இங்கே, இந்த இணைப்பிலிருந்து பதிவிறக்கம் செய்யக்கூடிய 4 * 4 விசைப்பலகையைப் பயன்படுத்த கீபேட் நூலகம் பயன்படுத்தப்படுகிறது. Arduino உடன் 4x4 விசைப்பலகையை இடைமுகப்படுத்துவது பற்றி மேலும் அறிக.
#சேர்க்கிறது
நூலகக் கோப்புகளை வெற்றிகரமாக நிறுவிய பின், இல்லை என்பதை வரையறுக்கவும். வரிசைகள் மற்றும் நெடுவரிசை மதிப்புகள் இரண்டிற்கும் 4 ஆகும், ஏனெனில் நாங்கள் இங்கு 4 * 4 விசைப்பலகையைப் பயன்படுத்தினோம்.
const byte ROW = 4; const byte COL = 4; char keycode = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', ' 9 ',' சி '}, {' * ',' 0 ',' # ',' டி '} };
பின்னர், Arduino ஊசிகளும் 4 * 4 விசைப்பலகையுடன் இடைமுகப்படுத்தப் பயன்படுகின்றன. எங்கள் விஷயத்தில், முறையே R1, R2, R3, R4 க்கு A5, A4, A3 மற்றும் A2 ஐப் பயன்படுத்தினோம், முறையே C1, C2, C3 மற்றும் C4 க்கு A1, A0, 12, 11 ஐப் பயன்படுத்தினோம்.
byte rowPin = {A5, A4, A3, A2}; byte colPin = {A1, A0, 12, 11}; கீபேட் customKeypad = கீபேட் (makeKeymap (keycode), rowPin, colPin, ROW, COL);
அமைவு () உள்ளே, வெளியீட்டு முள் வரையறுக்கப்படுகிறது, அங்கு எல்.ஈ.டி மூல இணைக்கப்பட்டுள்ளது. மேலும், சாதனத்தை மாற்றும்போது இது முடக்கத்தில் வைக்கப்படும்.
void setup () { pinMode (8, OUTPUT); டிஜிட்டல்ரைட் (8, குறைந்த); }
உள்ளே இருக்கும் போது , விசைப்பலகையில் இருந்து பெறப்பட்ட மதிப்புகள் customKeypad.getKey () ஐப் பயன்படுத்தி படிக்கப்படுகின்றன , மேலும் இது ஒவ்வொரு விசை அச்சகங்களிலும் தனித்துவமான பருப்புகளை உருவாக்க if-else loop இல் ஒப்பிடப்படுகிறது. அனைத்து முக்கிய மதிப்புகளுக்கும் டைமர் இடைவெளிகள் தனித்துவமாக வைக்கப்பட்டுள்ளன என்பதை குறியீட்டில் காணலாம்.
char customKey = customKeypad.getKey (); if (customKey) { if (customKey == '1') { DigitalWrite (8, HIGH); தாமதம் (10); டிஜிட்டல்ரைட் (8, குறைந்த); }

Arduino Li-Fi ரிசீவர் குறியீடு:
லி-ஃபை ரிசீவர் பக்கத்தில், சுற்று வரைபடத்தில் காட்டப்பட்டுள்ளபடி அர்டுயினோ யுஎன்ஓ ஒரு எல்டிஆர் சென்சாருடன் இணைக்கப்பட்டுள்ளது. இங்கே எல்.டி.ஆர் சென்சார் ஒரு மின்தடையுடன் தொடர்ச்சியாக இணைக்கப்பட்டு ஒரு மின்னழுத்த வகுப்பி சுற்று உருவாகிறது மற்றும் சென்சாரிலிருந்து அனலாக் மின்னழுத்த வெளியீடு அர்டுயினோவுக்கு உள்ளீட்டு சமிக்ஞையாக வழங்கப்படுகிறது. இங்கே குறைக்க எல்சிடியுடன் I2C தொகுதியைப் பயன்படுத்துகிறோம். இந்த தொகுதிக்கு 2 தரவு ஊசிகளை SCL / SDA மற்றும் 2 பவர் ஊசிகள் மட்டுமே தேவைப்படுவதால் Arduino உடனான இணைப்புகள்.
I2C தகவல்தொடர்புக்கான Wire.h , LCD க்கான LiquidCrystal_I2C.h போன்ற குறியீட்டில் தேவையான அனைத்து நூலகக் கோப்புகளையும் சேர்ப்பதன் மூலம் குறியீட்டைத் தொடங்கவும் . இந்த நூலகங்கள் Arduino உடன் முன்பே நிறுவப்படும், எனவே அவற்றைப் பதிவிறக்க வேண்டிய அவசியமில்லை.
#சேர்க்கிறது
16 * 2 எண்ணெழுத்து எல்சிடிக்கு I2C தொகுதியைப் பயன்படுத்துவதற்கு, LiquidCrystal_I2C வகுப்பைப் பயன்படுத்தி அதை உள்ளமைக்கவும். இங்கே நாம் வழக்கில் 0x3f, 16, மற்றும் 2 என்ற முகவரி, வரிசை மற்றும் நெடுவரிசை எண்ணை அனுப்ப வேண்டும்.
LiquidCrystal_I2C lcd (0x3f, 16, 2);
அமைவு () இன் உள்ளே, சிக்னலைப் பெறுவதற்கான துடிப்பு உள்ளீட்டு முள் அறிவிக்கவும். எல்.சி.டி.யில் வரவேற்பு செய்தியை அச்சிடுங்கள், இது திட்டத்தின் துவக்கத்தின் போது காண்பிக்கப்படும்.
வெற்றிட அமைவு () { பின்மோட் (8, INPUT); சீரியல்.பெஜின் (9600); lcd.init (); lcd.backlight (); lcd.setCursor (0, 0); lcd.print ("வரவேற்கிறோம்"); lcd.setCursor (0, 1); lcd.print ("CIRCUIT DIGEST"); தாமதம் (2000); lcd.clear (); }
உள்ளே போது லூப், LDR இருந்து நாடி உள்ளீடு கால பயன்படுத்தி கணக்கிடப்படுகிறது pulseIn செயல்பாடு, மற்றும் துடிப்பு வகை எங்கள் வழக்கில் LOW ஐ இது வரையறுக்கப்படுகிறது. பிழைத்திருத்த நோக்கங்களுக்காக மதிப்பு சீரியல் மானிட்டரில் அச்சிடப்பட்டுள்ளது. வெவ்வேறு அமைப்புகளுக்கு இது வேறுபட்டிருக்கலாம் என்பதால், கால அளவை சரிபார்க்க பரிந்துரைக்கப்படுகிறது.
கையொப்பமிடாத நீண்ட காலம் = துடிப்புஇன் (8, உயர்); Serial.println (காலம்);
அனைத்து டிரான்ஸ்மிட்டர் பருப்புகளுக்கான கால அளவை சரிபார்த்த பிறகு, இப்போது 16 துடிப்பு கால வரம்புகள் உள்ளன, இது குறிப்புக்காக குறிப்பிடப்பட்டுள்ளது. இப்போது அனுப்பப்பட்ட சரியான தரவைப் பெறுவதற்கு IF-ELSE சுழற்சியைப் பயன்படுத்தி அவற்றை ஒப்பிடுக. விசை 1 க்கான ஒரு மாதிரி வளையம் கீழே கொடுக்கப்பட்டுள்ளது:
if (காலம்> 10000 && காலம் <17000) { lcd.setCursor (0, 0); lcd.print ("பெறப்பட்டது: 1"); }
Arduino ஐப் பயன்படுத்தி லி-ஃபை டிரான்ஸ்மிட்டர் மற்றும் ரிசீவர்
Arduinos இரண்டிலும் முழுமையான குறியீட்டைப் பதிவேற்றிய பிறகு, ரிசீவர் பக்கத்தில் உள்ள விசைப்பலகையில் உள்ள எந்த பொத்தானையும் அழுத்தவும், அதே இலக்கமானது 16x2 LCD இல் ரிசீவர் பக்கத்தில் காண்பிக்கப்படும்.


ஒளி வழியாக தரவை அனுப்ப லி-ஃபை இவ்வாறு பயன்படுத்தலாம். நீங்கள் கட்டுரையை ரசித்தீர்கள், அதில் இருந்து புதிதாக ஒன்றைக் கற்றுக்கொண்டீர்கள் என்று நம்புகிறேன், உங்களுக்கு ஏதேனும் சந்தேகம் இருந்தால், நீங்கள் கருத்துப் பகுதியைப் பயன்படுத்தலாம் அல்லது மன்றங்களில் கேட்கலாம்.
