آموزش آردوینو برد STM

آموزش راه اندازی و پروگرام برد STM32 در کامپایلر آردوینو IDE

STM32f103-with-arduino-IDE-digispark-
نوشته شده توسط محمد رئیسی نژاد

همواره با پیشرفت غیر قابل کنترل تکنولوژی روز به روز انتظارات ما و همچنین مدارهایی که قصد طراحی آنها را داریم بیشتر و بیشتر می‌شود. در نتیجه با حجم بیشتری از دیتا برای پردازش و انجام شد روی آنها سر و کار داریم این عوامل باعث شده که میکروکنترلرهای ۸ بیتی و ۱۶ بیتی دیگر جوابگوی بسیاری از نیازهای ما نباشد. بنابراین میکروکنترلرهای ۳۲ بیتی با سرعت بسیار زیادشان، به یکی از انتخاب‌ها تبدیل شده است. از این میان میکروکنترلر ۳۲ بیتی خانواده‌ ARM به دلیل مصرف انرژی اندک و سرعت پردازش زیاد در کنار قیمت بسیار پایین، باعث شده‌اند که نخستین انتخاب ما باشد. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


معرفی برد STM32 با تراشه ARM


بردهای STM نوعی از بردهای امبدد بر پایه تراشه‌های ARM Cortex می‌باشند. ظاهر کلی برد STM32 بسیار شبیه به آردوینو نانو Nano می‌باشد. البته این برد هم مانند آردوینو اوپن سورس میباشد. برد STM32 مورد استفاده در این آموزش از نوع STM32F103C8T6 انتخاب شده است. برد دارای دو اسیلاتور میباشد. یک کریستال ۸MHz و دیگری کریستال ۳۲KHz که توانایی راه اندازی ساعت RTC داخلی را دارای می‌باشد. تنها همین کریستال کوچک امکان استفاده از برد STM32F103C8T6 به عنوان پردازنده بسیار کم مصرف را فراهم می‌کند. اگر شما کاربر گرامی علت این موضوع را نمی‌دانید، در قسمت نظرات سوال بپرسید. دیگر ویژگی‌های این برد عبارتست از، یک میکروکنترلر ۳۲ بیتی از خانواده آرم و گروه کورتکس m۳ می‌باشد. حداکثر کلاک این میکروکنترلر ۷۲ کیلو بایت را حفظ و حافظه فلش آن ۶۴ کیلوبایت می‌باشد. همچنین حافظه SRAM آن ۲۰ کیلو بایت و ولتاژ کاری ۳. ۳ ولت است.

 

 


راه اندازی برد STM32


ابتدا به یک مدبل USB To TTL نیاز داریم. سپس اتصالات را به برد STM32 برقرار می‌کنیم.

برای برنامه نویسی این برد به کامپایلر IDE Arduino نیاز داریم. پیشنهاد می‌کنم از ورژن ۱.۶.۹ استفاده کنید. این ورژن قابلیت ارتباط usb را دارد. اما ما از بوت لودر برای برنامه نویسی استفاده می‌کنیم. آماده کردن محیط آردوینو برای برد STM32 در ابتدا برنامه را دانلود و سپس نصب کنید. مانند تصاویر زیر از شاخه tools به مسیر Board Manager بروید. سپس در کار باز شده عبارت Arduino Sam را بنویسید  تا از مخازن اصلی نسبت به دانلود و نصب این پکیج اقدام شود.

STM32 in arduino IDE 1

 

STM32 in arduino IDE 2

 

STM32 in arduino IDE 3.

 

پروگرام کردن برد STM32F103 در کامپایلر آردوینو - دیجی اسپارک

 

اگر نصب نبود مانند تصاویر زیر مراحل نصب را انجام دهید. مراحل نصب مقداری زمانبر می‌باشد. در این مرحله به پوشه فایل که برای شما قرار داده شده، باز می‌کنیم. سپس آردینو STM32 را در مسیرarduino/hardware محل نصب برنامه کپی کنید.

