طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود.ماشین حساب مهندسی ساده با قابلیت دریافت اعداد اعشاری و محاسبه توابع مثلثاتی به همراه سایر توابع توسط یک صفحه کلید 4*4این پروژه یک مدار واسط I/O می باشد که دارای 12 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر 12 رله را به صورت مجزا فعال و غیر فعال کرد.این پروژه یک مدار فرستنده و گیرنده رادیویی در باند 2.4GHz می باشد. در بخش فرستنده جریان برق ورودی تا 50 آمپر اندازه گیری شده و به صورت بی سیم برای گیرنده در نقطه ای دیگر ارسال می شود.

اندازه گیری ضربان قلب توسط تمامی انگشتان دست. نمایش بر روی سون سگمنت سه رقمی LED. ذخیره ضربان های اندازه گیری شده تا 250 مورد. نمایش اندازه گیری های ثبت شده توسط کلید های Up و down
پروژه محافظ لوازم برقی با avr و نمایشگر سون سگمنت

MCP-21

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

MCP-28

ماشین حساب مهندسی ساده
پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله

MCP-39

پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله
پروژه اندازه گیری جریان و ارسال بیسیم با بورد یک کیلومتر nRF24l01

MCP-44

پروژه اندازه گیری جریان و ارسال بیسیم با بورد یک کیلومتر nRF24l01
پروژه اندازه گیری ضربان قلب با نوک انگشتان و avr

MCP-17

پروژه اندازه گیری ضربان قلب با نوک انگشتان و avr

آموزش AVR به زبان سی

متغیرها، آرایه ها، رشته ها و مقدار دهی در زبان C

در مورخه : چهارشنبه، 21 بهمن ماه، 1388 موضوع : آموزش AVR سی C

انواع داده ها (متغیر یا همون ثبات ها):
Type                            Size (Bits)                    Range
 
Bit                                1                                   0 , 1
char                             8                                  -128 to 127
unsigned char              8                                  0 to 255
signed char                  8                                  -128 to 127
int                                16                                -32768 to 32767
short int                       16                                 -32768 to 32767
unsigned int                 16                                0 to 65535
signed int                     16                                -32768 to 32767
long int                        32                                -2147483648 to 2147483647
unsigned long int         32                                0 to 4294967295
signed long int             32                                -2147483648 to 2147483647
float                             32                                ±1.175e-38 to ±3.402e38
double                         32                                ±1.175e-38 to ±3.402e38
 
برای تعریف یک متغیر ابتدا نوع داده (Type) و سپس نام متغیر را می نویسیم:
 متغیر ali از نوع bit بیت Bit ali; //
متغیر ali از نوع char و 8 بیتی است char ali; //
بعد از تعریف نام متغیر حتما علامت ; را باید قرار داد. برای مقدار دهی اولیه یک متغیر به دو صورت می تونم این کار رو انجام بدیم.


 بیشتر

پروگرامر USB برای میکروکنترلرهای AVR نسخه 2011-05-28

در مورخه : سه شنبه، 11 اسفند ماه، 1388 موضوع : پروگرامرهای AVR

پروگرامر USBasp یکی از پروگرامرهای پرسرعت و ساده و پیشرفته می باشد. این پروگرامر مدل های بسیار زیادی از میکرو کنترلرهای AVR از جمله سری ATTINY و ATMEGA و کلاسیک را پشتیبانی میکند. از مزایای آن می توان به سرعت بسیار بالای آن که حدود 5 کیلوبایت بر ثانیه است اشاره کرد و کوچک بودن و کم حجم بودن سخت افزار آن از دیگر مزایای آن می باشد. اندازه آن 6×6 سانتی متر می باشد و از قطعات بسیار ساده استفاده شده که در بازار فراوان است. مزیت مهم دیگر آن این است که از چیپ راه انداز برای پورت USB در آن استفاده نشده یعنی اینکه خود میکرو هم به عنوان راه انداز و هم به عنوان رابط استفاده شده.
طراحی سخت افزار و firmware و win-driver آن توسط یک سایت آلمانی انجام شده و نرم افزار آن جهت کار کردن با این پروگرامر را یک ایرانی به نام بهزاد خزما طراحی کرده که واقعا دستش درد نکنه.



 بیشتر

انواع حلقه های for و while قسمت 3

در مورخه : سه شنبه، 11 اسفند ماه، 1388 موضوع : آموزش AVR سی C

دستورات ایجاد حلقه

ایجاد حلقه به کمک for

حلقه یعنی چه؟ حلقه یعنی یک مسیر بسته ای که CPU بطور مداوم دستورات داخل آن را اجرا می کند! (البته به نوع حلقه و شرط حلقه هم بستگی داره که میگیم)
در اینجا ما ابتدا حلقه for رو میگیم و اصول کار و برنامه نویسی اون رو توضیح میدیم. مثال:

Int a;
For (a=0; a<19; a++){
PORTD=0x00;
Wait_ms(300);
PORTD=0xff;
Wait_ms(300);
}


 بیشتر