کوډ ولټوئ

د ESP32 ټیوټوریل 9/55 - د پش بټن په کارولو سره د LED ټوګل کول، پش آن، پش آف - سن فاونڈر ESP32 IoT کټ

د ESP32 ټیوټوریل 9/55 - د پش بټن په کارولو سره د LED ټوګل کول، پش آن، پش آف - سن فاونڈر ESP32 IoT کټ

په دې ټیوټوریل کې به موږ زده کړو چې څنګه د ESP32 مایکروکنټرولر سره د LED د چلولو او بندولو لپاره د فشار تڼۍ وکاروو. پروژه به وښیې چې څنګه د فشار تڼۍ حالت ولولئ او د LED کنټرول په مطابق ترسره کړئ. کله چې تڼۍ فشارول شي، LED به روښانه شي، او کله چې خوشې شي، نو به بنده شي. دا د ESP32 په کارولو سره د ډیرو متقابلو پروژو لپاره بنسټیز مفهوم دی.

ESP32 یو پیاوړی مایکروکنټرولر دی چې په جوړ شوي Wi-Fi او Bluetooth وړتیاوې لري، چې دا د مختلفو IoT غوښتنلیکونو لپاره مناسب کوي. په دې درس کې به موږ د SunFounder ESP32 سټارټر کټ څخه ESP32 وکاروو، کوم چې اړین اجزاوې لکه ریزسټرونه او LEDs لري، ترڅو یوه ساده سرکټ جوړ کړو. د تارونو او کوډ تفصیلي توضیح لپاره، مهرباني وکړئ ویډیو ته مراجعه وکړئ (په ویډیو کې په 00:00).

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

د دې پروژې کلیدي اجزاوې د ESP32 مایکروکنټرولر، یوه فشار تڼۍ، یو LED، او ریزسټرونه شامل دي. ESP32 د پروژې دماغ په توګه عمل کوي، د فشار تڼۍ حالت پر بنسټ LED کنټرولوي. فشار تڼۍ کاروونکو ته اجازه ورکوي چې له سرکټ سره تعامل وکړي، پداسې حال کې چې LED کله چې تڼۍ فشارول شي بصری فیډبیک چمتو کوي.

فشار تڼۍ د سرکټ په بندولو سره کار کوي کله چې فشارول شي، چې جریان ته اجازه ورکوي چې تیر شي. دا عمل د ESP32 ټاکل شوي انپټ پن ته HIGH سیګنال لیږي، کوم چې بیا په کوډ کې لوستل کیدی شي. له تڼۍ سره تړلی ریزسټر ډاډ ورکوي چې پن کله چې تڼۍ نه وي فشارول شوې یو ټاکلی حالت ولري، چې بې نظمه چلند مخه نیسي.

د ریزسټر سره فشار تڼۍ

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

د سرکټ د تارونو لپاره، د LED اوږد پن (anode) د 220-ohm ریزسټر سره په نښلولو پیل وکړئ. د ریزسټر بل پای د ESP32 په GPIO پن 26 سره وصل کړئ. د LED لنډ پن (cathode) باید ځمکې (ground) سره وصل شي. بیا، فشار تڼۍ واخلئ او یو اړخ یې د بورډ په 3.3V بریښنا رسولو سره وصل کړئ. د فشار تڼۍ بل اړخ د GPIO پن 14 سره وصل کیږي.

د ریزسټر پرته فشار تڼۍ
د ریزسټر پرته فشار تڼۍ
د ریزسټر سره فشار تڼۍ
د ریزسټر سره فشار تڼۍ

برسیره پردې، د GPIO پن 14 څخه ځمکې ته یو 10k-ohm ریزسټر ځای په ځای کړئ ترڅو ډاډ ترلاسه شي چې پن کله چې تڼۍ نه وي فشارول شوې LOW لوستل کیږي. په پای کې، د ESP32 ځمکنی تار د بریډبورډ په عامه ځمکه سره وصل کړئ. دا ترتیب به ESP32 ته اجازه ورکړي چې د تڼۍ حالت ولولي او LED په مطابق کنټرول کړي.

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

د پروګرام اصلي برخه د تڼۍ او LED لپاره د پن شمیرو په ټاکلو سره پیل کیږي د ثابتو (constants) په کارولو سره. دا ډاډ ورکوي چې د پن ټاکل د پروګرام د اجرا په اوږدو کې بدلون نه کوي.

// د پن شمیرې وټاکئ
const int buttonPin = 14;  // د تڼۍ پن
const int ledPin = 26;     // د LED پن

په setup() فنکشن کې، موږ سریال مانیټر پیل کوو او د تڼۍ پن د انپټ په توګه ټاکو پداسې حال کې چې د LED پن د آوټپټ په توګه تنظیموو. دا ESP32 د تڼۍ څخه لوستلو او د LED کنټرول لپاره چمتو کوي.

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

د loop() فنکشن دننه، پروګرام په دوامداره توګه د تڼۍ حالت لولي او دا سریال مانیټر ته چاپوي. که تڼۍ فشارول شوې وي، LED روښانه کیږي؛ که نه، نو بندیږي. دا منطق د تڼۍ حالت پر بنسټ د LED د چلولو لپاره اړین دی.

void loop() {
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

دا بنسټیز فعالیت LED ته اجازه ورکوي چې مستقیم د فشار تڼۍ ته ځواب ووایی. د پروژې د نورو تفصیلاتو او بشپړ کوډ لپاره، مهرباني وکړئ چمتو شوې ویډیو ته مراجعه وکړئ (په ویډیو کې په 14:00).

ښودنه / څه تمه وکړو

یوځل چې تارونه بشپړ شي او کوډ اپلوډ شي، د فشار تڼۍ فشارول باید LED روښانه کړي، او خوشې کول به یې بند کړي. دا چلند تاییدوي چې د تڼۍ حالت په سمه توګه لوستل کیږي. که LED تمه شوي ځواب ورنکړي، تارونه وګورئ او ډاډ ترلاسه کړئ چې تڼۍ په سمه توګه کار کوي.

د ازموینې په جریان کې، ډاډ ترلاسه کړئ چې د تڼۍ حالت لوستلو لپاره سریال مانیټر وګورئ. تاسو باید '1' وګورئ کله چې تڼۍ فشارول شي او '0' کله چې خوشې شي. که لوستل په غیر متوقع ډول بدلون وکړي، دا ممکن د تارونو ستونزه یا په کوډ کې د اضافي debouncing منطق اړتیا په ګوته کړي.

د ویډیو وخت نښې

  • 00:00 پیل
  • 1:48 د پروژې پېژندنه
  • 3:10 سویچ او پش بټن تشریح شوی
  • 7:19 تارونه تشریح شوي
  • 12:25 د پش بټن لپاره د آردوینو کوډ تشریح شوی
  • 15:56 د ESP32 بورډ او COM پورټ غوره کول
  • 17:38 د پروژې ننداره
  • 18:33 پروژه-۲ ټوګل کول او LED
  • 19:09 د LED ټوګل کولو لپاره د آردوینو کوډ
  • 21:16 د LED ټوګل کولو ننداره

انځورونه

Push button with resistor
Push button with resistor
Push button with resistor
Push button with resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button without resistor
Push button with resistor
Push button with resistor
808-ESP32 Tutorial 9/55 - Arduino code push button
ژبه: C++
// set pin numbers
const int buttonPin = 14;  // Button pin
const int ledPin = 26;     // LED pin

// variable for storing the button status
int buttonState = 0;

void setup() {
  Serial.begin(115200);
  // initialize the button pin as an input
  pinMode(buttonPin, INPUT);
  // initialize the LED pin as an output
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // read the state of the button value
  buttonState = digitalRead(buttonPin);
  Serial.println(buttonState);
  delay(100);
  // if the button is pressed
  if (buttonState == HIGH) {
    // turn LED on
    digitalWrite(ledPin, HIGH);

  } else {
    // turn LED off
    digitalWrite(ledPin, LOW);
  }
}

سرچینې او حوالې

تر اوسه هیڅ سرچینې نشته.

فایلونه📁

هیڅ فایل شتون نلري.