armeducation
3.76K subscribers
372 photos
356 videos
117 files
383 links
آموزش حرفه ای میکروکنترلرهای ARM

ادمین:
@mzarkoob
مهندس مهدی زرکوب
شروع مطالب :
https://t.iss.one/armeducation/1
اینستاگرام :
@armeducation
کانال ایتا:
https://eitaa.com/armeducation
همراه :
09359956361
Download Telegram
عدم اتصال پروگرامر با cubeprogramer
در اینجا دو پروگرامر stlink داریم. هر دو پروگرامر از کیل و IDE میشه پروگرام کرد ولی همان طور که در تصویر میبینید پروگرامر بالایی در STM32CubeProgrammer اصلا سریال را شناسایی نمی کنه، چه برسه کانکت بشه!
در قسمت قبلی گفتم گاهی لازم میشه بخواهید فایل هگز را روی میکرو بریزید. اون موقع هست که تازه متوجه میشید چه پروگرامری خریدید!!
اول گفتم در یک فیلم این موضوع را نشون بدم ولی دیدم با یک عکس هم میشه مطلب را منتقل کرد.
پروگرامر بالایی را از یک مغازه خریدند و پروگرامر پایینی برای خودمه که قبلا از کویر گرفتم.
@armeducation
👍7🙏1
armeducation
استفاده از پورت سریال و نرم افزار Flash loader برای پروگرام کردن میکروکنترلر stm32 : ابتدا کلید BOOT0 را نگه دارید و در همین حالت، کلید RESET را فشار دهید و بعد رها کنید و سپس نرم افزارFlash Loader را در کامپیوتر اجرا کنید. در اینجا بایستی پایه Tx و Rx…
بوت سریال
در نرم افزار stm32cubeprogramer میشه از گزینه سریال برای اتصال به میکرو استفاده کرد. ولی خوب یه شرط داره وگرنه مثل تصویر خطا میده. باید boot را زده باشید. البته boot0
حالا این به چه دردی می خوره؟
وقتی دیگه با پروگرامر نمیتونید میکرو را پروگرام کنید. این راهیه که میکروتون را نجات بدید. البته از نرم افزار flash loader هم میشه استفاده کرد ولی رو بعضی میکروها مکمنه کار نده.
این مقدمه مطلب بعدیه در مورد طراحی برد.
❓ تا حالا این حالت براتون پیش اومده ؟
@armeducation
👍10❤3
armeducation
ایجاد حالات مختلف بوت با استفاده از پایه های boot0 و boot1 بر روی برد میکروکنترلرهای stm32 @armeducation
Media is too big
VIEW IN TELEGRAM
الزامات سخت افزاری برای استفاده از بوت سریال
تا حالا شده این موارد را انجام نداده باشید و اسباب زحمت براتون شده باشه؟ می دونید کاسه چه کنم چیه و از کجا میشه تهیش کرد!؟
https://aparat.com/v/fdjp4dh
❓ برای ریست به نظرتون چرا بعد تنظیمات لازم بعد پروگرام، برنامه ریست نمیشه؟
@armeducation
👍9🙏1
Media is too big
VIEW IN TELEGRAM
بررسی ریست شدن میکرو بعد پروگرام
به نظر شما در پروژه دوم، بعد از پروگرام، چرا میکرو ریست نشد و برنامه اجرا نشد!؟
https://aparat.com/v/kto75j7
👈 اگه برنامه بعد پروگرام، ریست نشه، تازه نبود 🔑 ریست خودشو نشون میده!
کانال تلگرام و پیج اینستاگرام :
@armeducation
👍7❤1
armeducation
مشاهده اجرای عملی دریافت دیتا از USART و انتقال به رم به با DMA متوقف نماندن برنامه در موقع دریافت دیتا با استفاده از ویژگی DMA و عدم وقفه های متوالی سریال تکرار دریافت تعداد مشخص شده @armeducation
ارسال و دریافت سریال با DMA
در پروژه به خاطر عدم اتلاف وقت cpu گاهی لازم میشه دریافت و حتی ارسال پورت سریال را با DMA انجام بدیم. این برای مواردی هست که میکرو مرتب باید دیتای های زیادی را ارسال و دریافت کنه. حالا اگه با چندین USART میکرو این کار باید انجام شود که ضرورت استفاده از DMA خیلی بیشتر به چشم میاد. چون در غیر این صورت برای یک ارسال با تعداد کاراکتر بالا، میکرو باید منتظر بمونه و سرعت کار کم میشه و ...
در اینجا به دو صورت رجیستری و با توابع HAL میشه از DMA استفاده کرد. ولی در توابع هال انجام این کار ظاهرا کمی قلق داره. در این برنامه دیتایی که از سریال با dma دریافت شده بر روی همان سریال با dma باید ارسال شود.
اگه DMA در مد معمولی تنظیم بشه که فقط یک بار می تونید ارسال کنید و دفعه بعد کار نمیده.
اگه در مد چرخشی بذارید که بعد یک ارسال، مرتب این کار تکرار میشه. اگه بعد ارسال هم متوقف کنید که دیگه مجدد دریافت هم نمی کنه.
❓ در چه مواردی لازم شده در این پریفرال usart از DMA استفاده کنید و با چه چالش هایی در پروژه مواجه شدید؟
@armeducation
❤4
armeducation
نمایش تمامی کاراکترهای یک فونت تعریف شده با تابع نمایش رشته : DisplayString48pt(5,30,"0123456789" , Red,Blue); .... @armeducation
تفاوت دو فونت ساخته شده
در نوشته بالا از نرم افزار ساخت فونتی استفاده شده که کاراکتر را وسط قرار نمیده
در نوشته پایین از برنامه دیگری استفاده شده که کاراکتر را وسط می‌ذاره
تفاوت مشخصه. در یک رشته که می خواهیم روی TFT قرار دهیم باید فاصله بین کاراکترها مناسب باشه وگرنه خیلی ضایع خواهد شد!
👈 بالاخره بعد سال‌ها در پروژه ای لازم شد و این موضوع را از پایه درستش کردم
@armeducation
👍7❤3
Media is too big
VIEW IN TELEGRAM
تاچ خازنی و استفاده در پروژه
وقتی از برنامه تاچ خازنی در پروژه استفاده کنید یکی از مواردی که باهاش مواجه میشید همینه که در عمل مشاهده می کنید.
https://aparat.com/v/fxb84wh
❓ چه برنامه نویسی باید انجام بشه تا این مشکل حل بشه؟
❓ آیا از وقفه تاچ میشه استفاده کرد؟
@armeducation
👍6❤2👏2
🌱
“در این هفت‌سینِ زندگی، کنار سبزهٔ امید و سنبلِ عشق، آرزو می‌کنم سال ۱۴۰۵، برای شما سفره‌ای پر از سلامتی، دلی سرشار از شادی و آرامش و جیب‌هایی پر از برکت باشد.
سال نو در حالی از راه می‌رسد که دل‌هایمان با روزهای سخت همراه است،
اما بهار همیشه پیام‌آور امید و آغاز دوباره است.
امیدوارم سال جدید، آرامش و سلامتی را برای همه شما و خانواده‌ گرامی‌تان به همراه داشته باشد
و روزهایی روشن‌تر پیش رویمان باشد.
نوروزتان پیروز 🌺
🎊🌼🎉🌷🍃
❤4
داشتم تصمیم می‌گرفتم کانالم در ایتا و بله را فعال کنم
ولی انگار نت در حال باز شدنه !
👍7😁2
دوره آموزش مقدماتی stm32
7 جلسه 4 ساعته بوده و در اسپات پلیر هم بارگذاری شده که به صورت آفلاین قابل استفاده خواهد بود + مطالب کاربردی و تجربیات پروژه ها بعد هر جلسه و تمرین و پروژه های مربوطه در گروه تلگرامی کلاس.
👈 سرفصل کلی و پیش نیازها در کامنت ها.
جهت اطلاع از جزییات و شرکت در دوره :
🆔 @mzarkoob
📞 09359956361
در صورت عدم امکان ارسال پیام در تلگرام، در بله یا ایتا پیام بدید.
https://aparat.com/v/kditcdd
@armeducation
👏3❤2
armeducation
تاچ خازنی و استفاده در پروژه وقتی از برنامه تاچ خازنی در پروژه استفاده کنید یکی از مواردی که باهاش مواجه میشید همینه که در عمل مشاهده می کنید. https://aparat.com/v/fxb84wh ❓ چه برنامه نویسی باید انجام بشه تا این مشکل حل بشه؟ ❓ آیا از وقفه تاچ میشه استفاده…
This media is not supported in your browser
VIEW IN TELEGRAM
وارد کردن عدد اعشار
یک نیازی که در پروژه ممکنه لازم بشه وارد کردن یک رقم به صورت اعشار از کیپد هست.
https://aparat.com/v/jbudtu9
با یک سری موارد برنامه نویسی میشه این کار را انجام داد. واقعا یک باگ هست اگه انجام نشه. فکرشو بکنید بشه چند تا دات زد!
یک تنظیم دیگه اینکه بخواهیم رقم اعشار با چه دقتی باشه
سوال این جاست که آیا تمام این ملاحظات را باید در پروژه برای برنامه نویس مشخص کنند یا خودش باید پیش فرض در نظر بگیره و انجام بده و در زمان و قیمت لحاظ کنه؟
@armeducation
👍5
armeducation
فصل 5 اس دی کارت فصل 5 فیلم پیشرفته F4-H7 هم ارائه شد. این فصل SD بیش از 10 ساعت آموزش می باشد که خیلی کامل و کاربردی به مباحث این قسمت با توابع و میکروهای مختلف پرداخته ایم. @armeducation
فصل 5 فیلم F4-H7 در اسپات پلیر بارگذاری شد.
عزیزانی که قبلا مجموعه فیلم پیشرفته f4-h7 را تهیه کرده اند برای خرید فصل SD کارت( بیش از 10 ساعت) با تخفیف ویژه اطلاع بدید تا براشون فعال بشه.
عزیزانی که بعد از اسفند خرید داشتند هم براشون به صورت پیش فرض فعال شده است.
این فصل به صورت جداگانه هم قابل تهیه می باشد.
https://t.iss.one/armeducation/1592

در صورت عدم امکان ارتباط در تلگرام :
🆔 @mzarkoob
📞 09359956361
در بله و ایتا می توانید پیام دهید.
@armeducation
🔥4
armeducation
🎓  اصفهان : بیست و سومین دوره آموزش «مقدماتی» و «متوسط» میکروکنترلر STM32 - دی ماه ۱۴۰۳ 🏢 مکان : "اصفهان" - حضوری. (در دو سطح مقدماتی و متوسط جداگانه) ⏱️ مدت "28" ساعت 🕔 زمان شروع : پنج شنبه و جمعه 27 و 28 دی. - مقدماتی : جمعه ها صبح از 28 دی ماه - متوسط…
دوره آموزش متوسط stm32
7 جلسه 4 ساعته بوده و در اسپات پلیر هم بارگذاری شده که به صورت آفلاین قابل استفاده خواهد بود + مطالب بعد هر جلسه و تمرین و تجربیات پروژه های مربوطه
👈 سرفصل کلی در کامنت ها
جهت شرکت در دوره :
🆔 @mzarkoob
📞 09359956361
در صورت عدم امکان ارسال پیام در تلگرام در بله یا ایتا پیام بدید.
https://aparat.com/v/crg7377
@armeducation
👏5❤2
armeducation
ملاحظات نمایش چند عکس کوچک با سایز متفاوت بر روی یک عکس @armeducation
This media is not supported in your browser
VIEW IN TELEGRAM
جایگزینی یک قسمتی از عکس از فضای رم
https://aparat.com/v/seo9097

