طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
در صورتی که برق شهر از حداقل تعریف شده کمتر، یا از حداکثر بیشتر شود رله خروجی قطع خواهد شد و از طریق بازر بوق هشدار پخش می شود. ولتاژ فعلی، زمان باقیمانده تا اتصال رله و پیغام ها روی نمایشگر نشان داده می شود.با استفاده از میکروکنترلر ATMEGA8 و کیبورد 3×4 می توان حروف و اعداد را تایپ کرد و درون یک متغییر ذخیره نمود و محتوای این متغییر بر روی نمایشگر LCD نمایش داده می شود. در صورتی که فضای LCD پر شود کاراکترها به سمت چپ شیفت داده می شوند. تمامی حروف و اعداد کوچک و بزرگ انگلیسی قابل تایپ می باشند.اندازه گیری ظرفیت خازن از 1pF تا 1uF، سلف از 1nH تا 1H و فرکانس از 1Hz تا 4MHz تنها با یک میکرو سوئیچ و همچنین کلیدی برای کالیبراسیون اتوماتیک.در این پروژه با استفاده از یک ساعت نجومی و محاسبات ریاضی، دو عدد سروو موتور یکی در جهت XY و دیگری در جهت Z پنل خورشیدی را به صورت اتوماتیک در موقیعتی قرار می دهید که بیشترین تابش خورشید را دریافت کند.این پروژه در اصل یک شمارنده می باشد که می توان عبور مرور افراد از یک گیت را شمارش کرد، شمارنده هم می تواند به صورت بالا شمار و هم پایین شمار کار کند. همچنین توسط شدت نور یک عدد LED می‌توان سنسور فرستنده و گیرنده را در یک راستای مستقیم تنظیم کرد. سنسورها ار نوع مادون قرمز با برد تقریبی 120cm می باشد.
پروژه محافظ لوازم برقی با avr و نمایشگر LCD

MCP-23

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

MCP-3

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

MCP-14

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

MCP-25

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

MCP-6

پروژه شمارش افراد با سنسور مادون قرمز و avr

تابع

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

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

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


 بیشتر

توابع در زبان سی C قسمت 5

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

هر برنامه به زبان C مجموعه ای از یک یا چندین تابع است که یکی از آنها تابع اصلی بنام ()main است، مابقی توابع از داخل این تابع اصلی فراخوانی می شوند. تابع در واقع یک زیر برنامه است که توسط برنامه نویس برای انجام کارهای خاص نوشته و فراخوانی می شود. به طور کلی توابع به دو دسته تقسیم می شوند:

  1. توابع از پیش تعریف شده که به آنها توابع کتابخانه ای گفته می شود مانند توابع (sin(x و (cos(x و ...
  2. توابعی که توسط خود ما تعریف می شودند که ادامه به آن خواهیم پرداخت.

در اینجا ما نوع دوم را توضیح می د هیم. در کل این گونه توابع دو حالت دارند یکی اینکه مقدار برگشتی دارند و دیگری مقدار برگشتی ندارند. مقدار برگشی یعنی چی؟



 بیشتر

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

در مورخه : سه شنبه، 19 بهمن ماه، 1389 موضوع : پروژه‌های AVR سی C

همانطور که قول داده بودم یه ماشین حساب ساده به زبان سی C با میکروکنترلر AVR و کامپایلر CodeVisionAVR V2.04.4a نوشتم نسبت به زبان بیسیک کمی پیچیده و بیشتر شده اما من طوری نوشتم که اگر از خط اول شروع به خوندن کنید تا آخر متوجه خواهید شد که من چه کردم. این ماشین حساب قادر است است تا عملیات های (OP) جمع، ضرب، تقسیم، تفریق، جذر و درصد را انجام دهید همچنین دارای یک حافظه برای ذخیره کردن جواب می باشد و یک کلید برای پاک کردن این حافظه و کلید On/c برای صفر کردن ماشین حساب.



 بیشتر