پروژه اسیلوسکوپ دیجیتال با AVR
این پروژه یک اسیلوسکوپ دیجیتال با میکروکنترلر ATmega16 و LCD گرافیکی می باشد که تمام مشخصات اسیلوسکوپ های حرفه ای را دارا است، مشخصاتی از قبیل Vertical، Horizontal تنظیم دامنه، Sweep، فیکس کردن صفحه (حافظه) و غیره. فرکانس کاری این اسیلوسکوپ با توجه به فرکانس نمونه برداری A2D در حد کیلوهرتز می باشد و از A2D به عنوان ورودی مدار استفاده شده است. عملکرد مدار بدین صورت است که در ابتدا A2D کانال 0 اسکن شده و عدد حاصل که می تواند بین 0 تا 1023 باشد بر 16 تقسیم می شود تا به عددی بین 0 تا 63 تبدیل شود (عرض LCD)، سپس عدد به دست آمده از 64 کم می شود تا به صورت معکوس در آمده و با توجه به اینکه LCD گرافیکی در ربع چهارم محور مختصات قرار گرفته است گوشه سمت چپ بالا بیانگر عدد 0 بوده و شماره پیکسل ها به سمت راست و پایین رشد می کند، برای اینکه نمودار رسم شده منطقی بوده و با افزایش ولتاژ به سمت بالا میل کند مجبور به معکوس کردن عدد دریافتی می باشیم و با دستور Pset در هر لحظه از سمت چپ به راست صفحه را اسکن می کنیم (از پیکسل 0 تا 127 طول صفحه و محور X). عرض این نقطه نیز همان عدد دریافتی از پورت می باشد که در هر لحظه از زمان اسکن، موقعیت عرضی پیکسل را روی محور Yها تعیین می کند. نتیجه کار یک منحنی (با توجه به شکل موج ورودی) خواهد بود که بر روی Data Grid نمایش داده شده در صفحه که یک طرح مشبک بوده و در واقع یک عکس Bgf می باشد ترسیم می شود.
اهداف:
آموزش کار با LCD گرافیکی
آموزش کار با مبدل آنالوگ به دیجیتال A2D
مشخصات پروژه:
سورس: Bascom
میکرو: ATmega16
دانلود پروژه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(558KB)
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
پروژه رسم نمودار متحرک بر روی LCD گرافیکی
در این پروژه با شیوه کد نویسی برای رسم نمودار بر روی LCD گرافیکی آشنا می شوید. در اینجا از آرایه ها برای ذخیره سازی و نمونه برداری استفاده شده و از مبدل آنالوگ به دیجیتال ADC0 میکرو برای ورودی تغییرات بهره گرفته شده است. در این پروژه که می توان از آن برای رسم تغییرات دما، ولتاژ، رطوبت و... استفاده کرد اعداد Scan شده در فواصل زمانی مشخص در یک آرایه ذخیره می شوند و سپس محتویات آرایه از سمت راست به چپ Update شده و در بافری که برای صفحه نمایش در نظر گرفته شده ذخیره می شود. در نهایت محتویات بافر در فواصل زمانی مشخص بر روی LCD نمایش داده می شود که سبب حرکت نمودار به طور مرتب به سمت چپ می گردد.
لازم به ذکر است که LCD گرافیکی به کار رفته در این پروژه نیز همانند پروژه اسیلوسکوپ دیجتال از نوع TS12864A-2 می باشد که تصویر آن را در زیر مشاهده می فرمایید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(542KB)
پروژه ساعت دیجیتال با AVR
این پروژه ساده ترین ساعت ممکن با میکروکنترلر ATmega8L می باشد. در این پروژه از RTC داخلی میکرو استفاده شده و تغذیه آن 3 ولت است که به وسیله دو عدد باتری قلمی تامین می شود. توجه داشته باشید که میکروکنترلر این پروژه از نوع L انتخاب شود، چرا که این نوع میکرو Low Voltage بوده و با تغذیه 3 تا 5 ولت به خوبی کار می کند. برای نمایش اعداد این ساعت از یک سون سگمنت مالتی پلکس استفاده شده است و با بررسی سورس آن طرز کار این نوع سگمنت ها را به خوبی یاد گرفته و قادر خواهید بود از آنها در سایر پروژه های خود استفاده نمایید. مزایای این سگمنت ها قیمت پایین و وضوح بالا بخصوص برای محیط های با روشنایی کم است. برای تنظیم این ساعت از دو کلید فشاری کوچک بهره گرفته شده است که یکی برای تنظیم دقیقه و دیگری برای تنظیم ساعت به کار می رود. این ساعت به دلیل استفاده از RTC داخلی میکرو فوق العاده دقیق بوده و جریان مصرفی آن از یک دیود LED کمتر می باشد.
اهداف:
آموزش کار با RTC داخلی میکرو
آموزش راه اندازی نمایشگر های سون سگمنت مالتی پلکس
مشخصات پروژه:
سورس: Bascom
میکرو: ATmega8L
دانلود پروژه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]