بردهای ESP
بردهای ESP توسط شرکت Espressif Systems ، یک شرکت چینی مستقر در شانگهای، توسعه یافتهاند. اولین نسخه از بردهای ESP، ESP8266 است که در سال 2014 منتشر شد. این برد از یک پردازنده 32 بیتی Xtensa LX106 استفاده میکرد و همچنین دارای ماژول وایفای b/g/n 802.11 بود.
در سال 2016، Espressif Systems نسخه جدیدی از بردهای ESP را با نام ESP32 منتشر کرد. این برد از یک پردازنده دو هستهای 32 بیتی Xtensa LX6 استفاده میکرد و از وایفای b/g/n 802.11 و بلوتوث نسخه 5.0 پشتیبانی میکرد.
بردهای ESP خانوادهای از میکروکنترلرهای مبتنی بر ARM هستند که همانطور که اشاره شد، اولین بار توسط شرکتEspressif Systems توسعه یافتهاند. این بردها به دلیل قیمت مقرون به صرفه، مصرف انرژی پایین، و قابلیتهای ارتباطی پیشرفتهشان، برای کاربردهای اینترنت اشیا (IoT) بسیار محبوب هستند.
برای اطلاعات بیشتر در مورد اینترنت اشیا (IoT) اینجا را کلیک کنید.
انواع پایه ها و پورت های اتصال
به دلیل اهمیت پایه ها و پورت های اتصال در انتخاب برد های ESP، قبل از پرداختن به این بردها و بررسی ویژگی آن ها، ابتدا انواع پایه ها و پورت های اتصال در برد ها را بررسی میکنیم.
پایه GPIO چیست؟
پایههای GPIO (General-purpose input/output) پایههای دیجیتالی هستند که میتوانند به عنوان ورودی یا خروجی استفاده شوند. این پایهها معمولاً برای اتصال سایر قطعات الکترونیکی به یک میکروکنترلر یا برد الکترونیکی استفاده میشوند.
پایههای GPIO میتوانند برای اهداف مختلفی استفاده شوند، از جمله:
کنترل سایر قطعات الکترونیکی، مانند موتورها، LEDها و سنسورها
ارتباط با سایر دستگاهها، مانند کامپیوترها، تلفنهای همراه، و سایر میکروکنترلرها
جمعآوری دادهها از محیط اطراف، مانند دما، رطوبت، و نور
برای تعیین اینکه یک پایه GPIO در حالت ورودی یا خروجی قرار دارد، باید از یک تابع مربوطه در زبان برنامهنویسی مورد استفاده استفاده کرد.
در بردهایESP8266 ، پایههای GPIO معمولاً با نامهای GPIO 0 تا GPIO 15 نامگذاری میشوند. بردهایESP8266 معمولاً دارای پایههای GPIO بیشتری هستند.
پورت I2C؟
پورت I2C (Inter-Integrated Circuit) یک استاندارد ارتباطی سریال نیمه دوطرفه است که برای اتصال دستگاههای الکترونیکی به یکدیگر استفاده میشود. این پورت معمولاً برای اتصال سنسورها، نمایشگرها، و سایر دستگاههای کوچک و کممصرف استفاده میشود.
پورت I2C دارای سرعتهای انتقال مختلفی است، از جمله:
- 100 کیلوبیت بر ثانیه (kbps)
- 400 کیلوبیت بر ثانیه (kbps)
- 1 مگابیت بر ثانیه (Mbps)
پورت SPI چیست؟
پورت SPI (Serial Peripheral Interface) یک استاندارد ارتباطی سریال همگام است که برای اتصال دستگاههای الکترونیکی به یکدیگر استفاده میشود. این پورت معمولاً برای اتصال دستگاههای با سرعت بالا، مانند حافظههای فلش، درایوهای SD، و تعدادی از دستگاههای جانبی دیگر استفاده میشود.
پورت SPI از چهار سیم برای انتقال داده استفاده میکند:
- MOSI (Master Out Slave In) : این سیم برای ارسال دادهها از Master به Slave استفاده میشود.
- MISO (Master In Slave Out) : این سیم برای دریافت دادهها از Slave به Master استفاده میشود.
- SCLK (Serial Clock) : این سیم برای انتقال سیگنال ساعت استفاده میشود.
- SS (Slave Select) : این سیم برای انتخاب Slave مورد نظر استفاده میشود.
پورت SPI دارای سرعتهای انتقال مختلفی است، از جمله:
- 100 کیلوبیت بر ثانیه (kbps)
- 1 مگابیت بر ثانیه (Mbps)
- 10 مگابیت بر ثانیه (Mbps)
- 100 مگابیت بر ثانیه (Mbps)
پورت SPI یک پروتکل ارتباطی محبوب است که در طیف گستردهای از کاربردها استفاده میشود، از جمله:
- اتصال حافظههای فلش به میکروکنترلرها
- اتصال درایوهای SD به میکروکنترلرها
- اتصال دستگاههای با سرعت بالا به میکروکنترلرها
پورت URAT چیست؟
پورت UART (Universal Asynchronous Receiver Transmitter) یک استاندارد ارتباطی سریال غیرهمگام است که برای اتصال دستگاههای الکترونیکی به یکدیگر استفاده میشود. این پورت معمولاً برای اتصال کامپیوترها، میکروکنترلرها، و سایر دستگاههای الکترونیکی به یکدیگر استفاده میشود.
پورت UART از دو سیم برای انتقال داده استفاده میکند:
TX (Transmitter) : این سیم برای ارسال دادهها از دستگاه فرستنده به دستگاه گیرنده استفاده میشود.
RX (Receiver) : این سیم برعکس سیم TX، برای دریافت دادهها از دستگاه فرستنده به دستگاه گیرنده استفاده میشود.
پورت UART یک پروتکل ارتباطی غیرهمگام است، به این معنی که دستگاههای فرستنده و گیرنده نیازی به همگام سازی با یکدیگر ندارند. این پروتکل همچنین یک پروتکل ارتباطی نیمه دوطرفه است، به این معنی که هر دو دستگاه میتوانند در یک زمان داده ارسال یا دریافت کنند.
پورت UART دارای سرعتهای انتقال مختلفی است، از جمله:
- 300 بیت بر ثانیه (bps)
- 1200 بیت بر ثانیه (bps)
- 9600 بیت بر ثانیه (bps)
- 115200 بیت بر ثانیه (bps)
تفاوتهای اصلی بین پورتهای UART، I2C و SPI
همانطور که اشاره شد، پورتهای UART، I2C، و SPI همگی استانداردهای ارتباطی سریال هستند، اما تفاوتهای کلیدی بین آنها وجود دارد.
پورت UART
- یک پروتکل ارتباطی غیرهمگام است.
- یک پروتکل ارتباطی نیمه دوطرفه است.
- معمولاً برای اتصال کامپیوترها، میکروکنترلرها، و سایر دستگاههای الکترونیکی به یکدیگر استفاده میشود.
پورت I2C
- یک پروتکل ارتباطی نیمه دوطرفه است.
- معمولاً برای اتصال سنسورها، نمایشگرها، و سایر دستگاههای کوچک و کممصرف استفاده میشود.
پورت SPI
- یک پروتکل ارتباطی همگام است.
- یک پروتکل ارتباطی نیمه دوطرفه است.
- معمولاً برای اتصال دستگاههای با سرعت بالا، مانند حافظههای فلش، درایوهای SD، و تعدادی از دستگاههای جانبی دیگر استفاده میشود.
پورت ADC چیست؟
پورت ADC (Analog-to-Digital Converter) یک پورت در میکروکنترلرها است که برای تبدیل سیگنالهای آنالوگ به سیگنالهای دیجیتال استفاده میشود. این پورت معمولاً برای اندازهگیری ولتاژ، جریان، و سایر کمیتهای آنالوگ استفاده میشود.
پورت ADC معمولاً از چندین کانال تشکیل شده است که هر کانال میتواند سیگنال آنالوگ را از یک منبع جداگانه اندازهگیری کند. هر کانال دارای یک ولتاژ مرجع است که سیگنال آنالوگ به آن مرجع مقایسه میشود.
پورت ADC معمولاً دارای یک رزولوشن مشخص است که تعداد بیتهایی را که برای نمایش مقدار سیگنال آنالوگ استفاده میشود، تعیین میکند. رزولوشن بالاتر به دقت بیشتر در اندازهگیری سیگنال آنالوگ منجر میشود.
پورت DAC چیست؟
پورت DAC (Digital-to-Analog Converter) یک پورت در میکروکنترلرها است که برای تبدیل سیگنالهای دیجیتال به سیگنالهای آنالوگ استفاده میشود. این پورت معمولاً برای تولید صدا، کنترل موتورها، و سایر کاربردهایی که نیاز به تولید سیگنالهای آنالوگ دارند، استفاده میشود.
پورت DAC معمولاً از چندین کانال تشکیل شده است که هر کانال میتواند سیگنال دیجیتال را از یک منبع جداگانه دریافت کند. هر کانال دارای یک ولتاژ مرجع است که سیگنال دیجیتال به آن مرجع تبدیل میشود.
پورت DAC معمولاً دارای یک رزولوشن مشخص است که تعداد بیتهایی را که برای نمایش مقدار سیگنال دیجیتال استفاده میشود، تعیین میکند. رزولوشن بالاتر به دقت بیشتر در تولید سیگنال آنالوگ منجر میشود.
انواع برد های ESP
برد ESP8266 : این نوع بردها از یک پردازنده 32 بیتی Xtensa LX106 استفاده میکنند و از وایفای پشتیبانی میکنند. برد های ESP8266 دارای یک میکروکنترلر قدرتمند و مقرون به صرفه است که برای طیف گستردهای از کاربردهای اینترنت اشیا مناسب است. این برد دارای ویژگیها و قابلیتهای متنوعی است که آن را به یک انتخاب عالی برای توسعهدهندگان IoT تبدیل میکند.
بردهای ESP8266 به دو دسته اصلی تقسیم میشوند:
ماژولها ESP8266 : این ماژولها دارای پایههای GPIO هستند که میتوان آنها را به سایر قطعات الکترونیکی متصل کرد.
بردهای ESP8266 : این بردها دارای پایههای GPIO، پورتهای سریال، پورتهای I2C، و سایر امکانات هستند که میتوانند برای ساخت پروژههای پیچیدهتر استفاده شوند.
ماژولهای ESP8266
ماژولهای ESP8266 انواع مختلفی دارند که هر کدام ویژگیها و قابلیتهای خاص خود را دارند. برخی از محبوبترین ماژولهای ESP8266 عبارتند از:
- ESP-01: این ماژول کوچکترین ماژول ESP8266 است و دارای دو پایه GPIO است.
- ESP-07: این ماژول دارای شش پایه GPIO است.
- ESP-12E: این ماژول دارای 16 پایه GPIO است.
- ESP-12F: این ماژول دارای 16 پایه GPIO و یک آنتن داخلی است.
انواع بردهای ESP8266
بردهای ESP8266 انواع مختلفی دارند که هر کدام ویژگیها و قابلیتهای خاص خود را دارند. برخی از محبوبترین بردهای توسعه ESP8266 عبارتند از:
- NodeMCU : این برد دارای 11 پایه GPIO، یک پورت سریال، یک پورت I2C، و یک پورت SPI است، این برد مبتنی بر Arduino و همچنین دارای یک پورت USBاست.
- Wemos D1 : این برد دارای 11 پایه GPIO، پورت سریال، پورت I2C، و پورت SPI است.
- ESP-WROOM-02D : این برد دارای 16 پایه GPIO، پورت سریال، پورت I2C، و پورت SPI است.
- ESP-WROOM-03D : این برد دارای 16 پایه GPIO، پورت سریال، پورت I2C، پورتSPI و همچنین دارای یک آنتن داخلی است.
تفاوتهای اصلی بین ماژول ESP8266و برد ESP8266
تفاوت اصلی بین ماژولها و بردهای ESP8266، در امکانات و قابلیتهای آنها است. ماژولهای ESP8266 معمولاً امکانات کمتری نسبت به بردها دارند. به عنوان مثال، ماژولهای ESP8266 معمولاً دارای تعداد کمتری پایه GPIO هستند و پورتها و امکانات دیگری مانند پورت سریال، پورت I2C، و پورت SPI را ندارند.
کدام نوع برد ESP8266 برای شما مناسب است؟
این که چه نوعی از برد ESP8266 برای شما مناسب است، کاملا به نیازها و الزامات پروژه شما بستگی دارد. اگر به یک برد نیاز دارید که کوچک و ارزان باشد، یک ماژول ESP8266 گزینه خوبی است. اگر به یک برد نیاز دارید که امکانات بیشتری داشته باشد، یک برد ESP8266 گزینه بهتری است.
در اینجا چند نکته برای کمک به انتخاب نوع برد ESP8266 مناسب آورده شده است:
- به تعداد پایههای GPIO مورد نیاز باید توجه شود. اگر نیاز به اتصال سایر قطعات الکترونیکی به برد وجود دارد، باید یک برد با تعداد کافی پایه GPIO انتخاب شود.
- به پورتها و امکانات مورد نیاز باید توجه شود. اگر نیاز به استفاده از پورتهای سریال، پورت I2C، یا پورت SPI است، باید یک برد با این پورتها و امکانات انتخاب شود.
- لازم است به اندازه و قیمت برد مورد نیاز توجه شود. اگر به یک برد کوچک و ارزان نیاز است، یک ماژول ESP8266 گزینه خوبی است اما اگر به یک برد با امکانات بیشتر نیاز باشد، یک برد ESP8266 گزینه بهتری است.
برخی از محبوبترین بردهای ESP8266 عبارت است از :
NodeMCU
Wemos D1
ESP-12E
ESP-12F
مشخصات فنی برد ESP8266
- میکروکنترلر ESP8622
- تعداد هسته : یک هسته
- نوع هسته : Xtensa LX106
- سرعت کلاک 80 : مگاهرتز
- حافظه فلش: 4 مگابایت
- حافظه رم: 512 کیلوبایت
- پورتهای 26 : GPIO عدد
- پورتهای ارتباطیUART، I2C، و SPI
- پورت: ADC 12کانال
- وای فای تک باند
- بلوتوث BLE
- ولتاژ ورودی 3.3 : ولت
- مصرف انرژی 100 : میلیآمپر در حالت استراحت
یکی از معایب این برد ESP8622 عدم پشتیبانی از تمام زبانهای برنامهنویسی است.
برد ESP32
برد ESP32 یک برد توسعه میکروکنترلر است که توسط شرکت Espressif Systems طراحی و تولید شده است. این برد بر پایه میکروکنترلر ESP32-D0WDQ6 ساخته شده است که یک میکروکنترلر 32 بیتی با دو هسته وای فای و بلوتوث داخلی است.
برد ESP32 دارای ویژگیهای زیر است:
- میکروکنترلر ESP32-D0WDQ6 با دو هسته وای فای و بلوتوث داخلی
- حافظه فلش 4 مگابایت
- حافظه رم 520 کیلوبایت
- پورتهای GPIO متعدد
- پورتهای ارتباطی UART، I2C، و SPI
- پورت ADC و DAC
- مصرف انرژی کم
برد ESP32 کاربردهای گستردهای در طیف وسیعی از پروژههای الکترونیکی دارد، از جمله:
- پروژههای اینترنت اشیا (IoT)
- پروژههای رباتیک
- پروژههای هوش مصنوعی (AI)
- پروژههای پردازش سیگنال دیجیتال (DSP)
مشخصات فنی برد ESP32
مشخصات فنی برد ESP32 به شرح زیر است:
- میکروکنترلر: ESP32-D0WDQ6
- تعداد هستهها: دو هسته
- نوع هستهها: Xtensa LX6
- سرعت کلاک: 240 مگاهرتز
- حافظه فلش: 4 مگابایت
- حافظه رم: 520 کیلوبایت
- پورتهای GPIO : 30 عدد
- پورتهای ارتباطی: UART، I2C، SPI
- پورت ADC : 12 کانال
- پورت DAC : 2 کانال
- ولتاژ ورودی: 3.3 ولت
- مصرف انرژی: 100 میلیآمپر در حالت استراحت
نحوه استفاده از برد ESP32
برای استفاده از برد ESP32، ابتدا باید آن را به یک منبع تغذیه 3.3 ولت متصل کنید. سپس، میتوانید از یک برنامهنویس برای برنامهریزی برد استفاده کنید.
پس از برنامهریزی برد، میتوانید از آن برای کنترل سایر دستگاهها یا جمعآوری دادهها استفاده کنید.
برای کنترل سایر دستگاهها، میتوانید از پورتهای GPIO، پورتهای ارتباطی، یا پورتهای ADC و DAC استفاده کنید.
برای جمعآوری دادهها، میتوانید از پورتهای ADC یا DAC استفاده کنید.
آموزشهای مربوط به برد ESP32
برای یادگیری نحوه استفاده از برد ESP32، میتوان از آموزشهای زیر استفاده کرد:
- آموزش رسمی Espressif Systems
- آموزشهای موجود در وبسایتهای آموزشی مانند Adafruit و SparkFun
- آموزشهای موجود در پلتفرمهای آموزش آنلاین مانند Udemy و Coursera
مزایای برد ESP32
برد ESP32 مزایای زیادی نسبت به سایر بردهای توسعه میکروکنترلر دارد، از جمله:
- قیمت مناسب : برد ESP32 نسبت به سایر بردهای توسعه میکروکنترلر با ویژگیهای مشابه، قیمت مناسبتری دارد.
- اندازه کوچک: برد ESP32 نسبت به سایر بردهای توسعه میکروکنترلر، اندازه کوچکتری دارد.
- مصرف انرژی کم: برد ESP32 نسبت به سایر بردهای توسعه میکروکنترلر، مصرف انرژی کمتری دارد.
معایب برد ESP32
برد ESP32 معایب کمی دارد، از جمله:
- محدودیتهای نرمافزاری : برخی از ویژگیهای برد ESP32 هنوز در حال توسعه هستند و ممکن است محدودیتهایی داشته باشند.
- عدم پشتیبانی از تمام زبانهای برنامهنویسی : برد ESP32 از تمام زبانهای برنامهنویسی پشتیبانی نمیکند.
شباهت و تفاوت ESP32 و ESP8622
ESP32 و ESP8266 هر دو بردهای توسعه میکروکنترلر هستند که توسط شرکت Espressif Systems طراحی و تولید شدهاند. این دو برد دارای شباهتهای زیر هستند:
- هر دو برد بر پایه میکروکنترلرهای Xtensa LX ساخته شدهاند.
- هر دو برد دارای پورتهای GPIO متعدد هستند.
- هر دو برد دارای پورتهای ارتباطی UART، I2C، و SPI هستند.
- هر دو برد دارای پورت ADC هستند.
- هر دو برد دارای مصرف انرژی کم هستند.
ESP32 و ESP8266 همچنین دارای تفاوتهای زیر هستند:
- ESP32دارای دو هسته پردازشی است، در حالی که ESP8266 دارای یک هسته پردازشی است.
- ESP32 دارای 4 مگابایت حافظه فلش است، در حالی که ESP8266 دارای 4 مگابایت، 16 مگابایت، یا 32 مگابایت حافظه فلش است.
- ESP32 دارای 520 کیلوبایت حافظه رم است، در حالی که ESP8266 دارای 512 کیلوبایت حافظه رم است.
- ESP32 دارای پورت DAC است، در حالی که ESP8266 فاقد پورت DAC است.
- ESP32 دارای وای فای دو بانده است، در حالی که ESP8266 دارای وای فای تک باند است.
بردهای ESP و آردیونو
بردهای ESP و آردیونو دو نوع میکروکنترلر محبوب هستند که برای کاربردهای مختلفی از جمله اینترنت اشیا (IoT)، الکترونیک DIY، و اتوماسیون استفاده میشوند. هر دو برد دارای ویژگیها و قابلیتهای متنوعی هستند، اما تفاوتهای کلیدی نیز بین آنها وجود دارد.
شباهت های بردهای ESP و آردیونو
هر دو برد از زبان برنامهنویسی C/C++ پشتیبانی میکنند.
دارای پورتهای سریال، SPI، I2C، GPIO، ADC، و DAC هستند.
میتوانند برای ساخت طیف گستردهای از پروژههای الکترونیکی استفاده شوند.
تفاوتهای بردهای ESP و آردیونو
پردازنده: بردهای ESP از پردازندههای Xtensa استفاده میکنند، در حالی که بردهای آردیونو از پردازندههای AVR یا ARM استفاده میکنند.
سرعت کلاک: بردهای ESP دارای سرعت کلاک بالاتری نسبت به بردهای آردیونو هستند.
حافظه: بردهای ESP دارای حافظه فلش داخلی بیشتری نسبت به بردهای آردیونو هستند.
قابلیتهای ارتباطی: بردهای ESP از وایفای و بلوتوث پشتیبانی میکنند، در حالی که بردهای آردیونو فقط از وایفای پشتیبانی میکنند.
قیمت: بردهای ESP معمولاً ارزانتر از بردهای آردیونو هستند.
کدام برد برای چه کاربردی مناسب است؟
بردهای ESP برای پروژههایی که نیاز به عملکرد بالا، قابلیتهای ارتباطی پیشرفته، یا قیمت مقرون به صرفه دارند، گزینهای عالی هستند. این بردها برای کاربردهایی مانند دستگاههای پوشیدنی، دستگاههای خانه هوشمند، و سیستمهای کنترل صنعتی مناسب هستند.
بردهای آردیونو برای پروژههایی که نیاز به قیمت مقرون به صرفه و قابلیتهای گسترده دارند، گزینهای عالی هستند. این بردها برای کاربردهایی مانند الکترونیک DIY، اتوماسیون، و یادگیری الکترونیکی مناسب هستند.
در نهایت، انتخاب اینکه کدام برد برای پروژه شما مناسب است، به نیازها و الزامات خاص شما بستگی دارد.
برای اطلاعات بیشتر در مورد بردهای آردیونو اینجا را کلیک کنید.