پروژه های جدید برد XMEGA:

دماسنج با DS18b20:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

دماسنج با LM35:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

اتصال Shaft Encoder به برد آموزشی و نمایش شمارنده روی 7segment:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود


نمایش کاراکترهای فارسی و لاتین روی LCD کاراکتری:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

نمایش مقادیر اندازه گیری شده 4 کانال به روش sweep روی LCD کاراکتری:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

نمایش مقدار متوسط ADC روی 7segment:
 زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

 دانلود


تولید PWM سینوسی سه فاز با فرکانس 50 هرتز و اضافه کردن Dead time:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

تولید فرکانس متغیر با تایمر با قابلیت تنظیم توسط صفحه کلید:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

اتصال LCD گرافیکی با کنترلر KS0108 به برد آموزشی و نمایش متن و شکل:
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

اتصال برد آموزشی به کامپیوتر از طریق پورت RS232 و نمایش کاراکترهای دریافتی روی LCD: در این پروژه، برد آموزشی از طریق پورت RS232 به کامپیوتر متصل می شود و با اجرای نرم افزار Hyper Terminal و مشابه آن، کاراکترهای تایپ شده با صفحه کلید ماتریسی برد برای PC ارسال می شود و کاراکترهای تایپ شده توسط صفحه کلید کامپیوتر، روی LCD کاراکتری متصل به برد نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

تولید موج سینوسی با DAC: در این پروژه روی دو کانال خروجی DACB، دو شکل موج سینوسی با فرکانس های مختلف تولید می شود. امکان اتصال اسپیکر کامپیوتر به خروجی تعبیه شده روی برد آموزشی و شنیدن صدای تولید شده وجود دارد.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

اتصال کیبورد ps2 به برد آموزشی و نمایش کاراکترها روی LCD: با اتصال کیبورد کامپیوتر به ورودی ps2 برد آموزشی، امکان تایپ و پاک کردن کاراکترهای مختلف روی LCD کاراکتری از طریق کیبرد فراهم می شود.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

اتصال پتانسیومتر و
نمایش مقدار ADC روی 7segment:
در این پروژه با استفاده از امکانات برد آموزشی، یک ولتاژ قابل تنظیم از طریق پتانسیومتر موجود روی برد ایجاد می شود و مقدار معادل خروجی ADC روی 7segment ها نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

ساعت قابل تنظیم با DS1307: در این پروژه با استفاده از امکانات برد آموزشی، یک ساعت قابل تنظیم روی LCD کاراکتری پیاده سازی شده است.
زبان برنامه نویسی: C
کامپایلر: AtmelStudio6

دانلود

پروژه های قدیمی برد XMEGA:


فیلم پیاده سازی ارگ الکترونیک با XMEGA

فیلم پیاده سازی اینورتر سه فاز با XMEGA

 ساعت: دو پروژه با کامپایلر IAR که با روش های مختلف روی 6 عدد 7segment برد آموزشی، یک ساعت را پیاده سازی می کنند.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود پروژه 1
دانلود پروژه 2

* * *
شمارنده: در این پروژه لبه پائین رونده پالس ورودی به PC0 سبب افزایش ارقام شمارنده می شود. سطح Low اعمال شده به PC1 سبب صفر شدن ارقام نمایش داده خواهد شد.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
دماسنج: در این پروژه از طریق فعال سازی سنسور دمای داخلی XMEGA، دما روی 7segment های برد نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود


* * *
فرکانس متر: در این پروژه از طریق اتصال یک LCD کاراکتری به کانکتور مخصوص این LCD در برد و اعمال پالس به ورودی PC2، فرکانس پالس ورودی محاسبه و روی LCD نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *

تولید PWM با Duty cycle قابل تنظیم: برای مقاصدی مانند تغییر دور یک موتور DC، به تولید سیگنال PWM با Duty cycle متغیر نیاز وجود دارد. در این پروژه از طریق دو کلید در برد آموزشی که به عنوان Up و Down تعریف شده اند، مقدار متناظر Compare value قابل تنظیم و نمایش روی 7segment های برد می باشد و از طریق کلید دیگری که به عنوان Start/Stop تعریف شده، خروجی PWM قابلیت فعال و غیرفعال شدن دارد.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
اتصال Shaft encoder به برد آموزشی: دراین پروژه با اتصال فازهای خزوجی یک Shaft encoder با دقت 5000 پالس در دور (که عملا 20000 مکان مجزا قابل آشکار سازی است) به ورودی های PC5 و PC6، مقدار جاری تایمر داخلی روی Seven segment های برد آموزشی نمایش داده می شود. فشار دادن هر یک از کلیدهای موجود روی برد سبب ریست شدن مقدار نمایش داده شده خواهد شد. لازم به ذکر است که افزایش و کاهش مقدار تایمر داخلی و به تبع آن مقدار نمایش داده شده، با تنظیم Event system بصورت سخت افزاری انجام می شود.
زبان برنامه نویسی: C
کامپایلر: IAR
دانلود

* * *

اتصال EEPROM های سری AT24Cxx به برد آموزشی: دراین پروژه، اعداد تایپ شده توسط صفحه کلید برد روی seven segment ها نمایش داده می شوند و با فشار دادن کلید واقع در سطر سوم و ستون چهارم صفحه کلید، در حافظه EEPROM سریال موجود روی برد ذخیره می شوند. فشار دادن کلید واقع در سطر سوم و ستون سوم، موجب فراخوانی مقادیر ذخیره شده از حافظه و نمایش آن خواهد شد.
زبان برنامه نویسی: C
کامپایلر: IAR
دانلود

* * *
مولد فرکانس: در این پروژه روی خروجی PC2، موج مربعی با فرکانس در محدوده 1 تا 100 هرتز و با پله 1 هرتز تولید می شود. کلید های Up و Down برای تغییر فرکانس موج و کلید Start/Stop برای فعال و غیرفعال کردن خروجی روی کلیدهای برد آموزشی تعریف شده اند. لازم به ذکر است که قابلیت توسعه عملکرد خروجی از نظر محدوده و پله های فرکانس وجود دارد و این پروژه تنها به عنوان مثالی در این جهت ارائه شده است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
ارتباط برد آموزشی با کامپیوتر و نمایش دما از طریق نرم افزار Visual Basic 6.0: در این پروژه از طریق برقراری ارتباط با پورت سریال کامپیوتر، دمای اندازه گیری شده توسط سنسور دمای داخلی روی صفحه مانیتور نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
کتابخانه FATFS برای اتصال mmc/SDC/SDHC به XMEGA: در این پروژه با تغییر کتابخانه FATFS که توسط آقای Chan در سایت elm-chan.org قرار داده شده، امکان ارتباط با mmc/SDC/SDHC از طریق برد آموزشی فراهم گردیده است. با اتصال یک LCD کاراکتری 4 در 20 به برد و هر نوع mmc یا SDC به سوکت تعبیه شده در برد و بعد از Reset، در ابتدا نوع حافظه شناسایی شده و روی LCD نمایش داده می شود. در مرحله بعد یک فایل txt ایجاد می شود و اطلاعاتی روی آن نوشته می شود. در نهایت هم اطلاعات خوانده شده از mmc روی LCD نمایش داده می شود. در این پروژه از نسخه جدید کتابخانه LCD کاراکتری استفاده شده است. این پروژه در سایت avrfreaks.net هم قرار داده شده است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
اکوی دیجیتال: در این پروژه از طریق اتصال خروجی تقویت شده یک میکروفن خازنی به ورودی ADC، عملیات ایجاد تاخیر در صوت و پیاده سازی یک اکوی دیجیتال با اعمال خروجی DAC به اسپیکر کامپیوتر انجام شده است. شماتیک مدار لازم برای تطبیق خروجی میکروفن برای اعمال به ADC در پروژه وجود دارد. برای بخش آنالوگ از یک تقویت کننده عملیاتی LM358 با دو opamp داخلی استفاده شده که بجای آن می توان از LM324 هم استفاده کرد. لازم به ذکر است که تقویت کننده های مورد استفاده به منظور سادگی و سهولت در پیاده سازی پروژه به این شکل طراحی شده اند و برای رسیدن به کیفیت های بالاتر صوتی، مدارات تقویت کننده پیچیده تر و کاملتر و همچنین بالابردن فرکانس نمونه برداری و استفاده از حافظه خارجی مورد نیاز است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *

تولید ملودی: در این پروژه روی خروجی PC7 ملودی مارش ترک اثر ولفگانگ آمادئوس موتسارت بصورت پالس های مربعی با عرض متغیر تولید می شود. برای شنیدن صدای ملودی می توان PC7 را از طریق یک بافر به بلندگو و یا بصورت مستقیم به اسپیکر کامپیوتر متصل کرد. لازم به یادآوری است که به دلیل عدم استفاده از قابلیت Waveform generation در این پروژه و تولید شکل موج بصورت نرم افزاری، از هر پین خروجی دیگری هم می توان (با تغییر جزئی در کد) برای تولید ملودی استفاده کرد. این پروژه در سایت avrfreaks.net هم قرار داده شده است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
نمایش متن روی اسیلوسکوپ: نمایش تصاویر مختلف روی اسیلوسکوپ از پروژه های جالب و چالش برانگیز در ارتباط با میکروکنترلرهاست که نمونه هایی از آن هم در اینترنت وجود دارد. در این پروژه که برای ایجاد سرعت هرچه بیشتر با زبان اسمبلی نوشته شده، از طریق ایجاد خروجی های لازم روی خروجی های DACB.CH0 و DACB.CH1 یک متن با 256 کاراکتر و فونت های 8X8 روی اسیلوسکوپ نمایش داده می شود. به این منظور باید اسیلوسکوپ در مد Lissajous Pattern قرار داده شود و دو کانال آن به دو خروجی DACB متصل شوند. نمونه ایجاد شده روی اسیلوسکوپ در شکل زیر نمایش داده شده است:



این پروژه قبلا در سایت AVRFreaks قرار داده شده است.
زبان برنامه نویسی: اسمبلی تحت AVRStudio4

دانلود

* * *
اعمال خروجی ADC به DAC با DMA: برای پیاده سازی نحوه کار با DMA، در این پروژه اطلاعات خروجی ADC بصورت مستقیم توسط DMA به DAC اعمال می شود. در صورت استفاده از سخت افزار موجود در پروژه اکوی دیجیتال، صوت خروجی ناشی از میکروفن بصورت مستقیم روی بلندگو پخش خواهد شد.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

* * *
اتصال دوربین OV7670 به LCD موبایل: در این پروژه اطلاعات یک دوربین با سنسور OV7670 روی LCD موبایل با کنترل کننده ILI9325 نمایش داده می شود. نمایی از عملکرد این پروژه در شکل زیر نمایش داده شده است.
زبان برنامه نویسی: C
کامپایلر: IAR

سورس پروژه
 شماتیک



کتابخانه LCD گرافیکی با کنترل کننده KS0108: این کتابخانه با تغییر سورس کتابخانه نوشته شده توسط آقای Fabian Maximilian Thiele برای تطبیق با XMEGA و کامپایلر IAR تغییر داده شده است. از جمله امکانات این کتابخانه، امکان رسم نقطه، خط، مستطیل، چهار ضلعی با گوشه های گرد، دایره و نوشتن متن با فونت انتخاب شده است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

نسخه جدید کتابخانه LCD کاراکتری با کنترل کننده HD44780: این کتابخانه قبلا در سورس پروژه FAT آورده شده بود که در نسخه جدید، امکان تعریف 9 سایز LCD در متن کتابخانه فراهم شده و تابع جدیدی هم به کتابخانه اضافه شده است. همچنین در سورس برنامه برای نمایش نحوه نمایش کاراکترهای فارسی، اعداد 2354 بصورت فارسی تعریف و نمایش داده شده اند. سایز LCD متصل به برد در این سورس 20x4 فرض شده که از طریق تغییر مقدار LCD_SIZE در برنامه، برای سایر LCD ها قابل تغییر است.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

دماسنج مبتنی بر سنسور SMT160-30: در این پروژه با اتصال خروجی سنسور دمای SMT160-30 از طریق یک تقسیم مقاومت به ورودی PC2 برد آموزشی، دما روی 7segment های برد نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود

دماسنج مبتنی بر سنسور DS18b20: در این پروژه با اتصال خروجی سنسور دمای DS18b20 به ورودی PC7 برد آموزشی، دما روی 7segment های برد نمایش داده می شود.
زبان برنامه نویسی: C
کامپایلر: IAR

دانلود