میکروکنترلر های ARMآردوینو Arduinoمطالب آموزشی

چگونه برد STM32F401/F411 Black Pill را با Arduino IDE برنامه‌ریزی کنیم؟

برنامه‌نویسی بردهای قدرتمند STM32F4 با محیط آشنای Arduino IDE

آشنایی با پروژه STM32duino و اهمیت آن در دنیای آردوینو

با گسترش بردهای توسعه مبتنی بر میکروکنترلرهای ARM، به‌ویژه سری‌های قدرتمند STM32، نیاز به روشی ساده و در دسترس برای برنامه‌نویسی این میکروکنترلرها بیش از پیش احساس شد. بسیاری از توسعه‌دهندگان، از جمله کسانی که تجربه کار با آردوینو را داشتند، به دنبال مسیری بودند که بتوانند قدرت پردازشی STM32 را با سادگی محیط Arduino IDE ترکیب کنند.
اینجا بود که پروژه STM32duino شکل گرفت.

STM32duino یک پروژه متن‌باز است که توسط شرکت STMicroelectronics و جامعه توسعه‌دهندگان حمایت می‌شود و هدف آن فراهم‌کردن مجموعه‌ای از ابزارها، کتابخانه‌ها و پیکربندی‌هاست تا بتوان بردهای STM32 را مانند یک برد آردوینو برنامه‌نویسی کرد. با نصب STM32duino در Arduino IDE، بردهایی از خانواده‌های مختلف STM32—از سری‌های اقتصادی F0 گرفته تا سری‌های قدرتمند F4، F7 و حتی H7—به‌راحتی در فهرست بردهای آردوینو ظاهر می‌شوند و می‌توانید همان کدهایی که برای آردوینو می‌نوشتید را روی STM32 اجرا کنید.

برد توسعه STM32F401R BLACK PILL

برد توسعه STM32F401R BLACK PILL


🛒 خرید از ECA

برد توسعه STM32 NUCLEO-F303RE

برد توسعه STM32 NUCLEO-F303RE


🛒 خرید از ECA

برد کاتالیست STM32F407ZGT6

برد کاتالیست STM32F407ZGT6


🛒 خرید از ECA

 

این پروژه با استفاده از لایه‌های HAL و LL شرکت ST، دسترسی به امکانات سخت‌افزاری پیشرفته‌ای مانند ADC چندکاناله، تایمرهای PWM پیشرفته، DAC، USB، I2S، CAN و PWM سریع را فراهم می‌کند؛ درحالی‌که همچنان ساده‌گی برنامه‌نویسی آردوینو حفظ می‌شود. نتیجه این ترکیب، بستری است که قدرت یک میکروکنترلر صنعتی را در قالب یک تجربه کاربری آشنا و آسان ارائه می‌دهد.


⚡ مقایسه STM32 با آردوینوهای مبتنی بر AVR

(چرا STM32duino یک گام رو به جلو است؟)

بردهای آردوینو که روی میکروکنترلرهای AVR ساخته شده‌اند—مثل Arduino Uno, Nano, Mega—سال‌هاست که پایه اصلی آموزش و پروژه‌های ساده الکترونیک هستند. این خانواده پایدار، قابل اعتماد و برای شروع کار بسیار مناسب است؛ اما محدودیت‌هایی نیز دارد که در پروژه‌های پیشرفته‌تر خود را نشان می‌دهد.

در مقابل، میکروکنترلرهای STM32 بر پایه هسته ARM Cortex-M ساخته شده‌اند و از نظر توان پردازشی، امکانات جانبی، حجم حافظه و سرعت اجرا در سطح کاملاً بالاتری قرار می‌گیرند. برای مثال:

  • سرعت پردازنده:
    AVRها معمولاً 16MHz هستند، درحالی‌که STM32F1 با 72MHz و STM32F4 حتی تا 168MHz کار می‌کند.
  • RAM و Flash بیشتر:
    پروژه‌های بزرگ، مدیریت داده و اجرای الگوریتم‌های سنگین در STM32 بدون مشکل انجام می‌شود.
  • واحدهای جانبی حرفه‌ای:
    مثل ADC چندکاناله 12 یا 16 بیتی، DAC واقعی، کنترلرهای USB، تایمرهای موتور، واحدهای DSP، پشتیبانی از I2S و CAN.
  • مصرف انرژی بهینه‌تر با وجود سرعت بالاتر.
  • کارایی Real-Time بهتر، مناسب برای رباتیک و کنترل موتور.

