Բովանդակություն:

Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ. 10 քայլ
Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ. 10 քայլ

Video: Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ. 10 քայլ

Video: Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ. 10 քայլ
Video: КАК ВЫБРАТЬ РАКЕТКУ ДЛЯ НАСТОЛЬНОГО ТЕННИСА? ГДЕ ЕЕ МОЖНО ПРИОБРЕСТИ? 2024, Հուլիսի
Anonim
Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ
Ինչպես օգտագործել Dragon Rider 500 -ը ձեր AVR վիշապի հետ

Այս խրատական դասընթացը Ecros Technologies- ի Dragon Rider 500 -ի որոշ առանձնահատկություններից օգտվելու դասընթաց է: Խնդրում ենք տեղյակ լինել, որ Ecros- ի կայքում կա շատ մանրամասն Օգտագործողի ուղեցույց:

Dragon Rider- ը միջերեսային տախտակ է ՝ AVR միկրոկոնտրոլեր ծրագրավորողի հետ օգտագործելու համար, որը կոչվում է AVR Dragon Atmel: Լրացուցիչ տեղեկությունների համար. Atmel's Wesite: https://www.atmel.com/ AVR Dragon հղում ՝ https://www.atmel.com/dyn/products/tools_card.asp? ՝ //www.ecrostech.com/AtmelAvr/DragonRider/index.htm Dragon Rider 500 հավաքում Ուսուցողական ՝ https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Իմացեք ամեն ինչ AVR միկրոկոնտրոլերների մասին.

Քայլ 1: AVR ընկեր

AVR Dragon- ը ծրագրավորման համար օգտագործելու համար ձեզ անհրաժեշտ է որոշ ծրագրավորման ծրագրակազմ: Ես օգտագործում եմ AVRdude- ը Ubuntu օպերացիոն համակարգի (linux) հետ և շատ գոհ եմ արդյունքներից: Այս հրահանգավորումը չի զբաղվի ծրագրավորման ծրագրային ապահովման բարդություններից: Եթե չգիտեք, թե ինչպես տեղադրել կամ օգտագործել ծրագրավորման ծրագրակազմ, ստուգեք այս հրահանգը ՝ ձեզ արագացնելու համար. 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- ին (Համակարգի ծրագրավորման մեջ):

Blinky Blinky

Programրագրավորումը ոչ մի օգուտ չի տալիս, եթե ծրագրելու բան չունես: Ես գրել եմ շատ կարճ կոդի օրինակ `Dragon Rider- ի LED- ը միաժամանակ թարթելու համար: Օգտագործեք ժապավենային մալուխ` LED վերնագիրը (J29) PortB վերնագրին (J2) միացնելու համար:

Ծրագրավորում

Ես ներառել եմ C ֆայլը, ինչպես նաև makefile և hex ֆայլ: Ինչպես նշեցի ներածության մեջ, ես չեմ կարող ծածկել Instructable- ում ծրագրավորման ծրագրային կողմը: Programրագիր, ինչպես կանեիք AVR Dragon- ի համար, քանի որ Dragon Rider- ը ընդհանրապես չի փոխում իրերի ծրագրային կողմը:

Քայլ 3: Օգտագործելով LCD հավելումը

Օգտագործելով LCD հավելումը
Օգտագործելով LCD հավելումը

Ահա LCD հավելումը օգտագործելու պարզ միջոց: Սա LCD էկրանին կգրի «Dragon Rider»:

Սարքավորումներ:

  • ATtiny2313
  • R/W Jumper. R/W- ը պետք է միացված լինի «BIT1» - ին Dragon Rider- ի տախտակին (տես բացատրությունը ժողովի հրահանգում)
  • J23. Այս թռիչքը պետք է տեղադրվի ISP ծրագրավորման համար, բայց հետո հեռացվի, որպեսզի LCD- ը ճիշտ գործի:
  • LCD- ը միացրեք PORT B- ին ժապավենային մալուխի միջոցով (J31- ից J2)

Ծրագրային ապահովում

Ես օգտագործում եմ Փիթեր Ֆլերիի LCD գրադարանը ՝ LCD- ը 4-բիթանոց ռեժիմով վարելու համար: Գրադարան ներբեռնելու համար այցելեք Պետրոսի գլխավոր էջը: Դուք պետք է համոզվեք, որ lcd.c- ն կազմված է ձեր ծածկագրով, և որ դուք կատարում եք հետևյալ փոփոխությունները lcd.h- ում.

Մենք օգտագործում ենք ներքին RC տատանում, ուստի XTAL- ը պետք է սահմանվի 1 ՄՀց հաճախականությամբ.

#սահմանի XTAL 1000000

  • Պորտի կարգավորումները պետք է ճշգրտվեն PORTB- ին.
  • #սահմանել LCD_PORT PORTB

  • 4 տվյալների տողերի Pinout- ը պետք է հարմարեցվի.
  • #սահմանել LCD_DATA0_PIN 4 #սահմանել LCD_DATA1_PIN 5 #սահմանել LCD_DATA2_PIN 6 #սահմանել LCD_DATA3_PIN 7

  • RS, RW և E- ի Pinout- ը պետք է հարմարեցվի.
  • #սահմանել LCD_RS_PIN 3 #սահմանել LCD_RW_PIN 1 #սահմանել LCD_E_PIN 2

    Հիմնական ծրագիրը շատ պարզ է այն աշխատանքի շնորհիվ, որը Պիտեր Ֆլերին արեց իր LCD գրադարանում: ԿՈԴ.

    #ներառել #ներառել "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) ՝ նրա թույլտվությամբ: Շնորհակալություն Պետրոս! Միակ փոփոխությունը, որ ես կատարել եմ դրանում, սահմանումների մեջ համապատասխան կապում դնելն է: Խնդրում ենք այցելել նրա կայքը `փաթեթը ներբեռնելու համար. Ես վարչապետ ուղարկեցի Jorg- ին avrfreaks.net կայքում, բայց ոչ մի պատասխան չստացա նրանից: Linux- ի և Dragon- ի օգտագործման համար հարմարեցված կազմաձևում կան մի քանի փոփոխություններ: Շնորհակալ եմ երկուսիդ էլ, խնդրում եմ ինձ տեղեկացրեք, թե ինչ նախասիրություններ ունեք ձեր աշխատանքը կիսելու վերաբերյալ:

    Քայլ 4: 28 պին UC ISP ծրագրավորում (ATmega8)

    28 պին UC ISP ծրագրավորում (ATmega8)
    28 պին UC ISP ծրագրավորում (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 վերնագիր ՝ որպես I/O քորոց օգտագործելու համար: (սա շատ թերություններ կունենա, ներառյալ այս չիպը ISP- ի միջոցով ծրագրավորելու անկարողությունը):
    • J16 & J22-J24- ն այս եղանակով միացված են `համապատասխան կապումներն (Reset, MISO, MOSI և SCK) դեպի AVR Dragon- ի ISP վերնագրին ուղղորդելու համար:

    Քայլ 5. LCD- ի և կոճակի առաջադեմ օգտագործում. Մեծ ժամացույց

    LCD- ի և կոճակների առաջադեմ օգտագործում. Մեծ ժամացույց
    LCD- ի և կոճակների առաջադեմ օգտագործում. Մեծ ժամացույց

    Սա զվարճալի նախագիծ է, որն օգտագործում է LCD էկրանը և կոճակները: Մենք գործ կունենանք իրական ժամանակի ժամացույցի գործառույթների և LCD- ի հարմարեցված նիշերի հետ: Ներքևի նկարում կարող եք տեսնել ժամը 7: 26: 07: 07 -ը LCD էկրանին մեծ թվով ցուցադրված ժամանակը: Յուրաքանչյուր համար օգտագործում է ցուցադրվող նիշերի 2x2 ցանց ՝ մեծ թիվը ցույց տալու համար: Սա օգտագործում է Xtinus- ի կողմից սկզբնապես գրված տառատեսակ XBMC նախագծի համար: Կոճակները օգտագործվում են ժամացույցը կարգավորելու համար: Ձախը ավելացնում է ժամերը, Up- ը ավելացնում է րոպեները, Right- ը փոխում է 12-ից 24-ժամյա ժամանակը և Enter- ը զրոյականացնում է վայրկյանները: Theամացույցը շատ լավ ժամանակ չի պահում, քանի որ մենք օգտագործում ենք ներքին ոչ ճշգրիտ տատանումները, բայց այս ծրագիրը կարող է հեշտությամբ փոխվել `շատ ավելի ճշգրիտ արտաքին բյուրեղից օգտվելու համար: Գործողության մեջ տեսեք ստորև ներկայացված տեսանյութում: Այս կոդի աշխատանքի բացատրությունը կարգին է, բայց ես հիմա ժամանակ չունեմ: Առայժմ միացրեք LCD վերնագիրը (J31) PORTD (J4) և կոճակի վերնագիրը (J30) PORTB (J2): Համոզվեք, որ SW1 և SW2 անջատված դիրքում ունեք: Միացրեք AVR Dragon- ը USB մալուխին և միացրեք այդ մալուխի մյուս ծայրը ձեր համակարգչին: Միացրեք SW2- ը և ծրագրավորեք ATmega8- ը ձեր նախընտրած ծրագրավորման ծրագրակազմով (ներքևում վեցանկյուն ֆայլ; ապահովիչներ այրված են գործարանային պարամետրերին): սա, քանի դեռ հոսանքը անջատված է:

    Քայլ 6: Բարձր լարման ծրագրավորում

    Ես օգտագործել եմ Բարձր լարման զուգահեռ ծրագրավորումը ՝ հարություն տալու ATtiny2313- ին, որի վրա ես տեղադրել եմ ապահովիչների սխալ կարգավորումները: Ես երկրորդ անգամ դրա կարիքն ունեի, երբ աշխատում էի այս հրահանգելիի վրա, քանի որ ես պատահաբար գրեցի իմ ուզած լույսի կարգավորումը hfuse գրանցամատյանում….. Բարձր լարման զուգահեռ ծրագրավորումը հարմար գործիք է `ձեր տրամադրության տակ: Ստորև բերված են իմ թռիչքի կարգավորումների ցուցակները. ՕԳՏԱԳՈՐԵԼ ՍԵՓԱԿԱՆ ՌԻՍԿՈՄ, PROՐԱԳՐԱՎՈՐՄԱՆ ԱՅՍ ՏԵՍԱԿԸ ԿԱՐՈ Է ՎՆԱՍԵԼ ՁԵՐ ՍԱՐՔԱՎՈՐՈԹՅՈՆԸ, ԵԹԵ ԴՈON ՉԳԻՏԵՍ, Ի՞ՆՉ ԵՍ ԱՆՈՄ !! Բարձրավոլտ զուգահեռ ծրագրավորում. ATtiny2313 վարդակից U3: SW1 - OFFSW2 - ONJ5, J6, J7 - միացրեք pin1 և pin2XTAL1 - միացրեք pin1 և pin2J16 - միացրեք pin1 և pin22x5 IDC մալուխներ. J8-J13, J18, J19, J20, J22-J28, J24) Այլ չիպերի դեպքում դուք պետք է կարողանաք Atmel- ի օգտագործողի ուղեցույցից անհրաժեշտ կարգավորումները պարզել իրենց STK500- ի համար:

    Քայլ 7. Ընդլայնում խորհրդի սահմաններից դուրս

    Ընդլայնում խորհրդի սահմաններից դուրս
    Ընդլայնում խորհրդի սահմաններից դուրս

    Ինձ համար բավականին հեշտ է ինտերֆեյսը տախտակի հետ: Սա թույլ է տալիս շատ ավելի ճկունություն միևնույն ժամանակ նախատիպերի ձևավորման և մշակման գործում: Ստորև կտեսնեք Dragon Rider- ին միացված մի քանի տախտակ: Ես միացնում եմ ժապավենի մալուխները համապատասխան ծայրերին մի ծայրում: Մյուսում ես օգտագործում եմ jumper լարերը `ICD- ի ճիշտ հաղորդիչը միացնող տախտակների հետ միացնելու համար:

    Քայլ 8: Եզրակացություն

    Շատ ավելին կա, որ կարող է ներգրավվել այս Ուղեցույցում: Հենց այս գիշեր ես լրացնում եմ ադապտեր, որը թույլ է տալիս օգտագործել 6-փին ծրագրավորման վերնագիրը ՝ առանց վիշապին Dragon Rider- ից հանելու: Ես կտեղադրեմ տեղեկատվություն այն մասին, թե ինչպես կարելի է ինքներդ կառուցել … շուտով: Եթե ունեք այլ բաներ, որոնք, ձեր կարծիքով, պետք է ավելացվեն, թողեք մեկնաբանություն:

    Քայլ 9: 6-պին մատակարարի ավելացում

    Ավելացնելով 6 պին մատակարար
    Ավելացնելով 6 պին մատակարար
    Ավելացնելով 6 պին մատակարար
    Ավելացնելով 6 պին մատակարար
    Ավելացնելով 6 պին մատակարար
    Ավելացնելով 6 պին մատակարար

    Սովորաբար իմ բոլոր նախագծերի համար կառուցում եմ 6 պին ISP վերնագիր, որպեսզի անհրաժեշտության դեպքում կարողանամ վերակազմակերպել չիպը և ստիպված չլինեմ այն հանել նախագծի տախտակից: Վիշապի ձիավորը, ցավոք, չունի 6-պին ինտերնետ մատակարարի վերնագիր, բայց ես պարզեցի, թե ինչպես այն հասանելի դարձնել:

    Wգուշացում !

    Սա կոտրում է: Եթե հստակ չգիտեք, թե ինչպես է դա աշխատում, մի արեք դա

    Ձեզ զգուշացրել են: Ես ստեղծել եմ իմ սեփական ադապտերային տախտակը և 3-պինային jumper- ը, որպեսզի ապահովեմ 6-պինյան isp վերնագիրը: Այն, ինչ դուք անում եք, Dragon Rider- ը կարգավորել է ծրագրին և 8-պին միկրոկոնտրոլերին: Օգտագործելով 3-պինային վարդակից, ես jumpering J8- ով կապում եմ 1-ին և 3-րդ կապերը: Սա ժամացույցի ազդանշանը տանում է դեպի PortB միակցիչ: Այնուհետև ես մի jumper մալուխ եմ անցնում 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 LCD էկրան
    • Բյուրեղյա (ես օգտագործել եմ 8 ՄՀց բյուրեղ)
    • Կոնդենսատորների և ռեզիստորների տեսականի

    Ստորև ներկայացված է սխեմատիկ պատկերը: Dragon Rider- ի վրա մենք պետք է որոշ ստեղծագործական կարողություններ օգտագործենք `կապերը երթուղու համար: Սովորաբար D նավահանգիստը կարող է ուղղակիորեն միացվել LCD վերնագրին: Սա այստեղ այն չէ, քանի որ սերիական միացման համար անհրաժեշտ USART- ն օգտագործում է PD0 և PD1: Ավելին, B նավահանգիստը չի կարող օգտագործվել, քանի որ PB6- ը և PB7- ն օգտագործվում են արտաքին բյուրեղի համար: Ստորև պատկերվածը այս խնդրի իմ լուծումն է: Ես միացնում եմ ժապավենի մալուխը LCD- ի, Port B- ի և D- ի վերնագրերին, այնուհետև jumper լարերը օգտագործում եմ համապատասխան երթուղիներ կազմելու համար: Մի մոռացեք միացնել լարումը և գետնին LCD վերնագրին:

    Ծրագրային ապահովում

    Այս նախագծի ծրագրակազմը բաղկացած է երկու մասից ՝ միկրոկառավարիչի որոնվածը և պիթոնի սցենարը ՝ RSS հոսքերը քերծելու և դրանք սերիական միացման միջոցով ուղարկելու համար: /fleury): Դա հզոր և հակիրճ, բազմակողմանի և հեշտ փոխելիք է ձեր սարքաշարի տեղադրման համար: Եթե նայեք կցված վերնագրի ֆայլին (lcd.h), կտեսնեք, որ ես աշխատում եմ 4-բիթ ռեժիմով ՝ Port D- ով, որպես տվյալների բիթ, և Port B- ին ՝ որպես կառավարման բիթ: Այս որոնվածի հայեցակարգը բավականին պարզ է:

    • Միկրոկառավարիչը միացնելուց հետո ցուցադրում է «RSS Reader» - ը, այնուհետև սպասում է սերիական տվյալների:
    • Ստացված սերիական տվյալների յուրաքանչյուր բայթ առաջացնում է 16 գրանշանների բուֆերի տեղաշարժ դեպի ձախ և բայտն ավելացնել բուֆերին, այնուհետև ցուցադրել բուֆերը:
    • Միկրոկոնտրոլերի կողմից ընդունվում է երեք հատուկ հրաման ՝ 0x00, 0x01 և 0x02: Սրանք հստակ էկրան են, համապատասխանաբար տեղափոխեք 0 և դեպի 1 տող:

    Python ScryptI– ը գրել է pyton սցենար ՝ RSS տվյալները քերծելու և սերիական կապի միջոցով ուղարկելու համար: Սա պահանջում է python մոդուլը «pyserial», որը, հավանաբար, ստիպված կլինեք տեղադրել ձեր համակարգում, որպեսզի այն աշխատի: RSS հոսքը կարող է կազմաձևվել pyton ֆայլի վերևում: Ուշադրություն դարձրեք, որ անհրաժեշտ է մուտքագրել հոսքի անուն, ինչպես նաև հոսքի url: Կան երեք օրինակներ, ես համոզված եմ, որ դուք կարող եք հետևել դրանց համապատասխան սինթեքսի համար: Դարձնելով ամեն ինչ աշխատող

    • Հավաքեք սարքավորումները
    • Programրագրեք միկրոկառավարիչը (dragon_rss.hex- ը կարող է օգտագործվել, եթե դուք չեք ցանկանում դա ինքներդ կազմել): Ապահովիչի կարգավորումներ ATmega8- ի համար ՝ օգտագործելով 8 ՄՀց բյուրեղ: lfuse = 0xEF hfuse = 0xD9
    • Միացրեք Dragon Rider- ը և համոզվեք, որ սերիական մալուխը միացված է (LCD- ում պետք է գրված լինի ՝ «RSS Reader»)
    • Գործարկել python ծրագիրը (python serial_rss.py)
    • Վայելեք

    Խորհուրդ ենք տալիս: