شاید یکی از مهمترین پارامترهایی که در طراحی بخش مکانیکال باید درنظر داشته باشیم محاسبه گشتاور مورد نیاز مجموعه هست. برای اینکه خودم نحوه محاسبات رو فراموش نکنم این مطلب رو اینجا مینویسم.
شاید یکی از مهمترین پارامترهایی که در طراحی بخش مکانیکال باید درنظر داشته باشیم محاسبه گشتاور مورد نیاز مجموعه هست. برای اینکه خودم نحوه محاسبات رو فراموش نکنم این مطلب رو اینجا مینویسم.
من یک برد رزبری پای (Raspberry PI) قدیمی (ورژن 1.2 نسخه B+ متعلق به سال 2014) از بین وسایلم پیدا کردم. با توجه به اینکه در حال حاضر از اینترنت موبایل استفاده میکنم و این برد فاقد آداپتور WiFi هست. تصمیم گرفتم یک راهی برای اتصال مستقیم برد رزبری پای به کامپیوترم پیدا کنم که بتونم همزمان اینترنت رو هم در اختیار بردم قرار بدهم.
این نوشته نتیجه کار من در این باره هست .
در ادامه آموزش قبلی که در مورد درخت کلاک و نحوه تخصیص کلاک سیستم صحبت کردم، میخواهم کدهای مربوط به این بخش را کامل کنم و در یک فایل مجزا (و قابل تغییر) به پروژه اضافه کنم.
در پست قبل تنظیمات IDE و آرایش دایرکتوری ها و فایلها را دیدیم. در این آموزش با سیستم کلاک میکروکنترلر STM32 و نحوه تنظیم کلاک آشنا میشیم.
من میخواهم یک پروژه جدید بدون استفاده از ویزارد IDE بسازم و خودم فایلهاو دایرکتوری های مورد نیاز پروژهام رو بهش الحاق کنم و کامپایلر را برای مسیرهای جدید تنظیم کنم. من میخوام یک پروژه رو بصورت from Scratch در STM32CubeIDE بسازم.
برای نوشتن آموزش میکروکنترلر STM32 نیاز داشتم آرایش دایرکتوری رو هم نمایش بدم. برای همین منظور این آموزش کوتاه رو برای نمایش درختی دایرکتوری ها و محتویاتشون در cmd ویندوز نوشتم.
متاسفانه بدلایل کاری مجبورم مدتی از پردازش تصویر (Image Processing) و برنامه های مبتنی بر شناسایی تصویر(Image Recognition) دور باشم. توفیق اجباری شد که دوباره در زمینه مدارات الکترونیک، طراحی بردهای مدار چاپی و برنامه نویسی میکروکنترلرها فعالیت کنم.
در همین زمینه میخوام درباره بعضی اشکالات رایج در طراحی PCB کمی بررسی کنم و از تجربیات خودم و دیگران در اینجا صحبت کنم:
برنامه STM32CubeIDE بر روی سیستم من به درستی کار نمیکرد. در حقیقت بعد از تنظیم سیستم در بخش گرافیکی هیچ کدی ایجاد (جنریت) نمیشد. در این پست میخوام دلیل مشکل و راه حلی که من بهش رسیدم رو توضیح بدهم.
موقع استفاده از Keil برای پروگرم کردن میکروکنترلر STM32، با اتصال STLink یک پیام هشدار برروی برنامه نمایش داده میشه که Firmware پروگرمر رو آپدیت کنید. البته بدون آپدیت هم مشکلی نیست و به خوبی کار میکنه . اما من آپدیت کردم که از شر پیام هشدار خلاص بشم.
من قبلا با میکروکنترلرهای ARM سری LPC محصول شرکت NXP کار کرده بودم ( که مدتها از اون زمان گذشته و باید دوباره آموخته هایم رو دوره و به روز رسانی کنم)، با توجه به فضای بازار کار و علاقه به میکروهای شرکت STM متوجه قیمت نازل این میکروهای ۳۲ بیتی شدم که در بعضی مدلها حتی از میکروکنترلرهای 8 بیتی هم ارزونتر هست. من شروع به یادگرفتن این خانواده کردم . شاید بعدا سلسله آموزشهایی درباره خانواده LPC هم در سایت قرار بدهم. اما فعلا نوشتن آموخته هام در اولویت هست تا هم برای خودم بمونه و هم اگر کسی لازم داشت استفاده کنه.
بنظر میاد که باید داستان رو از انتها تعریف کنم . بعد از نوشتن برنامه پایتونی و رفع ایرادات و تستهایی که انجام دادید برای تحویل برنامه باید برنامه خودتون رو در قالب یک فایل اجرایی تحویل بدید . تفاوتی نداره در لینوکس یا ویندوز برنامه رو نوشته باشید . احتمالا مشتری شما از ویندوز استفاده میکنه ولی در کلیت ماجرا تفاوتی نداره . دو تا بسته در پایتون وجود داره که فایل پایتونی رو بهش میدید و براتون یک فایل اجرایی میسازه .
بعد از مدتها سروکله زدن با شبکه های عصبی کانولوشنی و پیاده سازیشون در یک برنامه کامل که GUI مستقل داره و برنامه تجاری سازی شده درنظر دارم تجربیاتمو از این کار هم در زمینه جمع آوری و پیش پردازش دیتا و آماده سازی دیتا برای کار در شبکه CNN ، پیدا سازی معماری های مختلف مبتنی بر CNN و در نهایت ساخت یک GUI برای برنامه کم کم در اینجا قرار بدم . بعد از پردازش دیتا در شبکه عصبی یک لایه پردازش دیتا برای آماده سازی نمایش برای کاربر هم وجود داره که متاسفانه کسی بهش نمیپردازه ولی بخش مهمی هست و عملا اگر این بخش رو نتونید از کار دربیارید ، برنامه شما بدرد نمیخوره و قابل استفاده نیست . که من سعی میکنم بر اساس تجربیاتم قسمت پردازش دیتا رو هم توضیح بدم .
اگر از مشتقات لینوکس ( من از آرچ لینوکس استفاده میکنم .) استفاده میکنید و برای برقراری اتصال برد آردوینو به پورت سریال خطای Permission میگیرید . میتوانید با تنظیم زیر این مشکل را حل کنید :
sudo chmod a+rw /dev/ttyACM0
و اگر به جای ttyACM0 پورت USB در سیستم شما ttyUSB0 میباشد از دستور زیر استفاده نمایید :
sudo chmod a+rw /dev/ttyUSB0

Syntax Highlighter Code در پست های بلاگر شما می تواند به خوانندگان کمک کند تا کدهای نوشته شده توسط شما را بهتر درک کنند. علاوه بر این، بهطور خودکار یک دکمه کپی برای هر متن هایلایت شده ای اضافه میکند که خوانندگان میتوانند روی آن کلیک کنند و سپس کد را در اسناد خود جایگذاری کنند. ویرایشگر Syntax Highlighter Code نیز قابل تنظیم است .
شاید بخواهید از طریق پروتکل ssh به یک کامپیوتر لینوکسی متصل شوید . مثلا به برد رزبری پای ! این کار به راحتی توسط putty در ویندوز و استفاده از دستور ssh در لینوکس امکانپذیر است . اما درصورتیکه بخواهید در برد رزبری پای خود یک برنامه گرافیکی اجرا کنید ، به روش قبل نمیتوانید GUI برنامه را ببینید و حتما در روند اجرای برنامه خود به مشکل میخورید.
این قدم اول از این پروژه سرگرمی من هست و به مرور زمان کامل میشه . با اینکه همین الان هم قابل استفاده است .