در این آموزش قصد داریم تا با هم یک کلید لمسی با ESP32 بسازیم؛ بله کاملا درست متوجه شدید، کلید لمسی.
اگر مقاله معرفی ESP32 را مطالعه نکردید، پیشنهاد میکنم قبل از ادامه، حتما سری به آن بزنید تا بیشتر با قابلیت های این غول عظیم آشنا بشید. ESP32 در ساختار خود دارای 10 عدد ورودی Touch می باشد؛ این ورودی ها که از نوع تاچ خازنی هستند، بدون نیاز به هیچ قطعه جانبی قابل استفاده اند و می توان با آنها صفحه کلید لمسی یا …ساخت؛ کاری که ما در این آموزش قصد انجامش رو داریم :).
برای شروع به قطعات زیر نیاز داریم:
- برد ESP UNO
- ال ای دی
- مقاومت 220 اهم
- سیم برد بوردی
- برد بورد
- کابل USB برای پروگرام کردن ESP UNO
گام اول: برقرار اتصالات لازم
مدار زیر را روی برد بورد ببندید.
گام دوم: نوشتن کد
همانطور که اشاره کردم، تاچ های ESP32 از نوع خازنی هستند، یعنی هنگامی که قصد خواندن وضعیت پایه تاچ را داشته باشید، ESP به شما عددی آنالوگ بین 0 تا 255 می دهد. حال شما می توانید با در نظرگرفتن یک مقدار حداقلی به عنوان Threshold (این مقدار بر اساس محیطی که در آن کار می کنید و ظرفیت خازنی سیم هایی که استفاده کردید و … بدست می آید)، تعیین کنید که چه زمانی خروجی شما فعال و چه زمانی غیرفعال شود. در ادامه به کد زیر دقت کنید:
const int touchPin = 13;
const int ledPin = 2;
const int threshold = 20;
int touchValue = 0;
void setup(){
pinMode (ledPin, OUTPUT);
}
void loop(){
touchValue = touchRead(touchPin);
if(touchValue < threshold){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}
delay(500);
}
در دو خط اول کد، شماره پایه هایی که قصد استفاده از آنها را داریم به صورت یک ثابت در نظر گرفته ام.
در خط سوم، مقدار Threshold که اشاره کردم را قرار دادم (این عدد براساس آزمون و خطا بدست آمده است).
در خط چهارم متغیری برای ذخیره مقدار touch معرفی کردم و مقدار اولیه آنرا صفر گذاشتم.
در تابع loop، با استفاده از دستور touchRead(touchPin)، مقدار موجود بر روی پایه تاچی که در اول برنامه معرفی کردم را خوانده و در متغیر touchValue قرار دادم. سپس بررسی کردم که اگر مقدار تاچ از آستانه مجاز کمتر بود، ال ای دی روشن و اگر از آستانه مجاز بیشتر بود، ال ای دی خاموش شود. دقت کنید که اگر پین تاچ لمس نشود، عددی بزرگ و نزدیک به 255 خواهید داشت و اگر پین تاچ لمس شود، این مقدار به حدود صفر یا نزدیک آن خواهد رسید.
گام سوم: آپلود کد
کد را بر روی بورد آپلود کنید؛ اکنون اگر پین تاچ را لمس کنید، ال ای دی روشن خواهد شد و اگر دستتان را از روی پین تاچ بردارید، ال ای دی خاموش می شود؛ زیباست مگر نه ؟
در ادامه سری آموزش های ESP32 با همراه باشید تا پروژه های جذابتری را با یکدیگر انجام دهیم.
لطفا نظرات و سوالات خود را در انتهای همین بحث با ما در میان بگذارید.
تا آموزش بعدی
خدانگهدار 🙂