پروژه رقص نور با میکروکنترلر AVR ATmega32

پروژه رقص نور با میکروکنترلر avr

پروژه رقص نور با میکروکنترلر avr

در مطلب پروژه رقص نور با میکروکنترلر avr قراره چند نوع الگوریتم برای راه اندازی LED های متصل شده به یک پورت کامل رو باهم بررسی کنیم و کد براشون بنویسیم.

پروژه رقص نور با میکروکنترلر AVR ATmega32

مثل توضیحاتی که در جلسات یک تا سه از آموزش AVR داده شد ، باید یک پروژه جدید بازکنید و در بخش کدویزارد طبق شماتیک پورت A رو خروجی نعریف کنید و مقدار اولیه صفر به پایه های این پورت بدید.

رقص نور با avr

فرکانس کاری یک مگاهرتز یا حتی 16 مگاهرتز تفاوتی در عملکرد کلی این پروژه ندارد. فقط در هنگام استفاده عملی و یا شبیه سازی باید فرکانس تنظیم شده در برنامه مطابق فرکانس تنظیم شده  فیوزبیت های میکرو باشد.

در اولین پروژه رقص نور با میکروکنترلر avr قصد داریم تمامی LED ها با هم یک ثانیه روشن و سپس یک ثانیه خاموش بشن.

در نتیجه باید همه ی پایه ها مقدار یک بگیرن و بعد از یک ثانیه مقدار صفر به اونها داده بشه.کد این پروژه به شکل زیر در می آد:(من از مقدار هگز استفاده کردم ، با مقدار باینری یا دسیمال هم میتونید این برنامه رو خودتون بنویسید.

در نتیجه کد حلقه ی بی نهایت به شکل زیر در می آد :

و کل کد به شکل زیر خواهد بود:

 

 

پروژه دوم رقص نور در کد ویژن :

در این پروژه قصد داریم که LED ها یکی یکی روشن و خاموش بشن و این عمل تکرار بشه.( رقص نور آبشاری )

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

کد های اضافه و کامنت هارو پاک میکنم تا کد واضح تر باشه:

شما میتوانید بجای ATMEGA32  از ATMEGA16 هم استفاده کنید. تفاوتی در کد ها بجز در خط اول برنامه وجود ندارد!

پروژه سوم رقص نور در کد ویژن :

در این پروژه از سخت افزار پروژه های قبل استفاده میکنیم و تمایم داریم که 4 LED یکی در میون روشن و خاموش بشن و این عمل هر یک ثانیه تکرار بشه:

تفاوتی در بخش رجیستری با پروژه های قبل نداره به همین خاطر برای کوتاه شدن مطلب فقط کد حلقه while رو مینویسم :

پروژه چهارم رقص نور با atmega32

هدف ما در این پروژه انجام همون پروژه اول هستش با این تفاوت که این بار میخوایم که از حلقه for استفاده کنیم.

حلقه For در C در این مطلب توضیح داده شده ، اگر آشنا نیستید حتما مطالعه کنید.

دستور pow در کدویژن:

در این پروژه از تابع pow هم استفاده میکنیم. این تابع رو میشه با صدا زدن کتابخونه ی math.h استفاده کرد.

این تابع 2 بخش ورودی داره ، رقم اول پایه و رقم دوم مقدار توان عدد هستش.مثلا عدد 2 بتوان 3 به این شکل در میاد و مقدار به دست اومده رو در متغیر a میریزه:

کد پروژه:

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

پروژه چهارم به همراه فایل پروتئوس

روش های زیادی ممکنه به ذهن هرکسی برسه تا این LED هارو به رقص بیاره! خلاقیت به خرج بدید و امتحان کنید 😉

این آموزش بخشی از آموزش جلسه سوم آموزش AVR کدویژن بود که برای طولانی نشدن مطلب قبلی در یک مطلب جداگانه برای شما عزیزان آماده شد.

موفق باشید.

ADS

حمیدرضا مودت

یک مهندس الکترونیک ، علاقه مند به یاد دادن و یاد گرفتن پیرامون دانش برق و الکترونیک

مطالب مرتبط