در آردوینوهای AVR محدودیت‌هایی مثل کمبود حافظه، نبود DAC، سرعت پایین PWM یا ناتوانی در پردازش سیگنال‌های سریع وجود دارد. به همین دلیل، بسیاری از توسعه‌دهندگان بعد از مدتی به دنبال ارتقا به یک پلتفرم قوی‌تر می‌روند—و دقیقاً در همین نقطه STM32duino بهترین گزینه است، چون اجازه می‌دهد بدون ترک اکوسیستم آردوینو، وارد دنیای حرفه‌ای STM32 شوید.

برنامه‌نویسی Black Pill مبتنی بر STM32 (‏STM32F401 / F411) با Arduino IDE

برد توسعهٔ STM32F401/F411 Black Pill یک نسخهٔ به‌روزشده از Blue Pill محبوب مبتنی بر F103 است. این نسخهٔ جدید دارای یک CPU مبتنی بر ARM با هستهٔ قدرتمندتر Core-M4F می‌باشد. هر دو پردازندهٔ F401 و F411 از بوت‌لودر DFU پشتیبانی می‌کنند.

این آموزش بوت‌لودر DFU را پوشش می‌دهد. برای گزینه‌های دیگر برنامه‌ریزی، به این آموزش مراجعه کنید: Program STM32 Blue Pill (STM32F103C8T6) with Arduino IDE

دانلود و نصب Arduino IDE

اولین کاری که باید انجام دهید این است که Arduino IDE را دانلود و روی کامپیوتر خود نصب کنید. می‌توانید آخرین نسخه را از وب‌سایت رسمی آردوینو دریافت کنید.

لینک‌های زیر را برای نصب Arduino IDE دنبال کنید:

دانلود آخرین نسخه آردوینو برای ویندوز 

نصب افزونهٔ STM32 روی Arduino IDE

در Arduino IDE خود به مسیر File > Preferences بروید. آدرس زیر را به کادر Additional Board Manager URLs اضافه کنید:

(آدرس اینترنتی) اگر کادر خالی نیست، می‌توانید URLها را با کاما از هم جدا کنید.

STM32 addon

به مسیر Tools > Board > Boards Manager بروید.

F103 board manager b

برای STM32 جستجو کنید، آخرین نسخه را انتخاب کرده و روی Install کلیک کنید.
چند مگابایت داده باید دانلود و نصب شود، بنابراین صبور باشید.

board manager install

پس از اتمام نصب، Arduino IDE را ببندید و دوباره باز کنید.


نصب STM32CubeProg

STM32CubeProg را از وب‌سایت ST دانلود و نصب کنید:
https://www.st.com/en/development-tools/stm32cubeprog.html

STM32CubeProg download

STM32CubeProg را اجرا کنید. این برنامه به این شکل خواهد بود:

STM32CubeProg
STM32CubeProg را ببندید.


پیکربندی Arduino IDE

از مسیر Tools > Board > STM32 Board، گزینه Generic STM32F4 series را انتخاب کنید. سپس به Tools > Board Part Number بروید و BlackPill F411CE را انتخاب کنید.

F411 board

توجه: این آموزش بر اساس STM32F411CE است. برای STM32F401CE، گزینه BlackPill F401CC را انتخاب کنید.

F411 part

در بخش USB Support، گزینه CDC (generic “Serial” supersede U(S)ART) را انتخاب کنید.

F411 USB support
در بخش Upload method، گزینه STM32CubeProgrammer (DFU) را انتخاب کنید.

F411 upload method 1

این‌ها تنظیمات ابزار شما هستند:

F411 board config

برد STM32 Black Pill را به پورت USB کامپیوتر خود متصل کنید.

فعال‌سازی بوت‌لودر DFU

bluepill button

برای قرار دادن برد در حالت بوت‌لودر از دکمه‌های BOOT0 و NRST روی برد استفاده کنید:

  1. دکمه BOOT0 را فشار داده و نگه دارید
  2. دکمه NRST (ریست) را فشار داده و رها کنید تا پردازنده روشن و ریست شود
  3. دکمه BOOT0 را رها کنید

توجه داشته باشید که هر بار که می‌خواهید برنامهٔ جدیدی روی Black Pill دانلود کنید، باید همین مراحل را انجام دهید.


آپلود اسکچ

یک اسکچ جدید ایجاد کنید و کد زیر را کپی و جای‌گذاری کنید:

روی دکمه Upload کلیک کنید تا کد کامپایل شده و به برد STM32 Black Pill آپلود شود.

F411 compile result

باید چراغ LED آبی را با فاصلهٔ ۰.۱ ثانیه روشن و خاموش شدن مشاهده کنید.

 

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا