فهرست مطالب:

نحوه استفاده از Dragon Rider 500 با AVR Dragon خود: 10 مرحله
نحوه استفاده از Dragon Rider 500 با AVR Dragon خود: 10 مرحله

تصویری: نحوه استفاده از Dragon Rider 500 با AVR Dragon خود: 10 مرحله

تصویری: نحوه استفاده از Dragon Rider 500 با AVR Dragon خود: 10 مرحله
تصویری: فقط با 500 هزار تومن درامد زایی از ورلد رو شروع کن 2024, جولای
Anonim
نحوه استفاده از Dragon Rider 500 با AVR Dragon خود
نحوه استفاده از Dragon Rider 500 با AVR Dragon خود

این دستورالعمل یک دوره تصادفی در نحوه استفاده از برخی از ویژگی های Dragon Rider 500 از Ecros Technologies است. لطفاً توجه داشته باشید که راهنمای کاربر بسیار مفصلی در وب سایت Ecros موجود است.

Dragon Rider یک برد رابط برای استفاده با یک برنامه نویس میکروکنترلر AVR به نام AVR Dragon by Atmel است. برای کسب اطلاعات بیشتر: Atmel's Wesite: https://www.atmel.com/ AVR پیوند اژدها: https://www.atmel.com/dyn/products/tools_card.asp؟ tool_id = 3891 Dragon Rider 500 by Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm مونتاژ Dragon Rider 500 قابل آموزش: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-wi-- the-A/همه چیز را در مورد میکروکنترلرهای AVR بیاموزید: https://www.avrfreaks.net این دستورالعمل ممکن است با گذشت زمان افزایش یابد ، بنابراین بارها و بارها دوباره بررسی کنید!

مرحله 1: AVR شخص

برای استفاده از AVR Dragon برای برنامه نویسی به برخی از نرم افزارهای برنامه نویسی نیاز دارید. من از AVRdude با سیستم عامل اوبونتو (لینوکس) استفاده می کنم و از نتایج آن بسیار خوشحالم. این دستورالعمل با پیچیدگی های نرم افزار برنامه نویسی سروکار ندارد. اگر نحوه راه اندازی یا استفاده از نرم افزار برنامه نویسی را نمی دانید ، این دستورالعمل را بررسی کنید تا سرعت شما را بالا ببرد: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/حدس من این است که اگر Dragon Rider 500 را خریداری کرده و مونتاژ کرده اید ، می دانید که چگونه یک تراشه را با AVR Dragon برنامه ریزی کنید ….. به بعد!

مرحله 2: ATtiny2313 - LED ها را چشمک بزنید

ATtiny2313 - LED ها را چشمک بزنید
ATtiny2313 - LED ها را چشمک بزنید
ATtiny2313 - LED ها را چشمک بزنید
ATtiny2313 - LED ها را چشمک بزنید
ATtiny2313 - LED ها را چشمک بزنید
ATtiny2313 - LED ها را چشمک بزنید

بیایید یک ATtiny2313 برنامه ریزی کنیم که یک میکروکنترلر 20 پینی است. Dragon Rider 500 دارای سوکت هایی برای چندین میکروکنترلر AVR با اندازه مختلف است. اینها شامل: سوکت های 8 ، 20 ، 28 و 40 پین است. بسته به سوکت مورد استفاده ، جامپرهای روی برد Dragon Rider باید متفاوت تنظیم شوند.

تنظیمات بلوز

جامپرها را روی Dragon Rider طوری تنظیم کنید که شانت پین های زیر را به هم متصل کند. (pin4 پین مرکزی J22 -J -24 است) پین ها: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 این یک راه اندازی اساسی است که به ISP (در برنامه نویسی سیستم) اجازه می دهد.

پلک زدن پلک زدن

برنامه نویسی فایده ای ندارد مگر اینکه چیزی برای برنامه ریزی داشته باشید. من یک نمونه کد بسیار کوتاه برای چشمک زدن LED های Dragon Rider در یک زمان نوشتم. برای اتصال سربرگ LED (J29) به هدر PortB (J2) از کابل روبان استفاده کنید.

برنامه نويسي

