Search Code

ESP32 பயிற்சி 23/55 - ESP32 ஐப் பயன்படுத்தி பொட்டென்சியோமீட்டரின் மின்னழுத்தத்தைப் படித்தல் | SunFounder இன் ESP32 IoT கிட்

ESP32 பயிற்சி 23/55 - ESP32 ஐப் பயன்படுத்தி பொட்டென்சியோமீட்டரின் மின்னழுத்தத்தைப் படித்தல் | SunFounder இன் ESP32 IoT கிட்

இந்த டுடோரியலில், SunFounder இன் ESP32 தொகுதியைப் பயன்படுத்தி ஒரு பொட்டென்ஷியோமீட்டரிலிருந்து DC மின்னழுத்தத்தை எவ்வாறு அளவிடுவது என்பதைக் கற்றுக்கொள்வோம். இந்த திட்டம் பொட்டென்ஷியோமீட்டரின் நிலையின் அடிப்படையில் ஒரு LED ஐ எவ்வாறு மங்கச் செய்வது என்பதையும் நிரூபிக்கும். நீங்கள் பொட்டென்ஷியோமீட்டரை எதிர் கடிகார திசையில் திருப்பும்போது, மின்னழுத்த அளவீடு குறைகிறது மற்றும் LED அதற்கேற்ப மங்குகிறது. இந்த பயிற்சி ESP32 இல் உள்ள அனலாக்-டு-டிஜிட்டல் மாற்றி (ADC) பயன்படுத்துவதற்கான நடைமுறை புரிதலை வழங்கும்.

பொட்டென்ஷியோமீட்டர்
Potentiometer or variable resistor
பொட்டென்ஷியோமீட்டர் அல்லது மாறக்கூடிய மின்தடையம்

ESP32 என்பது உள்ளமைக்கப்பட்ட Wi-Fi மற்றும் புளூடூத் திறன்களைக் கொண்ட ஒரு சக்திவாய்ந்த மைக்ரோகண்ட்ரோலர் ஆகும், இது IoT திட்டங்களுக்கு ஏற்றதாக அமைகிறது. இந்த டுடோரியலில், ஒரு பொட்டென்ஷியோமீட்டரிலிருந்து மின்னழுத்த அளவுகளைப் படிக்க அதன் அனலாக் உள்ளீட்டு அம்சங்களைப் பயன்படுத்துவோம், அதே நேரத்தில் இந்த அளவீடுகளின் அடிப்படையில் LED இன் பிரகாசத்தையும் கட்டுப்படுத்துவோம். இதன் விளைவாக, நீங்கள் பொட்டென்ஷியோமீட்டரை சரிசெய்யும்போது அதன் தீவிரத்தை மாற்றும் ஒரு பதிலளிக்கக்கூடிய LED ஆகும்.

வன்பொருள் விளக்கம்

இந்த திட்டத்திற்கு, பின்வரும் கூறுகள் தேவைப்படும்:

  • ESP32 தொகுதி: பொட்டென்ஷியோமீட்டரின் மின்னழுத்தத்தைப் படித்து LED ஐ கட்டுப்படுத்தும் முக்கிய மைக்ரோகண்ட்ரோலர்.
  • பொட்டென்ஷியோமீட்டர்: மின்னழுத்தத்தை சரிசெய்யப் பயன்படும் மாறக்கூடிய மின்தடையம். இதற்கு மூன்று பின்கள் உள்ளன: இரண்டு நிலையான மின்தடையங்களுக்கு மற்றும் ஒன்று மாறுபடும்.
  • LED: ஒரு ஒளி-உமிழும் டையோடு, அதன் பிரகாசம் பொட்டென்ஷியோமீட்டரின் நிலையின் அடிப்படையில் கட்டுப்படுத்தப்படும்.
  • மின்தடையம்: LED வழியாக மின்னோட்டத்தை கட்டுப்படுத்த 220-ஓம் மின்தடையம்.

பொட்டென்ஷியோமீட்டர் அதன் பின்களுக்கு இடையே உள்ள மின்தடையை மாற்றுவதன் மூலம் செயல்படுகிறது, இது ESP32 அதன் ADC வழியாக படிக்கக்கூடிய ஒரு மின்னழுத்தத்தை உருவாக்க அனுமதிக்கிறது. LED பிரகாசம் பல்ஸ் அகல பண்பேற்றம் (PWM) ஐப் பயன்படுத்தி கட்டுப்படுத்தப்படுகிறது, இது அனலாக் வாசிப்பின் அடிப்படையில் அதற்கு வழங்கப்படும் சக்தியை சரிசெய்கிறது.

டேட்டாஷீட் விவரங்கள்

வயரிங் வழிமுறைகள்

ESP32-23-fading-LED_pot-wiring

கூறுகளை இணைக்க, பொட்டென்ஷியோமீட்டரை இணைப்பதன் மூலம் தொடங்கவும். அதன் வெளிப்புற பின்களில் ஒன்றை ESP32 இல் உள்ள 3.3V மின்சார விநியோகத்துடன் இணைக்கவும். மற்ற வெளிப்புற பின்னை தரை (GND) உடன் இணைக்கவும். பொட்டென்ஷியோமீட்டரின் நடுத்தர பின் ESP32 இல் உள்ள பின் 35 உடன் இணைக்கப்படும், இது அனலாக் மின்னழுத்தத்தைப் படிக்கப் பயன்படுகிறது.

அடுத்து, LED க்கு, நீண்ட பின்னை (அனோட்) ESP32 இல் உள்ள பின் 26 உடன் 220-ஓம் மின்தடையம் வழியாக இணைக்கவும். LED இன் குறுகிய பின்னை (கேத்தோடு) தரையுடன் இணைக்கவும். அனைத்து இணைப்புகளும் பாதுகாப்பாக இருப்பதை உறுதிசெய்து, சேதத்தைத் தடுக்க LED இன் திசையை இருமுறை சரிபார்க்கவும்.

Potentiometer or variable resistor

குறியீடு எடுத்துக்காட்டுகள் & விளக்கம்

பின்வரும் குறியீடு பகுதி ESP32 ஐ பொட்டென்ஷியோமீட்டரைப் படிக்கவும் LED ஐ கட்டுப்படுத்தவும் எவ்வாறு அமைப்பது என்பதை நிரூபிக்கிறது:

const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

இந்த பகுதியில், பொட்டென்ஷியோமீட்டர் மற்றும் LED க்கான பின்களை வரையறுக்கிறோம். PWM அதிர்வெண் மற்றும் தெளிவுத்திறனும் அமைக்கப்படுகின்றன, இது LED இன் பிரகாச அளவுகளை தீர்மானிக்கும்.

அடுத்து, அமைப்பைத் தொடங்குவோம்:

void setup() {
  Serial.begin(115200);

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

அமைப்பு செயல்பாட்டில், சீரியல் தொடர்பைத் தொடங்கி LED க்கான PWM அமைப்புகளை உள்ளமைக்கிறோம். இந்த அமைப்பு நிரல் தொடங்கும் போது ஒரு முறை இயங்கும்.

இறுதியாக, லூப் செயல்பாடு தொடர்ந்து பொட்டென்ஷியோமீட்டர் மதிப்பைப் படித்து LED பிரகாசத்தை சரிசெய்கிறது:

void loop() {
  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);
  // Serial output omitted for brevity
}

லூப்பில், பொட்டென்ஷியோமீட்டரிலிருந்து அனலாக் மதிப்பைப் படித்து LED பிரகாசத்தை கட்டுப்படுத்த அதை மொழிபெயர்க்கிறோம். சீரியல் வெளியீடு பொட்டென்ஷியோமீட்டர் மதிப்பு மற்றும் மின்னழுத்தத்தைக் காட்டுகிறது, இது அளவீடுகளை சரிபார்க்க உதவுகிறது.

நிரூபணம் / என்ன எதிர்பார்க்கலாம்

சுற்று சரியாக அமைக்கப்பட்டு குறியீடு பதிவேற்றப்படும்போது, பொட்டென்ஷியோமீட்டரைத் திருப்புவது சீரியல் மானிட்டரில் காட்டப்படும் மின்னழுத்த அளவீட்டில் தொடர்புடைய மாற்றத்தை ஏற்படுத்த வேண்டும். பொட்டென்ஷியோமீட்டர் சரிசெய்யப்படும்போது LED சீராக மங்கி எரிய வேண்டும். LED எதிர்பார்த்தபடி பதிலளிக்கவில்லை என்றால், வயரிங் இணைப்புகளைச் சரிபார்த்து பொட்டென்ஷியோமீட்டர் சரியாக செயல்படுகிறதா என்பதை உறுதிசெய்யவும் (வீடியோவில் 11:30 இல்).

வீடியோ நேர முத்திரைகள்

  • 00:00 தொடக்கம்
  • 2:02 பொட் என்றால் என்ன
  • 4:15 பொட்டின் மின்தடையை அளவிடுதல்
  • 6:59 ஆவணப்படுத்தல் பக்கம்
  • 8:56 வயரிங் விளக்கம்
  • 12:28 Arduino குறியீடு விளக்கம்
  • 15:58 Arduino IDE இல் ESP32 போர்டு மற்றும் COM போர்ட்டைத் தேர்ந்தெடுத்தல்
  • 17:40 ESP32 உடன் பொட் மதிப்பைப் படிப்பதற்கான நிரூபணம்

படங்கள்

Potentiometer or variable resistor
Potentiometer or variable resistor
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-schematic
ESP32-23-fading-LED_pot-wiring
ESP32-23-fading-LED_pot-wiring
potentiometer
potentiometer
822-ESP32 Tutorial 23/55- Arduino code for fading LED
மொழி: C++
const int potPin = 35; // Potentiometer connected to
const int ledPin = 26; // LED connected to

// PWM settings
const int freq = 5000; // PWM frequency
const int resolution = 12; // PWM resolution (bits)

void setup() {
  Serial.begin(115200);

  // Configure PWM
  ledcAttach(ledPin, freq, resolution);
}

void loop() {

  int potValue = analogRead(potPin); // read the value of the potentiometer
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // Read the voltage in millivolts

  ledcWrite(ledPin, potValue);

  Serial.print("Potentiometer Value: ");
  Serial.print(potValue);
  Serial.print(", Voltage: ");
  Serial.print(voltage_mV / 1000.0); // Convert millivolts to volts
  Serial.println(" V");

  delay(100);
}

வளங்கள் மற்றும் மேற்கோள்கள்

கோப்புகள்📁

கோப்புகள் கிடைக்கவில்லை.