Turinys:

Kaip naudoti „Dragon Rider 500“su „AVR Dragon“: 10 žingsnių
Kaip naudoti „Dragon Rider 500“su „AVR Dragon“: 10 žingsnių

Video: Kaip naudoti „Dragon Rider 500“su „AVR Dragon“: 10 žingsnių

Video: Kaip naudoti „Dragon Rider 500“su „AVR Dragon“: 10 žingsnių
Video: ТРИ БЛЮДА НА НОВЫЙ ГОД 2024. Салат из капусты. Салат с Печенью! ЗАКУСКА С КАРТОШКОЙ И СЕЛЕДКОЙ 2024, Liepa
Anonim
Kaip naudoti „Dragon Rider 500“su „AVR Dragon“
Kaip naudoti „Dragon Rider 500“su „AVR Dragon“

Ši pamoka yra greitas kursas, kaip naudotis kai kuriomis „Ecros Technologies“„Dragon Rider 500“funkcijomis. Atminkite, kad „Ecros“svetainėje yra labai išsamus vartotojo vadovas.

„Dragon Rider“yra sąsajos plokštė, skirta naudoti su AVR mikrovaldiklio programuotoju, vadinamu „Atmel“AVR Dragon. Norėdami gauti daugiau informacijos: „Atmel's Wesite“: https://www.atmel.com/ AVR Dragon nuoroda: 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“surinkimas Instructable: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Sužinokite viską apie AVR mikrovaldiklius: https://www.avrfreaks.net Ši instrukcija laikui bėgant gali augti, todėl tikrinkite dar kartą!

1 žingsnis: AVR Dude

Norint naudoti programavimą „AVR Dragon“, jums reikia programavimo programinės įrangos. Aš naudoju „AVRdude“su „Ubuntu“operacine sistema („Linux“) ir esu labai patenkintas rezultatais. Ši instrukcija nesusitiks su programavimo programinės įrangos subtilybėmis. Jei nežinote, kaip nustatyti ar naudoti programavimo programinę įrangą, patikrinkite šią instrukciją, kad pasiektumėte greitį: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-drakonas/Manau, jei įsigijote ir surinkote „Dragon Rider 500“, jūs jau žinote, kaip užprogramuoti lustą su „AVR Dragon“….. pirmyn!

2 žingsnis: ATtiny2313 - mirksi šviesos diodai

ATtiny2313 - mirksi šviesos diodai
ATtiny2313 - mirksi šviesos diodai
ATtiny2313 - mirksi šviesos diodai
ATtiny2313 - mirksi šviesos diodai
ATtiny2313 - mirksi šviesos diodai
ATtiny2313 - mirksi šviesos diodai

Programuokime ATtiny2313, kuris yra 20 kontaktų mikrovaldiklis. „Dragon Rider 500“turi lizdus keliems skirtingo dydžio AVR mikrovaldikliams. Tai apima: 8, 20, 28 ir 40 kontaktų lizdus. Priklausomai nuo naudojamo lizdo, „Dragon Rider“plokštės džemperiai turi būti nustatyti skirtingai.

Džemperio nustatymai

Nustatykite „Dragon Rider“džemperius taip, kad šuntai sujungtų šiuos kaiščius. („pin4“yra centrinis kaištis J22 -J -24) Smeigtukai: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41

Blinky Blinky

Programavimas nieko gero neduoda, nebent turite ką užprogramuoti. Parašiau labai trumpą kodo pavyzdį, kad vienu metu mirksėtų „Dragon Rider“šviesos diodas. Naudokite juostinį kabelį, kad prijungtumėte LED antraštę (J29) prie „PortB“antraštės (J2).

Programavimas

Aš įtraukiau C failą, taip pat makefile ir hex failą. Kaip minėjau įžangoje, negaliu apimti programavimo programinės įrangos pusės „Instructable“. Programuokite taip pat, kaip ir „AVR Dragon“, nes „Dragon Rider“visiškai nekeičia programinės įrangos pusės.

3 veiksmas: LCD priedo naudojimas

Naudojant LCD priedą
Naudojant LCD priedą

Štai paprastas LCD priedo naudojimo būdas. Į LCD ekraną bus parašyta „Dragon Rider“.

Techninė įranga:

  • 2313
  • R/W trumpiklis: R/W turi būti prijungtas prie „BIT1“„Dragon Rider“lentoje (žr. Paaiškinimą surinkimo instrukcijoje)
  • J23: Šis trumpiklis turi būti sumontuotas ISP programavimui, bet tada pašalinamas, kad LCD veiktų tinkamai.
  • Prijunkite LCD prie PORT B naudodami juostinį kabelį (J31 - J2)

Programinė įranga

Aš naudoju Peterio Fleury LCD biblioteką, norėdamas valdyti LCD ekraną 4 bitų režimu. Apsilankykite Petro pagrindiniame puslapyje, kad atsisiųstumėte biblioteką. Turite įsitikinti, kad „lcd.c“yra sudarytas su jūsų kodu ir kad atliksite šiuos „lcd.h“pakeitimus:

Mes naudojame vidinį RC osciliatorių, todėl XTAL reikia nustatyti 1MHz:

#define XTAL 1000000

  • Prievado nustatymus reikia koreguoti į PORTB:
  • #define LCD_PORT PORTB

  • Reikia pritaikyti 4 duomenų linijų „Pinout“:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • RS, RW ir E kontaktus reikia pritaikyti:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Pagrindinė programa yra labai paprasta dėl Peterio Fleury atlikto darbo savo LCD bibliotekoje. KODAS:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inicijuoti LCD su žymekliu išjungtas lcd_clrscr (); // Išvalyti LCD ekraną lcd_gotoxy (5, 0); // Perkelti žymeklį į šią vietą lcd_puts ("Dragon"); // Įdėkite šią eilutę į LCD lcd_gotoxy (6, 1); // Perkelti žymeklį į šią vietą lcd_puts ("Rider"); // Įdėkite šią eilutę į LCD (;;) {// Nieko nedarykite amžinai (pranešimas jau rodomas LCD ekrane)}}

    Pridėtas kodas

    Pridėtame kode yra Peterio Fleury LCD biblioteka (lcd.c ir lcd.h) su jo leidimu. Ačiū Petrai! Vienintelis pakeitimas, kurį padariau, yra nustatyti tinkamus kaiščius apibrėžimuose. Apsilankykite jo svetainėje ir atsisiųskite paketą: https://www.jump.to/fleuryAš taip pat įtraukiau makiažo failą, kurį naudoju Eric B. Weddington ir Jorg Wunsch. Nusiunčiau Jorgui PM per avrfreaks.net, bet niekada negavau iš jo atsakymo. „Makefile“yra keletas pakeitimų, pritaikytų naudoti „Linux“ir „Dragon“. Ačiū jums abiems, praneškite man savo pageidavimus, kai dalinuosi savo darbais.

    4 žingsnis: 28 kontaktų UC IPT programavimas (ATmega8)

    28 kontaktų UC ISP programavimas (ATmega8)
    28 kontaktų UC ISP programavimas (ATmega8)
    28 kontaktų UC ISP programavimas (ATmega8)
    28 kontaktų UC ISP programavimas (ATmega8)

    Kito projekto demontavimo metu bus naudojamas ATmega8, kuris yra 28 kontaktų avr. Čia yra pagrindinis trumpiklių rinkinys, skirtas ISP programuoti 28 kontaktų mikrovaldiklius.

    Džemperio nustatymai

    Nustatykite „Dragon Rider“džemperius taip, kad šuntai sujungtų šiuos kaiščius. (kaištis 4 yra centrinis kaištis J22 -J -24) Smeigtukai: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Technine informacija

    • J11 ir J12 sujungimas tokiu būdu leidžia naudoti tuos kaiščius kaip įvesties/išvesties kaiščius. Alternatyva būtų nukreipti šiuos kaiščius, kad būtų užmegztas ryšys su išoriniu kristalu.
    • J13 prijungimas tokiu būdu leidžia mums jį naudoti kaip atstatymo kaištį. Alternatyva būtų nukreipti šį kaištį į PORTC antraštę ir naudoti kaip įvesties/išvesties kaištį. (tai turėtų daug trūkumų, įskaitant nesugebėjimą užprogramuoti šio lusto naudojant IPT).
    • J16 ir J22-J24 yra prijungti taip, kad nukreiptų atitinkamus kaiščius (Reset, MISO, MOSI ir SCK) prie AVR Dragon ISP antraštės.

    5 žingsnis: Išplėstinis LCD ir mygtukų naudojimas: didelis laikrodis

    Išplėstinis LCD ir mygtukų naudojimas: didelis laikrodis
    Išplėstinis LCD ir mygtukų naudojimas: didelis laikrodis

    Tai įdomus projektas, kuriame naudojamas LCD ekranas ir mygtukai. Mes susidursime su realiojo laiko laikrodžio funkcijomis ir pasirinktiniais simboliais LCD ekrane. Apačioje esančiame paveikslėlyje galite pamatyti laiką 19:26:07, rodomą dideliais kiekiais LCD ekrane. Kiekvienas skaičius naudoja 2x2 simbolių ekrano tinklelį, kad būtų parodytas didelis skaičius. Tam naudojamas šriftas, kurį Xtinus iš pradžių parašė XBMC projektui. Mygtukai naudojami laikrodžiui nustatyti. Kairė padidina valandas, aukštyn padidina minutes, dešinė perjungia 12–24 valandų laiką, o „Enter“atkuria sekundžių nulį. Laikrodis nelaiko labai gero laiko, nes mes naudojame labai netikslų vidinį generatorių, tačiau šią programą galima lengvai pakeisti, kad būtų naudojamas daug tikslesnis išorinis kristalas. Pamatykite tai veikdami žemiau esančiame vaizdo įraše. Paaiškinimas, kaip veikia šis kodas, yra tinkamas, tačiau šiuo metu neturiu laiko. Kol kas LCD antraštę (J31) prijunkite prie PORTD (J4), o mygtukų antraštę (J30) - prie PORTB (J2). Įsitikinkite, kad SW1 ir SW2 yra išjungtoje padėtyje. Prijunkite „AVR Dragon“prie USB kabelio ir kitą kabelio galą prijunkite prie kompiuterio. Įjunkite SW2 ir užprogramuokite ATmega8 naudodami pasirinktą programavimo programinę įrangą (šešioliktainis failas; saugikliai sudeginti pagal gamyklinius nustatymus). PASTABA: Norėdami naudoti mygtukus Kairėn ir Aukštyn, turėsite pašalinti šuntus iš J22 ir J24, tai, kai maitinimas išjungtas.

    6 žingsnis: aukštos įtampos programavimas

    Aš naudoju lygiagretų aukštos įtampos programavimą, kad atgaivinčiau ATtiny2313, kuriame įjungiau neteisingus saugiklių nustatymus. Man jo reikėjo antrą kartą, kai dirbau su šia instrukcija, nes netyčia užrašiau norimą „lfuse“nustatymą „hfuse“registrui ….. oi. Aukštos įtampos lygiagretus programavimas yra patogus jūsų turimas įrankis! Žemiau yra mano trumpiklių nustatymų sąrašas: NAUDOTIS SAVO RIZIKA, ŠIS PROGRAMAVIMO TIPAS GALI SUGALĖTI JŪSŲ Aparatūrą, jei nežinote, ką DARATE !! Aukštos įtampos lygiagretus programavimas: ATtiny2313 į lizdą U3: SW1 - OFFSW2 - ONJ5, J6, J7 - prijunkite kaištį1 ir kaištįXTAL1 - prijunkite kaištį1 ir kaištį2J16 - prijunkite kaištį1 ir kaištį22x5 IDC kabeliai: PROG_CTRL - PORT D, PROG_DATA - PORT B J8-J13, J18, J19, J20, J22-J28, J24) Kitų lustų atveju turėtumėte sugebėti išsiaiškinti reikiamus parametrus iš „Atmel“vartotojo vadovo, skirto jų STK500.

    7 žingsnis: išplėtimas už valdybos ribų

    Plečiasi už valdybos ribų
    Plečiasi už valdybos ribų

    Manau, kad gana lengva sąveikauti su duonos lenta. Tai leidžia daug lanksčiau vienu metu kurti ir kurti kodą. Žemiau pamatysite porą lentų, prijungtų prie „Dragon Rider“. Aš prijungiu juostinius kabelius prie atitinkamų prievadų viename gale. Kita vertus, naudoju trumpiklius, kad prijungčiau tinkamą ICD laidininką prie duonos lentų.

    8 žingsnis: Išvada

    Šioje instrukcijoje gali būti daug daugiau. Kaip tik šį vakarą aš užbaigiu adapterį, kuris leidžia jums naudoti 6 kontaktų programavimo antraštę, neišimant drakono iš „Dragon Rider“. Aš pateiksiu informaciją apie tai, kaip sukurti vieną … netrukus. Jei turite kitų dalykų, kuriuos, jūsų manymu, reikia pridėti, palikite komentarą.

    9 veiksmas: pridėkite 6 kontaktų IPT

    Pridedamas 6 kontaktų IPT
    Pridedamas 6 kontaktų IPT
    Pridedamas 6 kontaktų IPT
    Pridedamas 6 kontaktų IPT
    Pridedamas 6 kontaktų IPT
    Pridedamas 6 kontaktų IPT

    Paprastai visuose savo projektuose sukuriu 6 kontaktų IPT antraštę, kad prireikus galėčiau perprogramuoti mikroschemą ir nereikėtų jos nuimti nuo projekto plokštės. Deja, drakono raitelis neturi 6 kontaktų interneto paslaugų teikėjo antraštės, bet aš supratau, kaip tai padaryti.

    Įspėjimas !

    Tai įsilaužimas. Jei tiksliai nežinote, kaip tai veikia, nedarykite to

    Buvote įspėti. Sukūriau savo adapterio plokštę ir 3 kontaktų trumpiklį, kad galėčiau pateikti 6 kontaktų ISP antraštę. Ką jūs darote, nustatykite „Dragon Rider“programuoti ir 8 kontaktų mikrovaldiklį. Naudodamas 3 kontaktų lizdą, aš jungiu J8, kad prijungčiau 1 ir 3 kaiščius. Tai nukreipia laikrodžio signalą į „PortB“jungtį. Tada paleidžiu trumpąjį kabelį iš „PortB“antraštės į savo adapterio plokštę ir voila! Žemiau yra paveikslėlių…. prašau, prašau, prašau, nedaryk to, nebent tikrai supranti, ką darai, nes gali sugadinti „AVR Dragon“arba dar blogiau, jei tai padarysi neteisingai.

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

    10 veiksmas: RSS skaitytuvas naudojant nuoseklųjį ryšį ir LCD

    RSS skaitytuvas naudojant nuoseklųjį ryšį ir LCD
    RSS skaitytuvas naudojant nuoseklųjį ryšį ir LCD
    RSS skaitytuvas naudojant nuoseklųjį ryšį ir LCD
    RSS skaitytuvas naudojant nuoseklųjį ryšį ir LCD

    Aš ir toliau žaidžiu su šia plėtros lenta. Šį kartą dalį popietės praleidau kurdamas RSS skaitymą (dažniausiai dalykų python pusėje). Nemanau, kad tai reikalauja savo nurodymų, todėl pridedu jį čia.

    Techninė įranga

    Mes naudojame „Dragon Rider 500“kaip kūrimo lentą. Tai suteikia visą reikalingą techninę įrangą (darant prielaidą, kad turite visus priedų rinkinius). Tai sakant, jūs tikrai galite tai padaryti su savo aparatūros sąranka:

    • ATmega8 mikrovaldiklis (arba bet kuris, turintis USART ir pakankamai kaiščių visoms jungtims
    • Mikrovaldiklio programavimo būdas (aš naudoju „AVR Dragon“)
    • MAX232 mikroschema nuosekliam ryšiui
    • DB9 jungtis
    • HD44780 LCD ekranas
    • Crystal (naudojau 8MHz kristalą)
    • Įvairūs kondensatoriai ir rezistoriai

    Žemiau pateikiama schema. „Dragon Rider“turėsime panaudoti kūrybiškumą, kad nukreiptume ryšius. Paprastai D prievadą galima prijungti tiesiai prie LCD antraštės. Šiuo atveju taip nėra, nes serijiniam ryšiui reikalingas USART naudoja PD0 ir PD1. Be to, prievadas B negali būti naudojamas, nes PB6 ir PB7 naudojami išoriniam kristalui. Žemiau pateiktas mano problemos sprendimas. Aš prijungiu juostinį kabelį prie LCD, B ir D prievadų antraščių, tada naudoju trumpiklius, kad nustatytumėte tinkamus maršrutus. Nepamirškite prijungti įtampos ir įžeminimo prie LCD antraštės.

    Programinė įranga

    Šio projekto programinę įrangą sudaro dvi dalys: mikrovaldiklio programinė įranga ir python scenarijus, skirtas nuskaityti RSS kanalus ir siųsti juos per nuoseklųjį ryšį. AVR programinė įranga Aš vėl naudoju Peterio Fleury LCD biblioteką (https://jump.to /Fleury). Tai galingas ir glaustas, universalus ir lengvai keičiamas jūsų aparatinės įrangos sąrankai. Jei pažvelgsite į pridėtą antraštės failą (lcd.h), pamatysite, kad aš veikiu 4 bitų režimu su D prievadu kaip duomenų bitais ir B prievadu kaip valdymo bitais. Šios programinės įrangos koncepcija yra gana paprasta:

    • Įjungus mikrovaldiklį, rodomas „RSS Reader“ir laukiama serijinių duomenų.
    • Kiekvienas gautas serijinių duomenų baitas sukelia 16 simbolių buferio perkėlimą į kairę ir prideda baitą prie buferio, tada parodo buferį.
    • Mikrovaldiklis priima tris specialias komandas: 0x00, 0x01 ir 0x02. Tai yra skaidrus ekranas, atitinkamai pereikite prie 0 ir 1 eilutės.

    „Python Scrypt“parašiau „Pyton“scenarijų, kad nuskaitytų RSS duomenis ir išsiųstų juos per nuoseklųjį ryšį. Tam reikalingas „Python“modulis „pyserial“, kurį tikriausiai turėsite įdiegti savo sistemoje, kad tai veiktų. RSS informacijos santrauką galima sukonfigūruoti pyton failo viršuje. Atkreipkite dėmesį, kad turite įvesti sklaidos kanalo pavadinimą ir sklaidos kanalo URL. Yra trys pavyzdžiai, esu tikras, kad galite sekti tuos, kurie tinka tinkamam sinteksui. Kad viskas veiktų

    • Surinkite aparatūrą
    • Užprogramuokite mikrovaldiklį (dragon_rss.hex gali būti naudojamas, jei nenorite to kompiliuoti patys). Saugiklių nustatymai ATmega8 naudojant 8 MHz kristalą: lfuse = 0xEF hfuse = 0xD9
    • Įjunkite „Dragon Rider“ir įsitikinkite, kad serijinis kabelis yra prijungtas (LCD ekrane turėtų būti rodoma: „RSS skaitytuvas“)
    • Vykdykite python programą (python serial_rss.py)
    • Mėgautis

    Rekomenduojamas: