طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.این پروژه یک فاصله سنج می باشد که می توان در مواردی نیز به عنوان عمق سنج از آن استفاده نمود. حداقل فاصله قابل تشخیص 10cm و حداکثر 80cm تا 100cm می باشد.در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.در این پروژه با استفاده از یک ساعت نجومی و محاسبات ریاضی، دو عدد سروو موتور یکی در جهت XY و دیگری در جهت Z پنل خورشیدی را به صورت اتوماتیک در موقیعتی قرار می دهید که بیشترین تابش خورشید را دریافت کند.یک مدار فاصله سنج می باشد که می توان در مواردی نیز به عنوان عمق سنج از آن استفاده نمود. حداقل فاصله قابل تشخیص 5cm و حداکثر 5m می باشد.
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr

MCP-13

پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
پروژه فاصله سنج با سنسور مادون قرمز شارپ Sharp

MCP-37

پروژه فاصله سنج با سنسور مادون قرمز شارپ Sharp
پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

MCP-21

پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت
پروژه کنترلر پنل خورشیدی با استفاده از ساعت نجومی

MCP-25

پروژه کنترلر پنل خورشیدی با استفاده از ساعت نجومی
پروژه فاصله سنج و عمق سنج آلتراسونیک با AVR

MCP-33

پروژه فاصله سنج و عمق سنج آلتراسونیک با AVR

آموزش نرم افزار گرافیکی Flowcode-AVR

www.picpars.com آموزش نرم افزار گرافیکی Flowcode-AVR 219

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

شعار این نرم افزار این است:  No Coding, No Limits بدون محدودیت،  بدون برنامه نویسی (کد).  در ادامه ما به توضیحاتی در مورد محیط نرم افزار و نحوی کار کردن با آن خواهیم پرداخت.

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


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

ابزارهای Flowcode

  1. در صورتی که کامپایلر مخصوص این نرم افزار را داشته باشید ابتدا برنامه شما را کامپایل کرده و سپس فایل هگز خروجی را در حافظه  میکرو کپی می کند.
  2. این گزینه تنها فایل هگز را در محل ذخیره شده فایل پروژه برای شما تولید می کند. (شما می تونید این فایل را با انواع مختلف پروگرامرها روی میکروی مورد نظرتان کپی کنید)
  3. این گزینه هم تنها فایل C برای شما تولید خواهد کرد یعنی فلوچارت شما را به معادل زبان سی آن تبدیل خواهد کرد.
  4. با این گزینه شما می توانید برنامه تان را پله پله اجرا کنید.
  5. همانند گزینه 4 هست.
  6. متوقف کردن شبیه سازی
  7. مکث شبیه سازی
  8. اجرای شبیه سازی (لازم به ذکر است که خود Flowcode امکان شبیه سازی را نیز دارد)
  9. بلوک ورودی: در این بلوک شما می توانید یکی از پورت های میکرو را به صورت بیتی یا کلی به ورودی تبدیل کنید.
  10. بلوک خروجی: در این بلوک شما می توانید یکی از پورت های میکرو را به صورت بیتی یا کلی به خروجی تبدیل کنید.
  11. بلوک تاخیر: این بلوک برای شما تاخیر هایی در رنج های میکرو،میلی و ثانیه ایجاد می کند.
  12. بلوک تصمیم گیری (if): این بلوک همانند دستور if در زبان سی یا بیسک عمل می کند که دوحالت دارد یا شرط برقرار می شود یا نمی شود که هر کدام یک مسیر جداگانه دارد می توان دستورات دیگری در آنها قرار داد.
  13. بلوک سوئیچ (Switch): این بلوک هم که کاملا پیدا که چه عملی انجام می دهد. یک متغییر را به عنوان ورودی گرفته و با حالت هایی که ما برای آن تعریف کرده ایم مقایسه می کند و در صورتی که مقدار متغییر با مقدار یکی از حالات برابر باشد دستورات مربوط به آن حالت اجرا می شود.
  14. تعریف کردن برچسب (Lable): با استفاده از این بلوک شما می توانید یک برچسب در هرجای برنامه که مایل بودید ایجاد کنید تا بعد توسط بلوک شماره 15 در هر جای برنامه که خواستید کنترل آن را به برچسب مربوطه ارجاع داد.
  15. رفتن به برچسب: با کمک این بلوک شما می توانید کنترل برنامه را به قسمت دیگری از برنامه ارجاع دهید.
  16. بلوک حلقه (Loop): عمکرد این بلوک هم خیلی واضح می باشد همانند دستور Do  While می باشد یعنی ایجاد یک حلقه بی نهایت.
  17. بلوک Call Macro: عملکرد این بلوک دقیقا شبیه به ایجاد توابع در زبان سی یا بیسیک می باشد به این صورت که این ماکرو تعدادی متغییر ورودی دارد و یک متغییر برگشتی که دستورات مربوطه داخل این ماکرو نوشته می شود و به صورت یک تب جداگانه در نرم افزار ایجاد می شود، و در هرجای برنامه Main می توان آن را فراخوانی کرد و از دستورات داخل آن استفاده کرد.
  18. بلوک Call Component Macro: عملکرد این بلوک به طور خلاصه به این صورت می باشد که  وقتی شما از قسمت ماژول ها یک کامپوننت را به قسمت پنل اضافه کنید و بعد با دوبار کلیک کردن روی بلوک Call Component Macro شما می توانید با انتخاب کامپوننت مورد نظر از جعبه ماکرو  تابع دلخواه را انتخاب کنید و از عملکر آن ماکرو در برنامه استفاده کنید. به عنوان مثال اگر شما  کامپوننت LcdDisplay را به صفحه پنل اضافه کنید و بعد یک Call Component Macro به برنامه تان اضافه کنید با دوبار کلیک کردن روی آن پنجره ای باز می شود که شما در جعبه کامپوننت باید LcdDisplay(0) را انتخاب کنید تا ماکرو های آن در جعبه سمت راست آن ظاهر شود و با انتخاب ماکروی مورد نیاز و OK کردن از آن استفاده نمائید. به عبارت دیگر شما می توانید با اینکار از توابع نوشته شده LCD استفاده نمائید، که این بلوک یکی از پرکاربرد ترین ها در هر برنامه ای می باشد.
  19. بلوک Calculation: در اینجا شما می توانید هرگونه عملیات ریاضی و محاسباتی را انجام دهید که البته در این بلوک function ها و توابع مختلف ریاضی نیز موجود است.
  20. بلوک String Manipulation: این بلوک همانند بلوک calculation می باشد با این تفاوت که کلیه عملیات بر روی یک رشته انجام می شود. مثلا تبدیل عدد به رشته یا برعکس و ....
  21. بلوک Interrupt: عملکرد این بلوک هم خیلی واضح می باشد، برای مدیریت وقفه ها در میکروکنترلر استفاده می شود.
  22. بلوک C Code: در صورتی که ماکرو های flowcode نیاز شما را براورده نکرد شما خودتان می توانید به زبان C ماکرو یا تابع و ... در درون آن بنویسید.

تا اینجا با ابزارهای flowcode اشنا شدید و اکنون به سه قسمت اصلی آن می پردازیم:

  1. قسمت برنامه نویسی گرافیکی با Main: یک صفحه شطرنجی می باشد و شما برنامه مورد نظرتان را باید در این محیط  در اصل بکشید که با BEGIN شروع می شود و با END خاتمه می یابد. که شما باید با  Click drage کردن ابزار ها را بین این دو تگ قرار دهید.
  2. پنجره خصوصیات: در این پنجر شما می توانید تمامی خصوصیات یک کامپوننت را ببینید و حتی مقادیر آنها را ویراش کنید.
  3. پنل Panel: تمامی کامپوننت هایی که شما در قسمت ماژول های اضافه می کنید وارد قسمت پنل می شود که هر کامپوننت را می توانید با کلیک راست کردن بر روی آن پیکره بندی کنید که شامل بخش  های زیر می باشد: 1-Ext Properties در اینجا شما می توانید کامپوننت مورد نظر را پیکره بندی کنید 2-connections در اینجا شما می توانید اتصالات پین ها را پیکره بندی کنید 3- Custom code در این قسمت شما می توانید ماکروهای مربوط به یک کامپوننت را به صورت دستی دستکاری و یا ویرایش کنید 4- Delete پاک کردن کامپوننت مورد نظر 

تعریف متغییر:

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

 انتخاب متغییر در flowcode

برای تغییر دادن نام متغییر یا نوع متغییر در شکل بالا قسمت 2 باید Rename variable و Array size برای متغییرهای رشته ای را کلیک کرده و مقادیر جدید را وارد کنید.

امیدوارم که مطالب فوق کامل و واضح بوده البته ما در روزهای آینده با مثال های ساده تا پیشرفته خواهیم آمد تا کار کردن با این نرم افزار قدرتمند برای همگان آسان شود.

 

این مقاله همراه با توضیحات آن تنها در وب سایت www.picpars.com به صورت متن باز ارئه شده و کپی برداری از آن تنها با ذکر منبع امکان پذیر می باشد.

با تشکر فراوان سید محسن قاسمیان

ورژن نرم افزار ها: Flowcode-AVR v4

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال پنجشنبه، 27 مرداد ماه، 1390    نویسندهنویسنده: مدیریت    نظرات 12 نظر    بازدید بازدید [ 34436 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان