ESP32 பயிற்சி 18/55 - ESP32 ஐப் பயன்படுத்தி சாய்வைக் கண்டறிதல் | SunFounder இன் ESP32 IoT கற்றல் கிட்
இந்த டுடோரியலில், நாம் SunFounder ESP32 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி, ஒரு சாய்வு சுவிட்சைப் பயன்படுத்தி சாய்வைக் கண்டறியும் ஒரு எளிய திட்டத்தை உருவாக்குவோம். சாய்வு சுவிட்ச் செயல்படுத்தப்படும்போது, ஒரு LED அணைந்துவிடும், மேலும் அது நேர்மையான நிலையில் இருக்கும்போது, LED எரியும். இந்த திட்டம் சாய்வு சென்சார்களுடன் பணியாற்றுவதற்கான ஒரு சிறந்த அறிமுகம் மட்டுமல்லாமல், பல்வேறு ரோபாட்டிக்ஸ் பயன்பாடுகளுக்கான அடித்தளமாகவும் செயல்படுகிறது. விரிவான காட்சி வழிகாட்டிக்கு, மேலே இணைக்கப்பட்ட வீடியோவை (வீடியோவில் 00:00 இல்) பார்க்கவும்.

வன்பொருள் விளக்கம்
இந்த திட்டத்தில் பயன்படுத்தப்படும் முக்கிய கூறுகளில் ESP32 மைக்ரோகண்ட்ரோலர், ஒரு சாய்வு சுவிட்ச் மற்றும் ஒரு LED ஆகியவை அடங்கும். ESP32 என்பது உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் Bluetooth கொண்ட ஒரு சக்திவாய்ந்த மைக்ரோகண்ட்ரோலர் ஆகும், இது IoT பயன்பாடுகளுக்கு ஏற்றதாக அமைகிறது. சாய்வு சுவிட்ச் என்பது ஒரு எளிய சாதனம் ஆகும், இதில் ஒரு கேனுக்குள் ஒரு உலோக பந்து உள்ளது. சாய்ந்தால், பந்து நகர்ந்து சுற்றுவட்டத்தை உடைக்கிறது, இது சாய்வு நிலையைக் கண்டறிய அனுமதிக்கிறது. LED சுவிட்சின் நிலையின் அடிப்படையில் சாய்வு நிலையை காட்சியாகக் குறிக்கும். இந்த கூறுகளுக்கு கூடுதலாக, மின்னோட்டத்தை வரம்பிடுவதற்கும் புல்-டவுனுக்கும் மின்தடையங்களையும் பயன்படுத்துவோம். LED உடன் இணைக்கப்பட்ட 220-ஓம் மின்தடையம், LED அதிக மின்னோட்டத்தை இழுக்காமல் பாதுகாப்பாக செயல்படுவதை உறுதி செய்கிறது. 10k-ஓம் மின்தடையம் சாய்வு சுவிட்சிற்கான புல்-டவுனாக செயல்படுகிறது, சுவிட்ச் செயல்படுத்தப்படாதபோது உள்ளீட்டு பின் ஒரு அறியப்பட்ட நிலையைப் படிப்பதை உறுதி செய்கிறது.
டேட்டாஷீட் விவரங்கள்
| உற்பத்தியாளர் | SunFounder |
|---|---|
| பகுதி எண் | ESP32 |
| லாஜிக்/IO மின்னழுத்தம் | 3.3 V |
| விநியோக மின்னழுத்தம் | 5 V |
| வெளியீட்டு மின்னோட்டம் (ஒரு சேனலுக்கு) | 12 mA |
| உச்ச மின்னோட்டம் (ஒரு சேனலுக்கு) | 40 mA |
| PWM அதிர்வெண் வழிகாட்டுதல் | 1 kHz |
| உள்ளீட்டு லாஜிக் வரம்புகள் | 0.8 V (குறைந்த), 2.0 V (உயர்ந்த) |
| மின்னழுத்த வீழ்ச்சி / RDS(on) / செறிவு | 0.2 V |
| வெப்ப வரம்புகள் | 85 °C |
| பேக்கேஜ் | ESP32 தொகுதி |
| குறிப்புகள் / மாறுபாடுகள் | Wi-Fi மற்றும் Bluetooth திறன்களை உள்ளடக்கியது |
- LED க்கு சேதம் ஏற்படுவதைத் தடுக்க சரியான மின்தடைய மதிப்புகளை உறுதி செய்யவும்.
- குறுகிய சுற்றுகளைத் தவிர்க்க வயரிங் சுத்தமாக வைக்கவும்.
- சாய்வு சுவிட்சிலிருந்து நிலையான அளவீடுகளை உறுதி செய்ய புல்-டவுன் மின்தடையங்களைப் பயன்படுத்தவும்.
- கூறு செயலிழப்பைத் தவிர்க்க சுற்றுக்கு மின்சாரம் வழங்குவதற்கு முன் இணைப்புகளை சோதிக்கவும்.
- துல்லியமான செயல்பாட்டிற்காக சாய்வு சுவிட்சின் நோக்குநிலையை சரிபார்க்கவும்.
வயரிங் வழிமுறைகள்

கூறுகளை வயர் செய்ய, சாய்வு சுவிட்சுடன் தொடங்கவும், இதற்கு துருவமுனைப்பு இல்லை, எனவே இதை எந்த திசையிலும் இணைக்கலாம். சாய்வு சுவிட்சின் ஒரு பின்னை 3.3V விநியோகத்துடனும், மற்ற பின்னை ESP32 இன் பின் 14 உடனும் இணைக்கவும். சுவிட்ச் செயல்படுத்தப்படாதபோது பின் 14 ஒரு அறியப்பட்ட நிலையைப் படிப்பதை உறுதி செய்ய, அதே பின்னிலிருந்து தரைக்கு ஒரு 10k-ஓம் மின்தடையத்தை இணைக்கவும். அடுத்து, LED ஐ எடுத்து, நீண்ட கால் (அனோட்) ஒரு 220-ஓம் மின்தடையத்துடன் இணைக்கப்பட்ட ப்ரெட்போர்டில் செருகவும். மின்தடையத்தின் மறு முனையை ESP32 இன் பின் 26 உடன் இணைக்கவும். LED இன் குறுகிய கால் (கேத்தோடு) தரையுடன் இணைக்கப்பட வேண்டும். இறுதியாக, ESP32 இன் தரை பின்னை உங்கள் ப்ரெட்போர்டின் தரை ரெயிலுடனும், 3.3V பின்னை பவர் ரெயிலுடனும் இணைக்கவும். எந்த குறுகிய சுற்றுகள் அல்லது தவறான அளவீடுகளைத் தடுக்க அனைத்து இணைப்புகளையும் இருமுறை சரிபார்க்கவும். இந்த படிகளைப் பின்பற்றினால், நிரலாக்கத்திற்கு தயாராக ஒரு செயல்பாட்டு சாய்வு சென்சார் அமைப்பு உங்களுக்கு இருக்கும்.
குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்
குறியீடு சாய்வு சுவிட்ச் மற்றும் LED க்கான பின் எண்களை வரையறுப்பதன் மூலம் தொடங்குகிறது. சாய்வு சுவிட்ச் பின் 14 உடன் இணைக்கப்பட்டுள்ளது, மேலும் LED பின் 26 உடன் இணைக்கப்பட்டுள்ளது. சாய்வு சுவிட்சின் நிலை tiltState மாறியில் சேமிக்கப்படுகிறது.
// பின் எண்களை அமைக்கவும்
const int tiltPin = 14; // சாய்வு சுவிட்ச்
const int ledPin = 26; // LED
// சாய்வு நிலையை சேமிப்பதற்கான மாறி
int tiltState = 0;
இந்த பகுதி பின் ஒதுக்கீடுகள் மற்றும் சாய்வு நிலையைக் கண்காணிக்கும் மாறியின் அறிவிப்பைக் காட்டுகிறது. tiltPin சுவிட்ச் நிலையைப் படிக்க உள்ளீடாக அமைக்கப்பட்டுள்ளது. setup() செயல்பாட்டில், தொடர் தொடர்பு துவக்கப்படுகிறது, மேலும் சாய்வு சுவிட்ச் மற்றும் LED க்கான பின் முறைகள் அமைக்கப்படுகின்றன. இது ESP32 சாய்வு சுவிட்சிலிருந்து உள்ளீட்டைப் படிக்கவும், அதற்கேற்ப LED ஐ கட்டுப்படுத்தவும் உறுதி செய்கிறது.
void setup() {
Serial.begin(115200);
// சாய்வு பின்னை உள்ளீடாக துவக்கவும்
pinMode(tiltPin, INPUT);
// LED பின்னை வெளியீடாக துவக்கவும்
pinMode(ledPin, OUTPUT);
}
இந்த பகுதி முக்கியமானது, ஏனெனில் இது சூழலை அமைக்கிறது, ESP32 திறம்பட தொடர்பு கொள்ளவும், சாய்வு சுவிட்ச் நிலையின் அடிப்படையில் வெளியீட்டை கட்டுப்படுத்தவும் அனுமதிக்கிறது. loop() செயல்பாடு சாய்வு சுவிட்சின் நிலையை தொடர்ந்து சரிபார்க்கிறது. சுவிட்ச் நேர்மையாக இருந்தால், LED எரியும்; சாய்ந்தால், LED அணைந்துவிடும். தற்போதைய நிலை பிழைத்திருத்தத்திற்காக தொடர் மானிட்டரில் அச்சிடப்படுகிறது.
void loop() {
// சாய்வு சுவிட்சின் நிலையைப் படிக்கவும்
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// சுவிட்ச் நேர்மையாக இருந்தால்
if (tiltState == HIGH) {
// LED ஐ எரியவும்
digitalWrite(ledPin, HIGH);
} else {
// LED ஐ அணைக்கவும்
digitalWrite(ledPin, LOW);
}
}
இந்த லூப் தொடர்ந்து இயங்குகிறது, சாய்வு சுவிட்ச் நிலை மற்றும் அதற்கேற்ப LED கட்டுப்பாட்டின் நிகழ்நேர கண்காணிப்பை அனுமதிக்கிறது. வெளியீட்டை தொடர் மானிட்டரில் காணலாம், இது செயல்பாட்டை சரிபார்க்க எளிதாக்குகிறது.
செயல்விளக்கம் / என்ன எதிர்பார்க்கலாம்
எல்லாம் சரியாக இணைக்கப்பட்டு குறியீடு பதிவேற்றப்பட்டவுடன், சாய்வு சுவிட்ச் நேராக இருக்கும்போது LED எரிவதை நீங்கள் காண வேண்டும், மேலும் அது சாய்ந்தால் அணைந்துவிடும். சாய்வு நிலைக்கும் LED பதிலுக்கும் இடையிலான இந்த நேரடி தொடர்பு, சாய்வு சுவிட்சின் செயல்பாட்டை திறம்பட வெளிப்படுத்துகிறது. பொதுவான தவறுகளில், வயரிங் சரியாக உள்ளதா என்பதை உறுதி செய்வது மற்றும் குறுகிய சுற்றுகளைத் தவிர்க்க மின்தடையங்கள் சரியாக வைக்கப்பட்டுள்ளதா என்பதை சரிபார்ப்பது ஆகியவை அடங்கும் (வீடியோவில் 12:00 மணிக்கு).
வீடியோ நேரக்குறிப்புகள்
- 00:00 தொடக்கம்
- 1:44 திட்ட அறிமுகம்
- 2:49 ஆவணப்படுத்தல்
- 6:43 Arduino வயரிங் விளக்கம்
- 10:39 Arduino குறியீடு விளக்கம்
- 13:40 Arduino IDE இல் ESP32 போர்டு மற்றும் COM போர்ட்டைத் தேர்ந்தெடுத்தல்
- 15:22 திட்ட சாய்வு செயல்விளக்கம்
// Set pin numbers
const int tiltPin = 14; // Tilt Switch
const int ledPin = 26; // LED
// Variable for storing the tilt status
int tiltState = 0;
void setup() {
Serial.begin(115200);
// Initialize the tilt pin as an input
pinMode(tiltPin, INPUT);
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
void loop() {
// Read the state of the tilt switch
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// If the switch is upright
if (tiltState == HIGH) {
// Turn LED on
digitalWrite(ledPin, HIGH);
} else {
// Turn LED off
digitalWrite(ledPin, LOW);
}
}
Common Course Links
Common Course Files
வளங்கள் மற்றும் மேற்கோள்கள்
-
ஆவணங்கள்ESP32 Tutorial 18/55- SunFounder Tile sensor documentationdocs.sunfounder.com
கோப்புகள்📁
கோப்புகள் கிடைக்கவில்லை.