من فایل C و همچنین makefile و فایل hex را قرار داده ام. همانطور که در مقدمه ذکر کردم ، من نمی توانم قسمت نرم افزاری برنامه نویسی را در دستورالعمل پوشش دهم. برای AVR Dragon برنامه ای مشابه برنامه خود داشته باشید ، زیرا Dragon Rider به هیچ وجه سمت نرم افزار را تغییر نمی دهد.

مرحله 3: استفاده از افزونه LCD

استفاده از افزونه LCD
استفاده از افزونه LCD

در اینجا یک راه ساده برای استفاده از افزونه LCD وجود دارد. این "Dragon Rider" را روی صفحه LCD می نویسد.

سخت افزار:

  • 2313
  • R/W Jumper: R/W باید به "BIT1" در برد Dragon Rider متصل شود (توضیحات را در دستورالعمل مونتاژ مشاهده کنید)
  • J23: این بلوز باید برای برنامه نویسی ISP نصب شود اما سپس برای عملکرد صحیح LCD برداشته شود.
  • اتصال LCD به PORT B با استفاده از کابل روبان (J31 به J2)

نرم افزار

من از کتابخانه LCD پیتر فلوری برای هدایت LCD در حالت 4 بیتی استفاده می کنم. برای بارگیری کتابخانه به صفحه اصلی Peter مراجعه کنید. باید مطمئن شوید که lcd.c با کد شما کامپایل شده است و تغییرات زیر را در lcd.h ایجاد کرده اید:

ما از نوسان ساز RC داخلی استفاده می کنیم بنابراین XTAL باید برای 1 مگاهرتز تنظیم شود:

#تعریف XTAL 1000000

  • تنظیمات پورت باید در PORTB تنظیم شود:
  • #LCD_PORT PORTB را تعریف کنید

  • Pinout برای 4 خط داده باید تطبیق داده شود:
  • #تعریف LCD_DATA0_PIN 4 #تعریف LCD_DATA1_PIN 5 #تعریف LCD_DATA2_PIN 6 #تعریف LCD_DATA3_PIN 7

  • Pinout برای RS ، RW و E باید اقتباس شود:
  • #تعریف LCD_RS_PIN 3 #تعریف LCD_RW_PIN 1 #تعریف LCD_E_PIN 2

    برنامه اصلی به لطف کار پیتر فلوری در کتابخانه LCD خود بسیار ساده است. کد:

    #Include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON)؛ // مقداردهی اولیه LCD با نشانگر خاموش lcd_clrscr ()؛ // صفحه LCD را پاک کنید lcd_gotoxy (5 ، 0) ؛ // مکان نما را به این مکان منتقل کنید lcd_puts ("اژدها") ؛ // این رشته را روی LCD lcd_gotoxy (6 ، 1) قرار دهید. // مکان نما را به این مکان منتقل کنید lcd_puts ("Rider") ؛ // این رشته را برای (؛؛) روی LCD قرار دهید {// هیچ کاری برای همیشه انجام ندهید (پیام قبلاً در LCD نمایش داده شده است)}}

    کد پیوست شد

    کد پیوست شامل کتابخانه LCD پیتر فلوری (lcd.c و lcd.h) با اجازه او است. متشکرم پیتر! تنها تغییری که در آن ایجاد کرده ام این است که پین های مناسب را در Defines قرار دهم. لطفاً برای بارگیری بسته از سایت وی دیدن فرمایید: من یک پی ام به Jorg در avrfreaks.net ارسال کردم اما هیچ پاسخی از او دریافت نکردم. چند تغییر در makefile برای استفاده از لینوکس و اژدها وجود دارد. از هر دوی شما سپاسگزارم ، لطفاً ترجیحات خود را برای به اشتراک گذاشتن کارهای خود به من اعلام کنید.

    مرحله 4: برنامه نویسی UC ISP 28 پینی (ATmega8)

    برنامه نویسی UC ISP 28 پین (ATmega8)
    برنامه نویسی UC ISP 28 پین (ATmega8)
    برنامه نویسی 28 پین UC ISP (ATmega8)
    برنامه نویسی 28 پین UC ISP (ATmega8)

    عملیات تخلیه پروژه بعدی از ATmega8 استفاده می کند که 28 پین avr است. در اینجا مجموعه جامپر اصلی برای برنامه نویسی میکروکنترلرهای 28 پینی ISP آمده است.

    تنظیمات بلوز

    جامپرها را روی Dragon Rider طوری تنظیم کنید که شانت پین های زیر را به هم متصل کند. (pin4 پین مرکزی J22 -J -24 است) پین ها: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    اطلاعات فنی

    • اتصال J11 و J12 به این ترتیب به شما امکان می دهد از آن پین ها به عنوان پین های ورودی/خروجی استفاده کنید. راه دیگر این است که این پین ها را برای ایجاد ارتباط با کریستال خارجی هدایت کنید.
    • اتصال J13 به این ترتیب به ما امکان می دهد از آن به عنوان پین تنظیم مجدد استفاده کنیم. جایگزین این پین را برای استفاده به عنوان پین ورودی/خروجی به سرصفحه PORTC هدایت می کند. (این امر اشکالات زیادی دارد ، از جمله ناتوانی در برنامه ریزی این تراشه با استفاده از ISP).
    • J16 و J22-J24 به این ترتیب متصل می شوند تا پین های مناسب (Reset ، MISO ، MOSI و SCK) را به هدر ISP اژدهای AVR هدایت کنند.

    مرحله 5: استفاده از LCD و دکمه پیشرفته: ساعت بزرگ

    LCD پیشرفته و استفاده از دکمه: ساعت بزرگ
    LCD پیشرفته و استفاده از دکمه: ساعت بزرگ

    این یک پروژه سرگرم کننده است که از صفحه LCD و دکمه ها استفاده می کند. ما با توابع ساعت واقعی و کاراکترهای سفارشی روی LCD سروکار داریم. در تصویر پایین می توانید ساعت 7:26:07 بعد از ظهر را مشاهده کنید که به تعداد زیاد بر روی صفحه LCD نمایش داده شده است. هر عدد از یک شبکه 2x2 از کاراکترهای نمایش داده شده برای نشان دادن تعداد زیاد استفاده می کند. این از فونت اولیه ای که Xtinus برای پروژه XBMC نوشته است استفاده می کند. از دکمه ها برای تنظیم ساعت استفاده می شود. چپ ساعت ها را افزایش می دهد ، دقیقه دقیقه ها را افزایش می دهد ، راست بین 12 تا 24 ساعت تغییر می کند و Enter ثانیه ها را به صفر تنظیم می کند. ساعت زمان بسیار خوبی را حفظ نمی کند زیرا ما از نوسان ساز داخلی بسیار نادرست استفاده می کنیم ، اما این برنامه را می توان به راحتی تغییر داد تا از کریستال خارجی بسیار دقیق تری استفاده کرد. این کار را در ویدئوی زیر مشاهده کنید. توضیحی در مورد نحوه عملکرد این کد به درستی ، اما من در حال حاضر وقت ندارم. در حال حاضر ، هدر LCD (J31) را به PORTD (J4) و سربرگ دکمه (J30) را به PORTB (J2) وصل کنید. مطمئن شوید که SW1 و SW2 را در حالت خاموش دارید. AVR Dragon را به کابل usb وصل کنید و سر دیگر آن را به رایانه خود وصل کنید. SW2 را روشن کرده و ATmega8 را با نرم افزار برنامه نویسی دلخواه خود برنامه ریزی کنید (فایل شش ضلعی زیر ؛ فیوزها در تنظیمات کارخانه سوزانده شده اند). توجه: برای استفاده از دکمه های چپ و بالا ، باید شنت ها را از J22 و J24 حذف کنید ، این در حالی است که برق خاموش است

    مرحله ششم: برنامه نویسی ولتاژ بالا

    من از برنامه نویسی موازی ولتاژ بالا برای احیای ATtiny2313 که تنظیمات فیوز اشتباه را روی آن قرار داده ام ، استفاده کرده ام. من برای بار دوم هنگام کار بر روی این دستورالعمل نیاز داشتم زیرا به طور تصادفی تنظیمات lfuse مورد نظر خود را در ثبت نام hfuse نوشتم ….. اووووو. برنامه نویسی موازی با ولتاژ بالا یک ابزار مفید است که در اختیار شما قرار دارد! در زیر لیستی از تنظیمات بلوز من آمده است: اگر از خطر خود استفاده می کنید ، این نوع برنامه ریزی می تواند به سخت افزار شما آسیب برساند ، اگر نمی دانید چه کار می کنید !! برنامه ریزی موازی با ولتاژ بالا: ATtiny2313 در سوکت U3: SW1 - OFFSW2 - ONJ5 ، J6 ، J7 - اتصال pin1 و pin2XTAL1 - اتصال pin1 و pin2J16 - اتصال pin1 و pin22x5 کابل های IDC: PROG_CTRL به PORT D ، PROG_DATA به PORT BAll J8-J13 ، J18 ، J19 ، J20 ، J22-J28 ، J24) برای سایر تراشه ها باید بتوانید تنظیمات مورد نیاز خود را از راهنمای کاربر Atmel برای STK500 خود پیدا کنید.

    مرحله 7: گسترش فراتر از هیئت مدیره

    گسترش فراتر از هیئت مدیره
    گسترش فراتر از هیئت مدیره

    به نظر من ارتباط با تخته نان بسیار آسان است. این امر باعث انعطاف پذیری بیشتری در نمونه سازی و توسعه همزمان کد می شود. در زیر چند تخته نان را مشاهده خواهید کرد که به Dragon Rider متصل شده اند. کابل های روبان را در یک سر به پورت های مناسب وصل می کنم. در طرف دیگر از سیم های جامپر برای اتصال هادی ICD مناسب با تخته های نان استفاده می کنم.

    مرحله 8: نتیجه گیری

    موارد بیشتری وجود دارد که می تواند در این دستورالعمل دخیل باشد. همین امشب من یک آداپتور را تکمیل می کنم که به شما امکان می دهد از سربرگ برنامه نویسی 6 پین بدون حذف اژدها از Dragon Rider استفاده کنید. من اطلاعاتی در مورد نحوه ساختن یکی از این موارد به زودی در اختیار شما قرار می دهم … به زودی. اگر چیزهای دیگری دارید که فکر می کنید باید اضافه شوند ، نظر بدهید.

    مرحله 9: اضافه کردن ISP 6 پین

    افزودن ISP 6 پین
    افزودن ISP 6 پین
    افزودن ISP 6 پین
    افزودن ISP 6 پین
    افزودن ISP 6 پین
    افزودن ISP 6 پین

    من معمولاً برای همه پروژه های خود یک سرصفحه 6 پین ISP ایجاد می کنم تا در صورت لزوم بتوانم تراشه را دوباره برنامه ریزی کنم و مجبور نباشم آن را از روی تابلوی پروژه بردارم. متاسفانه راننده اژدها سرصفحه ISP 6 پین در دسترس ندارد ، اما من فهمیدم که چگونه می توان آن را در دسترس قرار داد.

    هشدار !

    این یک هک است. اگر نمی دانید دقیقاً چگونه کار می کند ، این کار را نکنید

    به شما هشدار داده شده است. من تخته آداپتور و بلوز 3 پین خود را به منظور تهیه هدر 6 پین isp ایجاد کرده ام. کاری که انجام می دهید تنظیم Dragon Rider بر روی برنامه و میکروکنترلر 8 پین است. من با استفاده از سوکت 3 پین J8 را برای اتصال پایه های 1 و 3 به هم متصل می کنم. این سیگنال ساعت را به کانکتور PortB هدایت می کند. سپس یک کابل جامپر را از سربرگ PortB به برد آداپتور و voila خود اجرا می کنم! تصاویر زیر وجود دارد…. لطفا ، لطفا ، لطفا ، این کار را نکنید مگر اینکه واقعاً بدانید چه می کنید ، زیرا اگر این کار را اشتباه انجام دهید ، می توانید به AVR Dragon خود آسیب برسانید یا بدتر.

    Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2

    مرحله 10: RSS Reader با استفاده از اتصال سریال و LCD

    RSS Reader با استفاده از اتصال سریال و LCD
    RSS Reader با استفاده از اتصال سریال و LCD
    RSS Reader با استفاده از اتصال سریال و LCD
    RSS Reader با استفاده از اتصال سریال و LCD

    من همچنان با این تخته توسعه بازی می کنم. این بار من بخشی از یک بعد از ظهر را برای توسعه خواندن RSS گذراندم (بیشتر در سمت پایتون چیزها). فکر نمی کنم دستورالعمل آموزشی خود را داشته باشد ، بنابراین آن را اینجا اضافه می کنم.

    سخت افزار

    ما از Dragon Rider 500 به عنوان یک تابلوی توسعه استفاده می کنیم. این همه سخت افزار مورد نیاز شما را فراهم می کند (با فرض اینکه همه کیت های اضافی را دارید). با توجه به این که مطمئناً می توانید این کار را با تنظیم سخت افزار خود انجام دهید:

    • میکروکنترلر ATmega8 (یا هر چیزی که دارای USART و پین های کافی برای همه اتصالات باشد
    • راهی برای برنامه ریزی میکروکنترلر (من از AVR Dragon استفاده می کنم)
    • تراشه MAX232 برای ارتباطات سریال
    • کانکتور DB9
    • صفحه نمایش ال سی دی HD44780
    • کریستال (من از کریستال 8 مگاهرتز استفاده کردم)
    • انواع خازن و مقاومت

    یک طرح کلی در زیر ارائه شده است. در Dragon Rider ما باید از خلاقیت برای مسیر یابی اتصالات استفاده کنیم. به طور معمول پورت D می تواند مستقیماً به هدر LCD متصل شود. این مورد در اینجا صادق نیست زیرا USART مورد نیاز برای اتصال سریال از PD0 و PD1 استفاده می کند. علاوه بر این ، از بندر B نمی توان استفاده کرد زیرا PB6 و PB7 برای کریستال خارجی استفاده می شوند. تصویر زیر راه حل من برای این مشکل است. یک کابل روبان را به هدرهای LCD ، Port B و Port D وصل می کنم ، سپس از سیم های جامپر برای ایجاد مسیرهای مناسب استفاده می کنم. فراموش نکنید که ولتاژ و زمین را به هدر LCD وصل کنید.

    نرم افزار

    نرم افزار این پروژه در دو قسمت وجود دارد ، سیستم عامل میکروکنترلر و اسکریپت پایتون برای خراشیدن خوراک RSS و ارسال آنها از طریق اتصال سریال. AVR Firmware من دوباره از کتابخانه LCD پیتر فلوری استفاده می کنم (https://jump.to /بریدگی). این برنامه قدرتمند و مختصر ، همه کاره است و برای تنظیم سخت افزار شما به راحتی قابل تغییر است. اگر به فایل هدر پیوست شده (lcd.h) نگاه کنید ، خواهید دید که من در حالت 4 بیتی با Port D به عنوان بیت داده و Port B به عنوان بیت های کنترل در حال اجرا هستم. مفهوم این سیستم عامل بسیار ساده است:

    • پس از فعال شدن میکروکنترلر ، "RSS Reader" نمایش داده می شود و سپس منتظر اطلاعات سریال است.
    • هر بایت داده های سریال دریافتی باعث می شود که یک بافر 16 کاراکتری به چپ تغییر مسیر داده و بایت را به بافر اضافه کند ، سپس بافر را نمایش دهد.
    • سه دستور ویژه توسط میکروکنترلر پذیرفته می شود: 0x00 ، 0x01 و 0x02. اینها صفحه واضح هستند ، به ترتیب به خط 0 بروید و به خط 1 بروید.

    Python ScryptI یک اسکریپت pyton برای تراشیدن داده های RSS و ارسال آن از طریق اتصال سریال نوشت. این کار نیاز به ماژول پایتون "pyserial" دارد که احتمالاً باید روی سیستم خود نصب کنید تا این کار را انجام دهد. خوراک RSS را می توان در بالای فایل pyton پیکربندی کرد. توجه داشته باشید که باید نام فید و همچنین آدرس فید را وارد کنید. سه مثال وجود دارد ، من مطمئن هستم که می توانید از آنها برای syntx مناسب پیروی کنید. با این کار همه کار می کند

    • سخت افزار را مونتاژ کنید
    • میکروکنترلر را برنامه ریزی کنید (dragon_rss.hex می تواند مورد استفاده قرار گیرد اگر نمی خواهید این را خودتان کامپایل کنید). تنظیمات فیوز برای ATmega8 با استفاده از کریستال 8 مگاهرتز: lfuse = 0xEF hfuse = 0xD9
    • Dragon Rider را روشن کنید و مطمئن شوید که کابل سریال به برق متصل است (LCD باید روی آن خوانده شود: "RSS Reader")
    • اجرای برنامه پایتون (python serial_rss.py)
    • لذت بردن

    توصیه شده: