طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
خروجی سه کاناله با کنترل سرعت به صورت مجزا، دو کلید افزایشی و کاهشی برای کنترل سرعت در هر کانال، فرکانس های مختلف و ثابت برای هر کانال، جریان خروجی بیش از 10 آمپر و ولتاژ بیش از 30 ولتبا استفاده از میکروکنترلر ATMEGA8 و کیبورد 3×4 می توان حروف و اعداد را تایپ کرد و درون یک متغییر ذخیره نمود و محتوای این متغییر بر روی نمایشگر LCD نمایش داده می شود. در صورتی که فضای LCD پر شود کاراکترها به سمت چپ شیفت داده می شوند. تمامی حروف و اعداد کوچک و بزرگ انگلیسی قابل تایپ می باشند.ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.این پروژه یک مدار واسط I/O می باشد که دارای 4 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر چهار رله را به صورت مجزا فعال و غیر فعال کرد.ورودی این فرکانس متر قادر است با ولتاژهای 12 تا 500 ولت AC کار کند. ماکزیمم فرکانس اندازه گیری 20KHz می باشد. همچنین با تعیین نرخ نمونه برداری می توانید فرکانس را تا دو رقم اعشار اندازه گیری نمائید.
پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr

MCP-19

پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr
پروژه تایپ حروف و اعداد با کیبورد 3.4 به زبان سی با avr

MCP-3

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

MCP-13

پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
پروژه کنترل رله توسط پورت USB با AVR و C شارپ

MCP-31

پروژه کنترل رله توسط پورت USB با AVR و C شارپ
پروژه فرکانس متر صنعتی 500 ولت 20KHz با avr

MCP-1

پروژه فرکانس متر صنعتی 500 ولت 20KHz با avr

avr

آموزش ميكرو كنترلر AVR به زبان بيسيك (قسمت اول)

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

براي آموزش اين ميكرو از كامپايلر BASCOM و پروتيوس 7.2 استفاده مي كنيم.
زبان بيسك يك زبان راحت و سريع مي باشد يعني اينكه آنچه شما بر زبان مي آوريد رو اگر درقالب دستورات بيسكام بنويسيد اون كاري كه شما از ميكرو مي خواهيد رو براي شما انجام مي دهد. اكثر دستورات بيسكام يك واژه معني دار انگليسي مي باشد كه اگر معني اونا رو بدونيد ديگه دستورات براي همشه تو ذهن شما مي ماند.
ابتدا دستوراتي كه براي شروع يك برنامه لازم است بدانيم را توضيح مي دهيم:
معرفي ميكرو:


 بیشتر

آموزش ميكرو كنترلر AVR به زبان بيسيك (قسمت دوم)

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

دستورات حلقه
دستور Do-Loop
اين دستور يه حلقه بينهايت ايجاد مي كند كه شما مي توانيد دستورات خودتان را دراين حلقه بنويسيد تا مدام توسط CPU تكرار شود. به عنوان مثال شما مي خواهيد كه يكي از بيت هاي پورت D به صورت يك چشكا زن عمل كنه و تا بي نهايت اين كار رو انجام بده كه برنامه رو به اين صورت مي نويسيم:
$regfile "m16def.dat"
$crystal=8000000
Config portd.0=output
 شروع حلقه    DO      "
Set portd.0 "portd.0 = 1
يك ثانيه تاخيرWait 1 "
Reset portd.0   "portd.0= 0
Wait 1
 پايان حلقه    Loop        "
 
End
در مثال بالا ميكرو تا ابد اين چند تا دستور رو انجام ميده و ديگه از اين حلقه هم بيرون نمياد!
البته در همين مثال شما مي توانستيد يك شرط بين دستورات بنويسيد تا ميكرو بتونه از اين حلقه بيرون بياد. مثلا يك ليد به ميكرو وصل كرده باشد و حالا اين كليد رو به صورت شرط درون اين حلقه مي نويسد. كه دستورات شرطي را در ادامه خواهيم گفت.


 بیشتر

آموزش ميكرو كنترلر AVR به زبان بيسيك (قسمت سوم)

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

در اين قسمت آموزشي به تشريح دستور CASE و زير برنامه ها و نحوي فراخواني آنها مي پردازيم.
دستور العمل CASE :
به كمك اين دستور شما مي تواند محتواي يك متغيير را نسبت به يك بازه عددي انتخاب كنيد و سپس براي اين بازه ها زير برنامه بنويسيد تا ميكرو اين برنامه ها را نسبت به محدوده بازه و متغيير انجام بده.
ساده تر ميگيم: به عنوان مثال شما يك برنامه دماسنج مي خواهيد بنويسيد. بعد از اندازه گيري دما شما مي خواهيد به ميكرو بگيد كه اگر دما از 0 تا 20 درجه بود فلان كار رو انجام بده و اگر دما از 21 تا 30 بود فلان كار رو انجام بده و اگر دما از 31 تا 40 بود فلان كار رو انجام بده. به همين سادگي شما مي توانيد به ميكرو فرمان بدهيد كه اگر دما در اين بازه بود اين كار رو انجام بده.
همين توضيحات رو به كمك اين دستور به صورت برنامه مي نويسيم:
Regfile="m8def.dat"
Crystal=8000000
Dim t as byte


 بیشتر