پروگرام کردن برد STM32F103 در کامپایلر آردوینو - دیجی اسپارک

 

پروگرام کردن برد STM32F103 در کامپایلر آردوینو - دیجی اسپارک

 

آماده سازی IDE آردوینو برای برد STM32F103 - دیجی اسپارک

 

تا به اینجا با انجام مراحل بالا در حقیقت محیط ide آریدنو برای برنامه آماده شده است.

نمایی از برد STM32F103 با تراشه ARM - دیجی اسپارک

 

 

 


اتصالات و نصب بوت لودر STM32


حال نوبت به اتصال ماژول مبدل USB به TTL می‌رسد. اتصالات ساده است و  مانند تصویر زیر نصب کنید.

اتصالات ماژول مبدل USB to TTL به برد STM32 - دیجی اسپارک

مراحل نصب بوت لودر روی میکرو کنترلر، از داخل فایل فلش لودر را نصب و اجرا کنید. مانند تصاویر زیر سپس برد STM را که به مبدل USB به TTL متصل کرده‌اید؛ را به پورت USB کامپیوتر متصل کنید. جامپرها را مانند تصویر بالا تنظیم کنید. برنامه فلش را اجرا کرده و مقدارها را مانند تصاویر زیر جلو بروید.

مراحل نصب و آماده سازی برد STM32 در کامپایلر آردوینو - دیجی اسپارک

 

مراحل نصب و آماده سازی برد STM32 در کامپایلر آردوینو - دیجی اسپارک

 

مراحل نصب و آماده سازی برد STM32 در کامپایلر آردوینو - دیجی اسپارک

 

مراحل نصب و آماده سازی برد STM32 در کامپایلر آردوینو - دیجی اسپارک

 

مراحل نصب و آماده سازی برد STM32 در کامپایلر آردوینو - دیجی اسپارک

برای نصب دریور هم مانند شکا های زیر پیش برید.

نصب درایور STM32F برای کامپایلر آردوینو - دیجی اسپارک

نصب درایور STM32F برای کامپایلر آردوینو - دیجی اسپارک

گزینه downloal to divice را انتخاب و سپس فایل generic_boo20__pc13.bin در پوشه فایل را لود کنید.

نصب درایور STM32F برای کامپایلر آردوینو - دیجی اسپارک

 


پروگرام برد STM32F103 در آردوینو


اکنون بوت لودر روی میکروکنترلر نصب شده است حال برای اینکه بتوان توسط پورت میکرو usb میکرو کنترلر را پروگرام کنیم باید مراحل زیر را دنبال کنیم.

اجرای پروژه با STM32F توسط کامپایلر آردوینو - دیجی اسپارک

 

اجرای پروژه با STM32F توسط کامپایلر آردوینو - دیجی اسپارک

 

اجرای پروژه با STM32F توسط کامپایلر آردوینو - دیجی اسپارک

 

اجرای پروژه با STM32F توسط کامپایلر آردوینو - دیجی اسپارک

 

چنانچه قدم به قدم طبق آموزش بالا و با تصاویر بالا پیش رفته باشید. در حال حاضر آردوینو می‌تواند، توسط پورت USB ‏برد STM32 را پروگرام کند. در آخر یک برنامه‌ی چشمک زن برای شما قرار داده‌ام تا این برنامه‌ها و کارهای انجام شده را تست کنید. 

 


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


 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

محمد رئیسی نژاد