در اینجا گفتم برای کیپد یک صفحه کامل در نظر نگیرم و حدود نصف صفحه را بگیره. ولی نمی خواهم بعد زدن back یا اینتر مجدد کل صفحه اصلی بارگذاری بشه.
ما قبلا یک تابعی نوشته بودیم که با دادن ورودی های لازم
RAM_TFT_part_Image (uint32_t ImageAddress,int Width,int Height,int W1,int H1,int x,int y)
فقط یک قسمت از عکس را از مکان مورد نظر نمایش میداد. این عکس در رم خارجی قرار داشت. البته میشه در فلش داخلی یا خارجی هم بذاریم.
اینجا بعد سالها مجدد همان تابع به کار اومد !
یادمه برای کشف الگوریتم این کار در اون پروژه خیلی وقت گذاشتم و در نهایت در دو حلقه for پیاده سازی شد. نمی دونم این کار را بدیم هوش مصنوعی بهمون یک تابع درست حسابی میده یا نه
@armeducation
👍3
اتصال لودسل به میکروکنترلر
در صورتی که در پروژه‌ای اندازه‌گیری وزن ضروری باشد، استفاده از لودسل الزامی است. برای این منظور، نیاز به یک ماژول واسط می‌باشد که پیشنهاد می‌شود از ماژول Hx711 استفاده کنید. لودسل‌ها در مدل‌های مختلفی موجود هستند، از جمله انواع 8 سیمه و 5 سیمه. در حال حاضر، کافی است چهار سیم خروجی لودسل را به ماژول متصل نمایید: قرمز، مشکی، سبز و سفید. چهار پایه خروجی سنسور نیز به میکروکنترلر متصل می‌شوند که دو تای آن مربوط به تغذیه و دو تای دیگر مربوط به داده (Data) و کلاک (Clock) هستند.
در صورتی که سخت‌افزار و اتصالات به درستی انجام شده باشد و برنامه مناسبی بر روی میکروکنترلر بارگذاری گردد، می‌توانید مقادیر لودسل را خوانده و دریافت کنید.
❓ در صورتی که با لودسل کار کرده اید، با چه چالش‌هایی مواجه شدید؟
@armeducation
👍8❤4
This media is not supported in your browser
VIEW IN TELEGRAM
استفاده از لودسل در پروژه
https://aparat.com/v/uhfik3o

قدم اول راه اندازی لودسل هست که یک عددی نمایش بده و موضوع دیگه اینکه این برنامه در پروژه درست کار بده و نیاز را برطرف کنه.
در این مورد به نظر شما چقدر تفاوت هست و با چه مواردی ممکن است مواجه شویم؟
@armrducation
👍5❤2