இந்த டுடோரியலில், ESP32 மைக்ரோகண்ட்ரோலருடன் ஒளி சார்ந்த ரெசிஸ்டரை (LDR) பயன்படுத்தி ஒளி தீவிரத்தை அளவிடுவது எப்படி என்பதை ஆராய்வோம். LDR இன் ரெசிஸ்டன்ஸைப் படிப்பதன் மூலம், ஒளி அளவு ஒரு குறிப்பிட்ட வரம்பை மீறும்போது பஸரை இயக்குவது போன்ற செயல்களைத் தூண்டலாம். இந்த திட்டம் ஒளி அளவுகளுக்கும் ESP32 இன் அனலாக் வாசிப்பு திறன்களுக்கும் இடையிலான தொடர்புகளை நிரூபிக்கும், இது சுற்றுப்புற ஒளியின் அடிப்படையில் பதிலளிக்கக்கூடிய பயன்பாடுகளை உருவாக்க அனுமதிக்கிறது. (வீடியோவில் 5:30)
வன்பொருள் விளக்கம்
இந்த திட்டத்தில் நாம் பயன்படுத்தும் முக்கிய கூறுகளில் ESP32 மைக்ரோகண்ட்ரோலர், ஒரு LDR, மற்றும் 10 kΩ ரெசிஸ்டர் ஆகியவை அடங்கும். LDR அதன் மேற்பரப்பில் படும் ஒளியின் தீவிரத்தின் அடிப்படையில் அதன் ரெசிஸ்டன்ஸை மாற்றுகிறது: அதிக ஒளி குறைந்த ரெசிஸ்டன்ஸை ஏற்படுத்துகிறது, அதே நேரத்தில் குறைந்த ஒளி அதிக ரெசிஸ்டன்ஸை ஏற்படுத்துகிறது. இந்த பண்பு, LDR ஐ ரெசிஸ்டருடன் வோல்டேஜ் டிவைடர் கட்டமைப்பில் இணைப்பதன் மூலம் மாறுபட்ட ஒளி அளவுகளை அளவிட அனுமதிக்கிறது.
ESP32 மைக்ரோகண்ட்ரோலர் உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் புளூடூத் அம்சங்களைக் கொண்டுள்ளது, இது IoT திட்டங்களுக்கு ஏற்றதாக அமைகிறது. இதில் பல அனலாக் பின்கள் உள்ளன, அவை மாறுபட்ட வோல்டேஜ் அளவுகளைப் படிக்க முடியும், இதை நாம் LDR முழுவதும் உள்ள வோல்டேஜைக் கண்காணிக்க பயன்படுத்துவோம். இந்த வோல்டேஜ் ஒரு அனலாக் மதிப்பாக மாற்றப்படும், அதை ESP32 செயலாக்கி பஸரை இயக்குவது போன்ற செயல்களைத் தூண்ட பயன்படுத்தலாம்.
டேட்டாஷீட் விவரங்கள்
உற்பத்தியாளர்
Espressif Systems
பகுதி எண்
ESP32
லாஜிக்/IO வோல்டேஜ்
3.3 V
சப்ளை வோல்டேஜ்
3.0 - 3.6 V
வெளியீட்டு மின்னோட்டம் (ஒரு GPIO க்கு)
40 mA அதிகபட்சம்
PWM அதிர்வெண் வழிகாட்டுதல்
1 kHz - 40 kHz
உள்ளீட்டு லாஜிக் வரம்புகள்
உயர்: 2.0 V குறைந்தபட்சம், குறைந்த: 0.8 V அதிகபட்சம்
வோல்டேஜ் வீழ்ச்சி / RDS(on) / செறிவு
0.3 V அதிகபட்சம்
வெப்ப வரம்புகள்
-40 °C முதல் 125 °C வரை
பேக்கேஜ்
QFN48
குறிப்புகள் / மாறுபாடுகள்
பல Wi-Fi மற்றும் புளூடூத் புரோட்டோகால்களை ஆதரிக்கிறது
வோல்டேஜ் பிரிப்பிற்காக LDR உடன் தொடரில் 10 kΩ ரெசிஸ்டரைப் பயன்படுத்தவும்.
சேதத்தைத் தவிர்க்க ESP32 ஐ 3.3 V உடன் இயக்குவதை உறுதிசெய்யவும்.
ஒளி தீவிரத்தை அளவிட LDR மற்றும் ரெசிஸ்டரை சரியாக இணைக்கவும்.
மின்சார விநியோகத்தை நிலைப்படுத்த தேவைப்பட்டால் டிகப்ளிங்கிற்கு மின்தேக்கியைப் பயன்படுத்தவும்.
அனலாக் வாசிப்பு மதிப்புகள் எதிர்பார்க்கப்படும் வரம்புகளுக்குள் விழுகின்றனவா என்பதைச் சரிபார்க்கவும்.
வயரிங் வழிமுறைகள்
ESP32-22_light_sensor-wiring
LDR மற்றும் ரெசிஸ்டரை ESP32 உடன் இணைக்க, LDR இன் ஒரு முனையை ESP32 இன் 3.3 V பவர் பின்னுடன் இணைப்பதன் மூலம் தொடங்கவும். LDR இன் மற்ற முனை 10 kΩ ரெசிஸ்டரின் ஒரு முனையுடன் இணைக்கப்பட வேண்டும். ரெசிஸ்டரின் மற்ற முனையை கிரவுண்டுடன் இணைக்கவும்.
அடுத்து, LDR மற்றும் ரெசிஸ்டருக்கு இடையிலான சந்திப்பு புள்ளியிலிருந்து ESP32 இன் பின் 35 க்கு ஒரு ஜம்பர் கம்பியை இணைக்கவும். இந்த அமைப்பு ஒரு வோல்டேஜ் டிவைடரை உருவாக்குகிறது, இது LDR இல் படும் ஒளி தீவிரத்தின் அடிப்படையில் மாறுபடும் வோல்டேஜை ESP32 படிக்க அனுமதிக்கிறது. அனைத்து இணைப்புகளும் பாதுகாப்பாக இருப்பதையும், LDR ஒளி மாற்றங்களை துல்லியமாக உணரக்கூடிய இடத்தில் வைக்கப்பட்டுள்ளதையும் உறுதிசெய்யவும்.
குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்
குறியீட்டில், LDR இலிருந்து வாசிப்புகளைக் கண்காணிக்க தொடர் தொடர்பைத் தொடங்குகிறோம். இங்கே முக்கிய அடையாளங்காட்டி analogValue ஆகும், இது பின் 35 இலிருந்து வாசிப்பைச் சேமிக்கிறது.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}
இந்த குறியீடு பகுதி 115200 பாட் வீதத்தில் தொடர் மானிட்டரைத் தொடங்கி, பின் 35 இலிருந்து அனலாக் மதிப்பை தொடர்ந்து படிக்கிறது. மதிப்பு தொடர் மானிட்டரில் அச்சிடப்படுகிறது, இது மாறுபட்ட ஒளி அளவுகளுடன் அது எவ்வாறு மாறுகிறது என்பதைக் கவனிக்க அனுமதிக்கிறது.
ஒளி தீவிரம் மாறும்போது, LDR இன் ரெசிஸ்டன்ஸ் மாறுகிறது, இதனால் ESP32 படிக்கும் வோல்டேஜும் மாறும், இது ஒளி நிலைமைகளை பிரதிபலிக்கிறது (வீடியோவில் 12:45).
செயல்விளக்கம் / என்ன எதிர்பார்க்கலாம்
நிரலை இயக்கி தொடர் மானிட்டரைக் கவனிக்கும்போது, ADC analog value சுற்றுப்புற ஒளி நிலைமைகளின் அடிப்படையில் ஏற்ற இறக்கமாக இருப்பதைக் காண வேண்டும். LDR ஐ மூடும்போது, மதிப்பு அதிகரிக்க வேண்டும், இது அதிக ரெசிஸ்டன்ஸைக் குறிக்கிறது, அதே நேரத்தில் பிரகாசமான ஒளிக்கு வெளிப்படுத்தும்போது மதிப்பு கணிசமாகக் குறைய வேண்டும். இந்த நடத்தை முன்வரையறுக்கப்பட்ட வரம்புகளின் அடிப்படையில் பஸரைத் தூண்ட அல்லது வேறு எந்த செயலையும் செய்ய பயன்படுத்தலாம்.
வாசிப்புகள் எதிர்பார்த்தபடி மாறவில்லை என்றால், வயரிங் சிக்கல்களைச் சரிபார்க்கவும், LDR மிதக்கவில்லை என்பதை உறுதிசெய்யவும், ESP32 சரியாக இயக்கப்படுகிறதா என்பதை உறுதிப்படுத்தவும். இது பொதுவான பிழைகளைத் தவிர்க்கவும், மென்மையான செயல்பாட்டை உறுதி செய்யவும் உதவும் (வீடியோவில் 15:30).
வீடியோ நேர முத்திரைகள்
00:00 தொடக்கம்
1:48 LDR அறிமுகம்
8:33 வயரிங் விளக்கம்
11:07 Arduino குறியீடு விளக்கம்
13:07 Arduino IDE இல் ESP32 போர்டு மற்றும் COM போர்ட்டைத் தேர்ந்தெடுத்தல்
14:49 மதிப்பைப் படிப்பதற்கான செயல்விளக்கம்
17:24 பகல் மற்றும் இரவு மதிப்பைப் புரிந்துகொள்ளுதல்
821-ESP32 Tutorial 22/55- Arduino code for Light dependant resistor
மொழி: C++
void setup() {
// initialize serial communication at 115200 bits per second:
Serial.begin(115200);
}
void loop() {
// read the analog value
int analogValue = analogRead(35);
// print out the values you read:
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100); // delay in between reads for clear read from serial
}
வெளியீடு: அமேசான் அசோசியேட் ஆக, நாங்கள் தகுதியான வாங்குதல்களில் இருந்து வருமானம் பெறுகிறோம். இதன் பொருள், நீங்கள் ஒரு இணைப்பை கிளிக் செய்து வாங்கினால், நீங்கள் கூடுதல் செலவில்லாமல் சிறிய கமிஷன் பெறலாம்.