طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این مدار یک کنترلر زمانی و دمایی می باشد، که بر اساس برنامه ریزی دلخواه توسط کاربر یک رله خروجی را کنترل می نمایید. با اتصال لامپ فلورسنت مرغوب به رله دستگاه می توانید لامپ را تحت کنترل داشته باشید.این پروژه یک فرستنده گیرنده رادیویی با برد 100 تا 200 می باشد، که قابلیت کنترل 20 کانال مجزا به همراه کنترل سرعت موتور DC را دارد. از ماژول HMT و HMR و 20 عدد دیپ سوئیچ و درایور L298N برای موتور استفاده شده است.اندازه گیری ظرفیت خازن از 1pF تا 1uF، سلف از 1nH تا 1H و فرکانس از 1Hz تا 4MHz تنها با یک میکرو سوئیچ و همچنین کلیدی برای کالیبراسیون اتوماتیک.کنترل زاویه ای 0 تا 180 درجه؛ قابلیت تعریف بیش 100 برنامه مجزا توسط کاربر؛ تعیین زاویه برای هر پله حرکت سروو موتور؛ تعیین سرعت حرکت سروو موتور؛ تعیین مدت زمان کارکرد در هر برنامه از 1 تا 255 دقیقه. منوی کاربری بسیار آسان برای تعریف برنامه ها.این پروژه در اصل یک قفل امنیتی است که می توان جلوی درب اصلی منزل (در کنار آیفون) آن را نصب کرد. از امکانات آن می توان به موارد زیر اشاره نمود: نمایش دما از 125 تا 55- درجه سانتیگراد، نمایش ساعت دقیق، نمایش تاریخ شمسی همراه با روز هفته به صورت فارسی، نمایش تعداد فرصت های باقیمانده برای وارد کردن رمز صحیح، و قفل شدن سیستم به مدت 15 دقیقه در صورتی که 4 بار رمز اشتباه وارد شود. امکان تغییر رمز و تنظیم کردن ساعت و تاریج و ...
پروژه مدار دستگاه فتوتراپی (پایین آورنده زردی خون نوزادان)

MCP-24

پروژه مدار دستگاه فتوتراپی (پایین آورنده زردی خون نوزادان)
پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr

MCP-10

پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr
پروژه خازن سنج و سلف سنج-LC متر با avr

MCP-14

پروژه خازن سنج و سلف سنج-LC متر با avr
پروژه کنترل سروو موتور از 0 تا 180 درجه با avr

MCP-2

پروژه کنترل سروو موتور از 0 تا 180 درجه با avr
پروژه دربازکن الکترونیکی خانه قفل رمز با avr

MCP-5

پروژه دربازکن الکترونیکی خانه قفل رمز با avr

شمارنده دو رقمی با سون سگمنت Atmel Studio

www.picpars.com شمارنده دو رقمی با سون سگمنت Atmel Studio 374

در این مثال می خواهیم یک شمارنده دو رقمی بالا شمار طراحی کنیم. متغییر counter به عنوان شمارنده در حلقه تکرار به صورت افزایشی مقدار آن تغییر می­کند. در تابع main دو پورت D و C به صورت خروجی تعریف می­شوند و در حلقه تکرار مقدار متغییر counter به دو رقم کم ارزش و با ارزش شکسته شده و سپس در اشاره گر آرایه قرار می­گیرد و کد متناظر با آن عدد از آرایه استخراج و روی پورت قرار می­گیرد.

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


همانطور که می­دانیم اگر یک عدد دو رقمی را بر 10 تقسیم کنیم در خارج قسمت مقدار با ارزش عدد را خواهیم داشت و در باقیماند مقدار کم ارزش را داریم، که در اینجا با کمک دستور / تقسیم و % باقیمانده این کار را انجام می­دهیم. شرطی هم برای جلوگیری از سرریز برقرار می­کنیم تا اگر شمارنده بزرگتر از 99 شد ریست شود. تاخیر هم سرعت شمارش را تعیین می­کند که در اینجا 100 میلی ثانیه می باشد.

#include <avr/io.h>
#define F_CPU 1000000
#include <util/delay.h>

unsigned char counter,cathode_seg[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
    
int main(void)
{
     PORTD=0x00;
    DDRD=0xFF;
    PORTC=0x00;
    DDRC=0xFF;
    
    while(1)
    {
        PORTC=cathode_seg[counter/10];
        PORTD=cathode_seg[counter%10];
        counter++;
        if(counter>99) counter=0;
        _delay_ms(100);
    }
}

  منبع: www.picpars.com

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




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

برچسب ها:
تاریخ ارسال يكشنبه، 30 آذر ماه، 1393    نویسندهنویسنده: مدیریت    نظرات 0 نظر    بازدید بازدید [ 10249 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان