Search Code

د ESP32 ټیوټوریل 23/55 - د پوټینشنومیټر ولټاژ لوستل د ESP32 په کارولو سره | د سن فاونډر ESP32 IoT کټ

د ESP32 ټیوټوریل 23/55 - د پوټینشنومیټر ولټاژ لوستل د ESP32 په کارولو سره | د سن فاونډر ESP32 IoT کټ

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د SunFounder څخه د ESP32 ماډل په کارولو سره د پوټینشیومیټر څخه DC ولتاژ اندازه کړو. دا پروژه به دا هم وښیي چې څنګه د پوټینشیومیټر د موقعیت پر بنسټ یو LED کم یا ډیر روښانه شي. لکه څنګه چې تاسو پوټینشیومیټر د ساعت په مقابل لوري کې ګرځوئ، د ولتاژ لوستل کمیږي او LED په هماغه اندازه کم روښانه کیږي. دا تمرین به د ESP32 په ADC (انالوګ څخه ډیجیټل کنورټر) کارولو په اړه عملي پوهه درکړي.

پوټینشیومیټر
Potentiometer or variable resistor
پوټینشیومیټر یا متغیر مقاومت

ESP32 یو پیاوړی مایکروکنټرولر دی چې د جوړ شوي Wi-Fi او بلوتوت وړتیاو سره سمبال دی، چې دا د IoT پروژو لپاره مثالی کوي. په دې ټیوټوریل کې به موږ د هغې انالوګ انپټ ځانګړتیاوې وکاروو ترڅو د پوټینشیومیټر څخه د ولتاژ کچې ولولو، او په ورته وخت کې به د دې لوستلو پر بنسټ د LED روښانتیا کنټرول کړو. پایله به یو ځواب ویونکی LED وي چې د پوټینشیومیټر د تنظیم سره سم خپله شدت بدلوي.

هارډویر تشریح شوی

د دې پروژې لپاره به موږ لاندې اجزاوو ته اړتیا ولرو:

  • ESP32 ماډل: اصلي مایکروکنټرولر چې د پوټینشیومیټر ولتاژ به ولولي او LED کنټرول کړي.
  • پوټینشیومیټر: یو متغیر مقاومت چې د ولتاژ د تنظیم لپاره کارول کیږي. دا درې پنونه لري: دوه د ثابت مقاومتونو لپاره او یو چې بدلون مومي.
  • LED: یو رڼا خپروونکی ډایوډ چې روښانتیا به یې د پوټینشیومیټر د موقعیت پر بنسټ کنټرول کیږي.
  • مقاومت: د 220-ohm مقاومت چې د LED له لارې جریان محدود کړي.

پوټینشیومیټر د خپلو پنونو ترمنځ د مقاومت په بدلولو سره کار کوي، چې دا یې توانوي چې یو ولتاژ تولید کړي چې ESP32 یې د خپل ADC له لارې ولولي. د LED روښانتیا د Pulse Width Modulation (PWM) په کارولو سره کنټرول کیږي ترڅو د انالوګ لوستلو پر بنسټ هغه بریښنا تنظیم کړي چې ورته رسوي.

ډیټاشیټ تفصیلات

د تارونو د نښلولو لارښوونې

ESP32-23-fading-LED_pot-wiring

د اجزاو د نښلولو لپاره، لومړی پوټینشیومیټر وصل کړئ. د هغې یو بهرنی پن د ESP32 په 3.3V بریښنا رسولو سره وصل کړئ. بل بهرنی پن د ځمکې (GND) سره وصل کړئ. د پوټینشیومیټر منځنی پن به د ESP32 په پن 35 سره وصل شي، کوم چې د انالوګ ولتاژ لوستلو لپاره کارول کیږي.

بیا، د LED لپاره، اوږد پن (انود) د 220-ohm مقاومت له لارې د ESP32 په پن 26 سره وصل کړئ. د LED لنډ پن (کاتود) د ځمکې سره وصل کړئ. ډاډ ترلاسه کړئ چې ټول اړیکې خوندي دي او د LED سمت دوه ځله وګورئ ترڅو زیان مخنیوی وشي.

Potentiometer or variable resistor

د کوډ مثالونه او تفصیل

لاندې کوډ ټوټه ښیي چې څنګه ESP32 د پوټینشیومیټر لوستلو او LED کنټرول لپاره تنظیم کړو:

const int potPin = 35; // پوټینشیومیټر سره وصل شوی
const int ledPin = 26; // LED سره وصل شوی

// PWM تنظیمات
const int freq = 5000; // PWM فریکونسي
const int resolution = 12; // PWM ریزولوشن (بټونه)

په دې اقتباس کې، موږ د پوټینشیومیټر او LED لپاره پنونه تعریف کوو. د PWM فریکونسي او ریزولوشن هم ټاکل شوي، کوم چې به د LED د روښانتیا کچې ټاکي.

بیا، موږ به setup پیل کړو:

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

  // PWM تنظیم کړئ
  ledcAttach(ledPin, freq, resolution);
}

د setup فنکشن کې، موږ سیریل اړیکه پیل کوو او د LED لپاره د PWM تنظیمات ترتیب کوو. دا setup یو ځل چلیږي کله چې پروګرام پیل شي.

په پای کې، د loop فنکشن په دوامداره توګه د پوټینشیومیټر ارزښت لولي او د LED روښانتیا تنظیموي:

void loop() {
  int potValue = analogRead(potPin); // د پوټینشیومیټر ارزښت ولولئ
  uint32_t voltage_mV = analogReadMilliVolts(potPin); // ولتاژ په ملی ولټ کې ولولئ

  ledcWrite(ledPin, potValue);
  // سیریل آوټ پټ د لنډوالي لپاره پریښودل شوی
}

د loop په جریان کې، موږ د پوټینشیومیټر څخه انالوګ ارزښت لولو او د 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 سره د پوټ ارزښت لوستلو ډیمونسټریشن

Images

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
Language: 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);
}

Resources & references

Files📁

No files available.