پروژه اسیلوسکوپ دیجیتال با 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
دانلود پروژه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
پروژه رایگان فرکانس متر دیجیتال 1Hz تا 1GHz با AVR
یکی از نیاز های اصلی علاقه مندان به علم مخابرات و سیستم های بیسیم برد بالا و فرکانس بالا یک فرکانس متر حساس و دقیق است. این ابزار همانند اهم متر نیاز هر فرد علاقه مند به فرستنده های FM و بیسیم های پرقدرت موج متوسط و یا فرکانس بالا می باشد. مداری که ملاحظه می فرمایید یک فرکانس متر فوق العاده دقیق و حساس با 6 رقم اعشار می باشد که از 1 هرتز تا 1 گیگاهرتز را اندازه گیری کرده و قابلیت اتصال به کامپیوتر و نمایش اعداد توسط نرم افزار نوشته شده با ویژوال بیسک 2008 را دارا می باشد. این فرکانس متر با استفاده از آی سی های تقسیم کننده فرکانس (Prescaler) طراحی و ساخته شده است و دارای حساسیت و دقت بالایی می باشد. پروژه مذکور دارای دو Mode برای فرکانس های بالا و پایین بوده و به کمک کلید های کشویی می توان دستگاه را در یکی از دو مد Low Freq یا High Freq قرار داد. در مد Low Freq دامنه اندازه گیری بین 1 هرتز تا حدود 4 مگاهرتز با دقت سه رقم اعشار (0.000) و در مد High Freq دامنه اندازه گیری بین 1 مگاهرتز تا یک گیگاهرتز و با دقت 6 رقم اعشار (0.000000) خواهد بود.
در طراحی این فرکانس متر از 3 آی سی تقسیم فرکانس به نام های SP8704 و 7490 و 7490 استفاده شده است که آی سی اول تا ورودی 1 گیگ را در یافت کرده و فرکانس حاصل را بر 128 تقسیم می نماید و دو آی سی بعدی هر کدام عدد به دست آمده را بر 10 تقسیم می کنند که نتیجه حاصل شده در میکرو در عدد 12800 ضرب می شود و فرکانس واقعی را نمایش می دهد. ورودی این فرکانس متر می تواند سینوسی یا مربعی یا... باشد. در این تصویر نمایی از آی سی SP8704 را می بینید که به صورت SMD بوده و در پشت مدار لحیم شده است.
در تصویر مقابل فرکانس خروجی یک Car MP3 Player که روی 87.5MHz قرار دارد توسط این فرکانس متر اندازه گیری شده و عدد 87.500MHz را نمایش می دهد. خطای 3 رقم بعد مربوط به Car Mp3 می باشد و در مدار فرستنده 16 مگاهرتزی که با کریستال 16.000000MHZ بسته شده بود عدد 16.000000MHZ روی نمایشگر دستگاه مشاهده می شد. زمان مبنای یک ثانیه این فرکانس متر با کریستال 11.0592MHZ به دست آمده و دقت اندازه گیری آن تا میلیونیم اعشار می باشد.
شایان ذکر است که این فرکانس متر قابلیت اتصال به کامپیوتر را داشته و به کمک پورت سریال با نرم افزاری که به وسیله Visual Basic 2008 نوشته شده است ارتباط برقرار می نماید و اعداد و ارقام LCD را بر روی مانیتور نمایش می دهد.
تصویری از فرکانس متر ساخته شده به صورت تجاری:
اهداف:
آموزش کار با تایمرها و کانترها Timer/Counters
آموزش کار با پورت سریال میکرو
آموزش کار با پورت سریال کامپیوتر در محیط ویژوال بیسیک 2008
مشخصات پروژه:
سورس: Bascom
میکرو: ATmega8
دانلود پروژه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(1.13MB)
پروژه Wave Player با AVR و پشتیبانی از FAT16 و FAT32
این پروژه قادر به پخش فایلهای صوتی Wave با فرمت 22.050kHz و 8bit و Mono از روی مموری کارت های SD/MMC می باشد. این پروژه از هر دو نوع FAT16 و FAT32 پشتیبانی می کند و طرز کار آن بدین صورت است که در ابتدا بایستی مموری را Format نمایید؛ سپس یک فایل Notepad با نام دلخواه (انگلیسی) در کامپیوتر ایجاد کرده و داخل آن عبارت F1 را تایپ نمایید و پس از ذخیره سازی آن را داخل مموری کپی کنید. بلافاصله فایل یا فایل های Wave تبدیل شده به فرمت مذکور را داخل رم کپی نمایید. ترتیب این عملیات فوق العاده مهم بوده و در غیر این صورت Memory توسط میکرو شناسایی نمی شود. سپس رم را به دستگاه متصل کرده و تغذیه را وصل نمایید. طبق برنامه نوشته شده ابتدا مموری Init شده و سپس از سکتور 0 شروع به جستجوی جدول تخصیص فایل می نماید. با توجه به اینکه کاراکتر چهارم به بعد سکتور FAT حاوی عبارت MSDOS5.0 می باشد وجود کاراکتر M مورد بررسی قرار می گیرد و در صورتی که پیدا شد کاراکتر های 55 تا 59 و 83 تا 87 همان سکتور در بافری به نام FAT ذخیره می گردند. در صورتی که رم با FAT16 فرمت شده باشد محتوی کاراکتر های 55 تا 59 برابر با رشته FAT16 و در غیر این صورت محتوی کاراکتر های 83 تا 87 برابر با FAT32 خواهد بود.این مقادیر تشخیص داده شده و بر روی LCD نشان داده می شوند. سپس عبارت F1 که در فایل نوت پد قرار داده شده بود (اولین فایل مموری) بررسی می شود و آدرس سکتوری که محتوی اولین فایل باشد به عنوان آدرس شروع فایل ها در متغیر Firstaddr قرار می گیرد . با فراخوانی سابروتین Menu سکتور ها بایت به بایت خوانده شده و با توجه به اینکه فرمت Wave مورد نظر 8 بیت Mono می باشد هر بایت اطلاعات یک لحظه از یک کانال صدا را در خود جای داده است که طبق برنامه به PWM ارسال شده و تبدیل به صدا می شود.
توجه داشته باشید که دستورات Copy و Paste و Delete باعث تداخل در آدرس فایل ها شده واحتمالاً نتایج غیر قابل انتظاری را در پیش خواهند داشت (از قبیل پخش فایل های Delete شده توسط دستگاه). بنابراین برای افزودن یا حذف فایل بایستی مموری را مجدداً فرمت کرده و کار های ذکر شده را به ترتیب انجام دهید. در کل با توجه به اینکه این برنامه به طور کامل از جدول FAT استفاده نمی کند هر گونه ویرایشی در مموری سبب جابجا شدن اطلاعات شده و باعث از بین رفتن آدرس های پیش فرض می شود.
اهداف:
آموزش ارتباط SD/MMC با AVR
آموزش کار با جدول تخصیص فایل (FAT)
آموزش کار با فایل های صوتی Wave
مشخصات پروژه:
سورس: Bascom
میکرو: ATmega8
مشخصات پروژه:
سورس: Bascom
میکرو: ATmega8
دانلود پروژه:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
(626KB)
متاسفانه مشاهده شده که نیمی از عزیزان برنامه Wave Converter را دانلود نمی کنند! توجه داشته باشید که این پروژه فقط آهنگ های تبدیل شده به فرمت 22.050kHz و 8bit و Mono را پخش می کند و فایل های Wave معمولی را اجرا نخواهد کرد، مگر با کیفیت بد. برای تبدیل انواع فرمت ها به فرمت یاد شده می توانید از این برنامه رایگان استفاده نمایید.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]