کوډ ولټوئ

د ESP32 ټیوټوریل 18/55 - د ESP32 په کارولو سره د ټیلټ کشف کول | د SunFounder د ESP32 IoT زده کړې کټ

د ESP32 ټیوټوریل 18/55 - د ESP32 په کارولو سره د ټیلټ کشف کول | د SunFounder د ESP32 IoT زده کړې کټ

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

ټیلټ سویچ

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

په دې پروژه کې کارول شوي اصلي اجزا شامل دي ESP32 مایکروکنټرولر، یو ټیلټ سویچ، او یو LED. ESP32 یو پیاوړی مایکروکنټرولر دی چې جوړ شوي Wi-Fi او Bluetooth لري، چې دا د IoT غوښتنلیکونو لپاره مثالی کوي. د ټیلټ سویچ یو ساده وسیله ده چې دننه یې یوه فلزي ګولۍ لري. کله چې ټیلټ شي، ګولۍ حرکت کوي او سرکټ ماتوي، چې موږ ته اجازه راکوي چې د ټیلټ حالت کشف کړو. LED به د سویچ د حالت پر بنسټ د ټیلټ حالت په بصري توګه ښکاره کړي. د دې اجزاوو سربیره، موږ به د جریان محدودولو او پل-ډاون موخو لپاره ریزسټرونه هم وکاروو. د 220-ohm ریزسټر چې LED سره وصل دی ډاډ ورکوي چې LED په خوندي توګه کار کوي پرته له دې چې ډیر جریان واخلي. د 10k-ohm ریزسټر د ټیلټ سویچ لپاره د پل-ډاون په توګه کار کوي، ډاډ ورکوي چې د انپټ پن یو معلوم حالت ولولي کله چې سویچ فعال نه وي.

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

جوړونکی 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 د زیان مخنیوي لپاره د ریزسټر مناسب ارزښتونه ډاډمن کړئ.
  • د شارټ سرکټ مخنیوي لپاره تارونه پاک وساتئ.
  • د ټیلټ سویچ څخه د مستحکم لوستلو ډاډ ترلاسه کولو لپاره د پل-ډاون ریزسټرونه وکاروئ.
  • د اجزاو د ناکامۍ مخنیوي لپاره د سرکټ بریښنا کولو دمخه اړیکې وازموئ.
  • د دقیق فعالیت لپاره د ټیلټ سویچ سمت تایید کړئ.

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

ESP32-18_tile_wiring

د اجزاوو د تارونو لپاره، د ټیلټ سویچ سره پیل وکړئ، کوم چې قطبي نه لري، نو دا په هر لوري کې وصل کیدی شي. د ټیلټ سویچ یو پن د 3.3V عرضې سره او بل پن د ESP32 په پن 14 سره وصل کړئ. ترڅو ډاډ ترلاسه شي چې پن 14 یو معلوم حالت لولي کله چې سویچ فعال نه وي، د ورته پن څخه ځمکې ته د 10k-ohm ریزسټر وصل کړئ. بیا، LED واخلئ او دا په بریډبورډ کې دننه کړئ چې اوږده پښه (انود) د 220-ohm ریزسټر سره وصل وي. د ریزسټر بل پای د 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 د ESP32 بورډ او COM پورټ انتخاب په Arduino IDE کې
  • 15:22 د پروژې ټیلټ نندارې

انځورونه

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
ژبه: C++
// 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);
  }
}

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

فایلونه📁

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