دانشجوی مهندسی برق قدرت

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۴ دیدگاه

    • سلام بله برنامه های نمونه و ساده و کم کم راه اندازی ماژول ها و حتی السیدی های tft
      البته بستگی داره چقد استقبال باشه

    • سلام وقتتون بخیر متاسفانه من از این روش و از چندین روش دیگه استفاده کردم ولی به هیچ عنوان برنامه روی برد پروگرام نمیشه

  • با سلام. تشکر از مطلب مفیدتون. سوال داشتم در خصوص سایر سری های STM32 که در لیست بردها نمایش داده میشه. پین آردینو (Arduino Pin Configuration) سایر پردازنده ها رو از کجا میشه به دست آورد؟ من خیلی جستجو کردم چیزی بدست نیاوردم متاسفانه! مثلا STM32F103Z
    تشکر

    • سلام خواهش میکنم ممنونم از شما که وقت میزارید برای خوندم مطاب .اگه درست متوجه شده باشم شما میخواین از سایر میکروهای دیگه ی سریه stm استفاده کنید . در حال حاظر فقطstm32ft103c با اردینو هم خونی داره و میکروهای دیگه هنوز روشی پیدا نکردم و تست نکردم اگه مورد جدید پیدا کنم حتما در سایت قرار میدم

      • ایا تمام برنامه هایی که با اردوینو انجام میشه رو میتونیم با این برد stm32 پیاده سازی بکنیم؟

        • سلام ‌نمیشه گفت همه برنامه ها پایه ها ولتاژ کاری و سختف افزار کامل متفاوت هست

    • سلام بله با توجه به اپدیت های جدید اردینو محدودیت هایی برای پرو گرام کردن با ایم اموزش ایجاد شده
      شما با stlink هم امکان پرو گرام گردن رو دارید

    • سلام بله این امکان وجود دارد. اگر شما از آپدیت جدید استفاده کنید، پورت را ممکنه براتون‌‌ نیاره، اما به صورت اتوماتیک شناخته‌ می‌شود. برای این‌ کار بایستی از بخش، دیواس منیجر، چک کنید.

  • سلام
    من عبارت Arduino Sam رو می نویسم ولی هیچ چیز دانلود نمی کنه. مشکل کجاست؟
    همچنین اون جایی که گفتید “در این مرحله به پوشه فایل که برای شما قرار داده شده، باز می‌کنیم” من فایلی پیدا نمی کنم لطفا راهنمایی فرمایید. من برنامه بوت را از طریق مبدل USB به TTL ریختم ولی هر کار می کنم نمی تونم با USB ارتباط بگیرم. درایور رو هم ریختم ولی اصلا برد رو وقتی به USB وصل می کنم شناسایی نمی شه.
    با تشکر

  • سلام وقت بخیر
    مراحل بالاروانجام دادم ولی متاسفانه در قسمت دیوایس منیجر درایور Mple ویندوز سون همچنان با علامت مثلث تعجب زرد رنگه!
    و کامپیوتر stm 32 bluepil رو نمیشناسه و باآردوینو نمیشه کار کرد. بوت لودر نصب شده نرم افزارها وفایل ازسایتst دانلود شده ولی متاسفانه موفق نشدم. لطفا راهنمایی بفرمایید.
    تو یوتوب هم سرچ کردم یه مقاومت ۱.۸کیلو هم با ۳.۳ و پین۱۲ متصل کرده بود برای رفع این مشکل ولی بازم رو سیستم من نشد!

  • با سلام لطفا از فیلتر شکن استفاده کنید و مجدد اپدیت کنید
    برای اپدین از قیما دیوایس منیجر اقدام کنید

  • سلام
    آیا با این برد میشه مثل آردوینو uno با نرم افزار متلب پروژه انجام داد؟ به عبارت دیگه تولباکس آردوینو در متلب برای این برد جواب میده؟
    با تشکر از شما

  • سلام
    آیا میشه ال سی دی گرافیکی ۶۴*۱۲۸ رو با آردینو برای stm32 راه اندازی کرد؟ اگر امکانش هست کمی راهنماییم کنید در این زمینه.
    با سپاس از شما

  • سلام کتاب خانه و نمونه سرس ها در نت برای
    راه انداری السیدی های گرافیکی و تاچ و…
    موجود است

  • سلام. بعد از انجام مراحل بالا، در دیوایس منیجر maple را بصورت پورت نمی‌شناسد. لطفا راهنمایی کنید.
    با تشکر از مطالب خوبتون

  • سلام در حال حاظر فقط مدل اموزش داده شده در ‌اردینو امکان پذیر میباشد

  • با سلام
    عذر خواهی میکنم چجوری میتونم فایلی که تواموزش
    گفتین رو دانلود کنم ممنون میشم راهنمایی کنید.
    با تشکر

  • سلام مهندس خسته نباشید یه سوال داشتم می خواستم بدونم که اگر یک اسپارکر بخواد یک پروژه مثل این پروژه اجرا کنه باید تجهیزات خودش تهیه کند و یا خود دجی اسپارک برایش فراهم می کند

  • سلام
    من همه مراحل بالا رو انجام دادم. فقط یک مشکل با خود محیط اردوینو وجود داره که برد genericSTM32F103C رو اصلا نمی شناسه وقتی که برنامه رو بدون برد حتی کامپایل می کنم خطای زیر رو ضاهر می کنه. به نظر شما باید چکار کنم؟
    Board genericSTM32F103C (platform STM32F1, package stm32duino) is unknown

    Error compiling for board Generic STM32F103C series.

    وقتی بردم رو به PC وصل می کنم شناسایی می شه ولی اصلا نمی تونم پروگرام کنم.
    راستی توی این محیط چطور می شه عکس اپلود کرد؟
    با تشکر

    • با سلام
      امکان آپلود عکس در این محیط وجود ندارد.
      در مسیرarduino/hardware چک کنید آیا برد stm32 نصب شده است؟ یا خیر. سپس نتیجه را از همین طریق اعلام فرمایید.

      • سلام. ممنون که پاسخ دادید. خیر نصب نشده است. لطفا راهنمایی فرمایید چطور نصب کنم. در صورت امکان مسیر دانلود فایل هاش رو هم بفرمایید. با تشکر فراوان.

  • سلام. مسیری که فرموده بودید چک کردم همچین پوشه ای وجود نداره. من قبلا با همین سیستم این برد رو پروگرام کردم نمی دونم چرا الان نمی شه. اگه مشکل نبود این فایل ها است لطفا مسیر دانلود و نحوه نصبش رو بفرمایید.

  • سلام. کارهایی که فرمودید انجام دادم. بازم همون خطا رو می ده. البته در داخل فایل های دانلود شده شباهتی با فایل های درون اموزش و عکس مسیر و نصب سخت افزار نبود. امکانش هست از یک روشی چند تا عکس براتون بفرستم شاید من در اشتباهم و نمی تونم مطلب رو برسونم تا شما منو راهنمایی کنید.
    با تشکر

  • سلام من بوت لودر را ریختم توی برد ولی وقتی به آردواینو می رم پورت شناخته نمی شه . در device manager نشون می ده که maple نصب نشده. llk,k ld al vhiklhdd ftvlhddn .

  • مهندس سلام وقت بخیر .
    من طبق آموزش پیش رفتم فایل باینری رو هم روی stm32 دانلود کردم . بد کابل usb مستقیم متصل میکنم داخل device manager درایورmaple علامت تعجب داره . نمی تونم برنامه رو با آردوینو پروگرم کنم داخلش.

    • با سلام
      آیا بوت لودر به طور صحیح رو میکروکنترلر STM32 انتقال داده شده است؟

  • سلام میشه نصب بوت لودر و پروگرام کردن آی سی های arm با آردوینو رو آموزش بدین.منظور بلو پیل نباشه فقط آی سی خودش باشه

  • سلام من وقتی برد stm32f رو با usb وصل میکنم به سیستم درایورش رو نمیشناسه .
    از کجا باید درایورشو نصب کنم؟

    • با سلام
      برد STM32 به صورت پیشفرض بوت لودر USB را ندارد و بایستی از طریق USART اقدام به پروگرامر برد کنید.