هدایت شده از M.Hadi Amini
کدام پین در ماژول ESP8266 مناسب پروژه ما است؟
قبل از پاسخ به این سؤال، مهم است بدانید با اینکه ماژول ESP8266 پایه های زیاد با وظایف و عملکردهای گوناگون دارد، برخی از این پایه ها ممکن است برای استفاده در پروژه شما مناسب نباشند. بنابراین پیشنهاد ما برای انتخاب پین مناسب، در مرحله اول، دانستن میزان ریسک در استفاده از پایه های ماژول برد است، به این معنی که کدام پایه ها را میتوانید با خیال راحت استفاده کنید و همینطور متوجه شوید که استفاده از کدام پایهها نیاز به احتیاط بیشتری دارد.
برای انتخاب و استفاده از پایه مورد نظر بهتر است ابتدا جداول زیر را بررسی نمایید:
هدایت شده از M.Hadi Amini
پایه های مبدل آنالوگ به دیجیتال ADC
میکروکنترلر ESP8266 دارای یک مبدل آنالوگ به دیجیتال 10 بیتی از نوع SAR است. یعنی میتواند ۱۰۲۴ (۲ به توان ۱۰) سطح آنالوگ گسسته را تشخیص دهد. به عبارت دیگر مقادیر آنالوگ ورودی در بازه ۰ تا ۳.۳ ولت (ولتاژ کاری این میکروکنترلر ۳.۳ ولت است) را به اعداد صحیح در بازه ۰ تا ۱۰۲۴ تبدیل میکند. بنابراین رزولوشن این مبدل 3.3/1024 یا 3.2 میلی ولت بر واحد دیجیتال است.
هدایت شده از M.Hadi Amini
پایه های SPI
ماژول ESP8266 دارای دو باس SPI (SPI و HSPI) در حالتهای کاری slave و master است که مشخصات عمومی زیر را دارند:
۴ حالت زمانبندی برای ارتباط SPI
سرعت انتقال حداکثر ۸۰ مگاهرتز و امکان تقسیم این سرعت کلاک
حداکثر ۶۴ بایت حافظه FIFO
هدایت شده از M.Hadi Amini
پایه های I2C
با وجود اینکه ماژول ESP8266 پایه های سختافزاری مخصوص پروتکل I2C را ندارد، اما میتوان این ارتباط را به شکل نرمافزاری پیادهسازی کرد. ارتباط I2C به شکل نرمافزاری نیز به خوبی عمل میکند، به ویژه در زمان ایجاد ارتباط ESP8266 با آردوینو توسط I2C، که با سرعت کافی قابل انجام است.
به شکل پیشفرض پایه های GPIO4 و GPIO5 (SDA و SCL) برای ارتباط I2C استفاده میشوند تا با کتابخانهها و کدهای آماده آردوینو سازگار باشد.
با این حال از هر دو پایه GPIO دلخواه برای ارتباط I2C میتوان استفاده کرد. برای اینکار از تابع wire.begin(SDA,SCL) در IDE آردوینو میتوانید استفاده کنید.
هدایت شده از M.Hadi Amini
پین های UART :
ESP8266 دارای دو رابط UART به نامهای UART0 و UART1 است که ارتباط آسنکرون (RS232 و RS485) را تا حداکثر سرعت ۴.۵ مگابیت بر ثانیه پشتیبانی میکنند.
UART0 از پایههای TXD0, RXD0, RST0 و CTS0 برای ارتباط استفاده میکند.
UART1 فقط قابلیت ارسال اطلاعات از پایه TXD1 را دارد و معمولاً برای گرفتن گزارش وضعیت استفاده میشود
هدایت شده از M.Hadi Amini
پایه های PWM:
همه GPIOها (از GPIO0 تا GPIO15) میتوانند برای ساخت پالسهای با عرض مدوله شده (PWM) پروگرام شوند.
هدایت شده از M.Hadi Amini
نکته: در ESP8266، مدولاسیون پهنای پالس یا PWM دارای رزولوشن ۱۰ بیتی است و دوره تناوب موج PWM بین ۱۰۰۰ میکرو ثانیه تا ۱۰۰۰۰ میکرو ثانیه قابل تنظیم است که معادل فرکانس ۱۰۰ هرتز تا ۱ کیلوهرتز است.
هدایت شده از M.Hadi Amini
پایه های SDIO :
ESP8266 یک رابط SDIO (رابط ورودی خروجی دیجیتال امن) برای اتصال SD cardها دارد که از SDIO نسخه 1.1 (4-bit 25MHz) و نسخه 2.0 (4-bit 50MHz) پشتیبانی میکند.