همواره آموزش هایی از برد ESP32 منتشر میشود که بدلیل قابلیت های وایفای این برد مربوط به iot میشود، اما دراین آموزش قصد داریم یکی از قابلیت های پنهان این تراشه یعنی سنسور اثرهال داخلی ESP32 را به شما معرفی کنیم، که به وسیله آن قادر به اندازهگیری و تشخیص میدان الکترومغناطیس خواهید بود. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
برد ESP32
وقتی از ESP32 صحبت میکنیم، از مصرف انرژی کمتر، قدرت پردازش بهتر، تکنولوژی بروز صحبت میکنیم، یعنی نسل جدیدی از تراشه های WIFI که در ادامه نسل قبل یعنی ESP8266 به بازار معرفی شدند، که علاوه بر WIFI از بلوتوث نیز پشتیبانی میکنند. از برد های کمکی که برای این تراشه عرضه شده میتوان به NodeMCU و ESP32-CAM اشاره کرد. این تراشه در سه نوع wroom , wrover و solo تولید میشود.
نمایشگر Oled 1306
معمولا در پروژه های اینترنت اشیا و دیگر پروژه های امبدد از برای نمایش متن و مقادیر مختلف از نمایشگر های Oled استفاده می شود، این ماژول ها بدر انواع مختلق بسته به نوع درایور اندازه یافت می شوند که یکی از پرطرفدار ترین آن ها SSD1306 می باشد، این نوع از Oled ها معمولا در اندازه های ۰٫۹۶ و ۱٫۳ اینچ ساخته می شوند همچنین پروتکل ارتباطی Oled ها I2C می باشد.
سنسور اثرهال
یک سنسور اثر هال می تواند تغییرات میدان مغناطیسی را در محیط اطراف خود تشخیص دهد. هرچه میدان مغناطیسی بیشتر باشد، ولتاژ خروجی سنسور نیز بیشتر می شود. برای نمونه سنسور اثر هال را می توان با یک تشخیص آستانه ترکیب کرد تا به عنوان یک سوئیچ عمل کند. علاوه بر این، سنسورهای اثر هال عمدتا برای مواردی مانند تشخیص مجاورت، شمارش تعداد دورهای چرخ، بسته شدن در و موارد دیگر استفاده میشود.
توضیح تکمیلی
در این آموزش با فراخوانی تابع hallRead() و ذخیره مقادیر بدست آمده در یک متغیر و در نهایت نمایش آن ها میتوانیم از این مقادیر استفاده کنیم و میدان مغناطیسی نزدیک به تراشه را تشخیص دهیم. در این آموزش با استفاده از نمایشگر Oled این مقادیر را در یک نمودار گرافیکی نمایش خواهیم داد.
وسایل موردنیاز
برد nodemcu ESP32
نصب افزونه ESP32 در Arduino IDE
بارها روش نصب برد ESP32 را در نرم افزار آردوینو IDE آموزش دادهایم. با این حال اگر هنوز روش نصب را نمیدانید، مطابق توضیحات ادامه دهید. ابتدا در نرم افزار Arduino IDE به مسیر File> Preferences بروید. لینک زیر را در بخش مشخص شده قرار دهید.
https://dl.espressif.com/dl/package_esp32_index.json, http://arduino.esp8266.com/stable/package_esp8266com_index.json
- سپس به مسیر Tools > Board > Boards Manager بروید.
- در بخش board manager کلمه ESP32 را سرچ کنید و بر روی install کلیک کنید.
اتصالات و راهاندازی
در این مرحله اتصالات برد ESP32 و نمایشگر Oled را برقرار میکنیم، نمایشگر Oled از پروتکل I2C استفاده میکند پس باید به پین های SCl , SDA در برد ESP32 متصل شوند، در برد nodemcu این پین ها با نام D21 , D22 مشخص شدهاند. با توجه به شماتیک و جدول زیر اتصالات را برقرار کنید.
- شماتیک مربوط به اتصالات پروژه راهاندازی سنسور اثرهال داخلی ESP32
در این قسمت بخش های مهمی از کد که نیاز به توضیح یا معرفی دارند را بررسی خواهیم کرد. در چند خط اول کتابخانه های مورد نیاز را معرفی میکنیم. کتابخانه ها برای راهاندازی وایفای ESP32 و همچنین نمایشگر Oled هستند.
#include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>
با توجه به اینکه از کتابخانه Adafruit استفاده کردیم با این خط نوع درایور Oled و نسبت تصویر آن را مشخص میکنیم.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
جمع بندی
در این آموزش یکی از قابلیت های esp32 که خیلی کم از آن حرفی زده شده بود را استفاده کردیم و همچنین این مقادیر را ذخیره و بصورت گراف در نمایشگر Oled نمایش دادیم. همچنین شما میتوانید با استفاده از کد مقادیر دلخواه را به گراف تبدیل و نمایش دهید.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
یعنی با این حالت میتونیم میدان مغناطیسی را تشخیص بدیم؟
سلام، بله. اما این سنسور به قدرت سنسور های اثر هال که بصورت جداگانه به فروش میرسند نیست.
سلام.
من تمام برنامه ها و… رو نوشتم و برد رو مشخص کردم و همچنین سریال مانیتور رو هم زدم اما باز وقتی آهنربا رو به ماژول نزدیک کردم هیچ اتفاقی نیوفتاد. ممکنه ایراد از سیم شارژری که وصل کردم باشه؟
با سلام
بخش تغذیه در مدار بسیار اهمیت دارد. اگر به کابل مورد استفاده شک دارید، یا کلا نسبت به بخش تغذیه مدار شک دارید، حتما بررسی کنید.