آموزش ESP32 18/55 - شناسایی شیب با استفاده از ESP32 | کیت آموزش اینترنت اشیاء SunFounder برای ESP32

آموزش ESP32 18/55 - شناسایی شیب با استفاده از ESP32 | کیت آموزش اینترنت اشیاء SunFounder برای ESP32

در این آموزش، ما از میکروکنترلر ESP32 ساخت SunFounder برای ایجاد یک پروژه ساده که انحراف را با استفاده از یک کلید انحراف شناسایی می‌کند، استفاده خواهیم کرد. هنگامی که کلید انحراف فعال شود، یک LED خاموش می‌شود و وقتی در وضعیت راست قرار گیرد، LED روشن می‌شود. این پروژه نه تنها یک مقدمه عالی برای کار با حسگرهای انحراف است بلکه به عنوان یک پایه برای برنامه‌های مختلف رباتیک نیز عمل می‌کند. برای یک راهنمای بصری دقیق، حتماً ویدئوی پیوند داده شده در بالا را بررسی کنید (در ویدئو در ساعت ۰۰:۰۰).

سوییچ شیب

توضیحات سخت‌افزار

اجزای اصلی استفاده شده در این پروژه شامل میکروکنترلر ESP32، یک سوئیچ شیب‌دار و یک LED است. ESP32 یک میکروکنترلر قدرتمند است که دارای Wi-Fi و بلوتوث داخلی می‌باشد و آن را برای برنامه‌های IoT ایده‌آل می‌کند. سوئیچ شیب‌دار یک دستگاه ساده است که یک توپ فلزی درون یک قوطی دارد. وقتی که شیب‌دار می‌شود، توپ حرکت می‌کند و مدار را قطع می‌کند، به ما اجازه می‌دهد تا حالت شیب را تشخیص دهیم. LED وضعیت شیب را بر اساس حالت سوئیچ به صورت بصری نشان می‌دهد. علاوه بر این اجزا، از مقاومت‌ها برای محدود کردن جریان و اهداف پایین‌کش نیز استفاده خواهیم کرد. مقاومت 220 اهم متصل به LED اطمینان می‌دهد که LED به طور ایمن کار می‌کند و جریان زیادی مصرف نمی‌کند. مقاومت 10k اهم به عنوان یک پایین‌کش برای سوئیچ شیب‌دار عمل می‌کند و اطمینان می‌دهد که پایه ورودی زمانی که سوئیچ فعال نیست، یک حالت شناخته شده را می‌خواند.

جزئیات ورقه داده

سازنده سان‌فاندر
شماره قطعه ESP32
ولتاژ منطقی/ورودی-خروجی ۳.۳ ولت
ولتاژ تأمین ۵ ولت
جریان خروجی (به ازای هر کانال) ۱۲ میلی‌آمپر
جریان اوج (به ازای هر کانال) ۴۰ میلی‌آمپر
راهنمایی فرکانس PWM 1 کیلوهرتز
آستانه‌های منطقی ورودی ۰.۸ ولت (کم)، ۲.۰ ولت (زیاد)
افت ولتاژ / RDS(on)/ اشباع ۰.۲ ولت
محدودیت‌های حرارتی 85 درجه سانتی‌گراد
بسته ماجیول ESP32
یادداشت‌ها / واریانت‌ها دارای قابلیت‌های Wi-Fi و بلوتوث است

  • مطمئن شوید که مقادیر صحیح مقاومت برای جلوگیری از آسیب به LED انتخاب شده‌اند.
  • سیم‌کشی را مرتب نگه‌دارید تا از اتفاقات کوتاه‌مدت جلوگیری کنید.
  • از مقاومت‌های پایین‌کش استفاده کنید تا از خوانش‌های پایدار سوئیچ شیب اطمینان حاصل شود.
  • اتصالات را قبل از تغذیه مدار آزمایش کنید تا از خرابی قطعات جلوگیری شود.
  • جهت صحیح سوئیچ تیلت را برای عملکرد دقیق بررسی کنید.

دستورالعمل‌های سیم‌کشی

ESP32-18_tile_wiring

برای اتصال اجزا، با سوئیچ مایل آغاز کنید که قطبی ندارد و بنابراین می‌تواند در هر دو جهت متصل شود. یک پایه از سوئیچ مایل را به منبع 3.3 ولت و پایه دیگر را به پایه 14 روی ESP32 متصل کنید. برای اطمینان از اینکه پایه 14 یک حالت شناخته شده را زمانی که سوئیچ فعال نیست بخواند، یک مقاومت 10 کیلو اهمی از همان پایه به زمین متصل کنید. سپس LED را بردارید و آن را در برد بُرد قرار دهید به طوری که پای بلندتر (آند) به یک مقاومت 220 اهمی متصل باشد. انتهای دیگر مقاومت را به پایه 26 روی ESP32 متصل کنید. پای کوتاه‌تر (کاتد) LED باید به زمین متصل شود. در نهایت، پایه زمین ESP32 را به ریل زمین برد بُرد و پایه 3.3 ولت را به ریل برق متصل کنید. مطمئن شوید که همه اتصالات را دوباره بررسی کنید تا از هر گونه اتصال کوتاه یا خوانش نادرست جلوگیری کنید. اگر این مراحل را دنبال کنید، باید یک راه‌اندازی حساس(حس کننده) مایل عملی آماده برای برنامه‌نویسی داشته باشید.

نمونه‌های شِفر (کود) و راهنما

شِفر (کود) با تعریف شماره‌های پایه برای سوئیچ تمایل و LED آغاز می‌شود. سوئیچ تمایل به پایه ۱۴ متصل است و LED به پایه ۲۶ متصل است. وضعیت سوئیچ تمایل در متغیر ذخیره می‌شود.tiltState.


// Set pin numbers
const int tiltPin = 14;  // Tilt Switch
const int ledPin = 26;   // LED

// Variable for storing the tilt status
int tiltState = 0;

این قسمت نشان‌دهندهٔ تخصیص پایه‌ها و اعلام متغیری است که وضعیت تیلت را پیگیری خواهد کرد.tiltPinبه عنوان ورودی برای خواندن وضعیت سوئیچ تنظیم شده است. درsetup()تابع، ارتباط سریال راه‌اندازی می‌شود و حالت‌های پایه برای سوئیچ مایل و LED تنظیم می‌شوند. این اطمینان می‌دهد که ESP32 می‌تواند ورودی را از سوئیچ مایل بخواند و LED را به‌طور متناسب کنترل کند.


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

این بخش حیاتی است زیرا محیط را تنظیم می‌کند و به ESP32 این امکان را می‌دهد که به‌طور مؤثر ارتباط برقرار کرده و خروجی را براساس وضعیت کلید تیلت کنترل کند.loop()تابع به‌طور مداوم وضعیت سوئیچ شیب را بررسی می‌کند. اگر سوئیچ عمودی باشد، LED روشن می‌شود؛ اگر شیب‌دار باشد، LED خاموش می‌شود. وضعیت فعلی برای دیباگینگ در نمایشگر مسلسل چاپ می‌شود.


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

این حلقه به طور مداوم اجرا می‌شود و نظارت در زمان واقعی بر روی وضعیت سوئیچ کج و کنترل LED مربوطه را امکان‌پذیر می‌سازد. خروجی را می‌توان در نمایشگر سریال مشاهده کرد، که بررسی عملکرد را آسان می‌کند.

نمایش / چه انتظاری داشته باشید

زمانی که همه چیز به درستی متصل شده و شِفر (کود) بارگذاری شود، باید ببینید که LED زمانی که سوئیچ شیب در وضعیت عمودی است روشن می‌شود و وقتی که به سمت دیگر متمایل می‌شود خاموش می‌شود. این ارتباط مستقیم بین وضعیت شیب و پاسخ LED به طور مؤثری قابلیت عملکرد سوئیچ شیب را نشان می‌دهد. اشتباهات رایج شامل اطمینان از درست بودن سیم‌کشی و تأیید اینکه مقاومت‌ها به درستی قرار گرفته‌اند تا از بروز اتصال کوتاه جلوگیری شود (در ویدئو در ساعت ۱۲:۰۰).

زمانبندی ویدئو

  • ۰۰:۰۰ شروع
  • ۱:۴۴ مقدمه پروژه
  • ۲:۴۹ مستندات
  • توضیحات سیم‌کشی آردوینو 6:43
  • ۱۰:۳۹ توضیح شِفر (کود) آردوینو
  • انتخاب برد ESP32 و پورت COM در Arduino IDE ساعت ۱۳:۴۰
  • ۱۵:۲۲ دموشنی پروژه تیلت

تصاویر

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++
کپی شد!

منابع و مراجع

فایل‌ها📁

هیچ فایلی موجود نیست.