Kazalo:

Kako uporabljati Dragon Rider 500 s svojim AVR Dragon: 10 korakov
Kako uporabljati Dragon Rider 500 s svojim AVR Dragon: 10 korakov

Video: Kako uporabljati Dragon Rider 500 s svojim AVR Dragon: 10 korakov

Video: Kako uporabljati Dragon Rider 500 s svojim AVR Dragon: 10 korakov
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Julij
Anonim
Kako uporabljati Dragon Rider 500 s svojim AVR Dragon
Kako uporabljati Dragon Rider 500 s svojim AVR Dragon

Ta pouk je hiter tečaj, kako uporabiti nekatere funkcije Dragon Rider 500 iz Ecros Technologies. Upoštevajte, da je na spletnem mestu Ecros na voljo zelo podroben uporabniški priročnik.

Dragon Rider je vmesniška plošča za uporabo s programerjem mikrokrmilnika AVR, ki ga Atmel imenuje AVR Dragon. Za več informacij: Atmelovo spletno mesto: https://www.atmel.com/ Povezava AVR Dragon: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 podjetja Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Montaža Dragon Rider 500 Montažna navodila: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Naučite se vse o mikrokontrolerjih AVR: https://www.avrfreaks.net Ta navodila lahko sčasoma rastejo, zato preverite znova in znova!

Korak: AVR Dude

Za uporabo programa AVR Dragon za programiranje potrebujete nekaj programske opreme. AVRdude uporabljam z operacijskim sistemom Ubuntu (linux) in sem zelo zadovoljen z rezultati. Ta navodila ne bodo obravnavala zapletenosti programske opreme za programiranje. Če ne veste, kako nastaviti ali uporabljati programsko opremo za programiranje, si oglejte ta navodila, da boste pospešili: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Predvidevam, da če ste kupili in sestavili Dragon Rider 500, že veste, kako programirati čip z AVR Dragon … … naprej!

2. korak: ATtiny2313 - Utripajte LED

ATtiny2313 - Utripajte LED
ATtiny2313 - Utripajte LED
ATtiny2313 - Utripajte LED
ATtiny2313 - Utripajte LED
ATtiny2313 - Utripajte LED
ATtiny2313 - Utripajte LED

Programirajmo ATtiny2313, ki je 20-pinski mikrokrmilnik. Dragon Rider 500 ima vtičnice za več mikrokontrolerjev različnih velikosti AVR. Ti vključujejo: 8, 20, 28 in 40 -polne vtičnice. Odvisno od vtičnice, ki jo uporabljate, morajo biti skakalci na plošči Dragon Rider različno nastavljeni.

Nastavitve skakalca

Skakalce postavite na Dragon Rider tako, da bodo šanti povezali naslednje zatiče. (pin4 je osrednji zatič za J22 -J -24) Zatiči: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 To je osnovna nastavitev, ki omogoča ISP (v sistemskem programiranju).

Blinky Blinky

Programiranje ni dobro, če nimaš kaj programirati. Napisal sem zelo kratek primer kode, ki utripa LED -diodo Dragon Rider -ja eno za drugo. Uporabite tračni kabel za povezavo glave LED (J29) z glavo PortB (J2).

Programiranje

Vključil sem datoteko C ter makefile in šestnajstiško datoteko. Kot sem omenil v uvodu, ne morem zajeti programske strani programiranja v Instructable. Programirajte tako kot za AVR Dragon, saj Dragon Rider sploh ne spreminja programske strani stvari.

3. korak: Uporaba dodatka LCD

Uporaba dodatka LCD
Uporaba dodatka LCD

Tukaj je preprost način uporabe dodatka LCD. To bo na zaslon LCD zapisalo "Dragon Rider".

Strojna oprema:

  • ATtiny2313
  • R/W mostiček: R/W mora biti povezan z "BIT1" na plošči Dragon Rider (glej razlago v navodilih za montažo)
  • J23: Ta mostiček je treba namestiti za programiranje ponudnika internetnih storitev, nato pa ga odstraniti, da bo LCD pravilno deloval.
  • LCD priključite na PORT B s tračnim kablom (J31 do J2)

Programska oprema

Za pogon LCD-ja v 4-bitnem načinu uporabljam knjižnico LCD Peter Fleury. Če želite prenesti knjižnico, obiščite Petrovo domačo stran. Prepričati se morate, da je lcd.c z vašo kodo in da v lcd.h naredite naslednje spremembe:

Uporabljamo notranji RC oscilator, zato je treba XTAL nastaviti na 1MHz:

#define XTAL 1000000

  • Nastavitve vrat je treba prilagoditi na PORTB:
  • #define LCD_PORT PORTB

  • Izpis za 4 podatkovne vrstice je treba prilagoditi:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • Pinout za RS, RW in E je treba prilagoditi:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Glavni program je zelo preprost zaradi dela, ki ga je Peter Fleury opravil v svoji knjižnici LCD.

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inicializirajte LCD z izklopljenim kazalcem lcd_clrscr (); // Počisti LCD zaslon lcd_gotoxy (5, 0); // Premakni kazalec na to mesto lcd_puts ("Dragon"); // ta niz postavimo na LCD lcd_gotoxy (6, 1); // Premakni kazalec na to mesto lcd_puts ("Rider"); // Postavite ta niz na LCD za (;;) {// Ne naredite ničesar večno (sporočilo je že prikazano na LCD -ju)}}

    Koda priložena

    Priložena koda vključuje knjižnico LCD Peter Fleury (lcd.c in lcd.h) z njegovim dovoljenjem. Hvala Peter! Edina sprememba, ki sem jo naredil, je nastavitev ustreznih zatičev v meniju Defines. Za prenos paketa obiščite njegovo spletno mesto: https://www.jump.to/fleuryVključil sem tudi datoteko make -up, ki sta jo napisala Eric B. Weddington in Jorg Wunsch. Jorgu sem poslal PM na avrfreaks.net, vendar od njega nisem prejel odgovora. V datoteki make -up je nekaj sprememb za prilagoditev uporabe Linuxa in Dragon -a. Hvala obema, prosim, povejte mi, kakšne so vaše želje, da bom delila vaše delo.

    4. korak: 28-polno programiranje UC ISP (ATmega8)

    28-polno programiranje UC ISP (ATmega8)
    28-polno programiranje UC ISP (ATmega8)
    28-polno programiranje UC ISP (ATmega8)
    28-polno programiranje UC ISP (ATmega8)

    Naslednja predstavitev projekta bo uporabila ATmega8, ki je 28-pinski avr. Tu je osnovni sklop mostov za programiranje 28-polnih mikrokrmilnikov za ponudnike internetnih storitev.

    Nastavitve skakalca

    Skakalce postavite na Dragon Rider tako, da bodo šanti povezali naslednje zatiče. (pin4 je osrednji zatič za J22 -J -24) Zatiči: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Tehnične informacije

    • Če na ta način povežete J11 in J12, lahko te zatiče uporabljate kot V/I. Druga možnost je, da te zatiče usmerite v povezavo z zunanjim kristalom.
    • Tako povezovanje J13 nam omogoča, da ga uporabimo kot ponastavitveni pin. Druga možnost bi ta pin preusmerila v glavo PORTC za uporabo kot V/I pin. (to bi imelo veliko pomanjkljivosti, vključno z nezmožnostjo programiranja tega čipa z uporabo ponudnika internetnih storitev).
    • J16 in J22-J24 sta na ta način povezana za usmerjanje ustreznih zatičev (ponastavitev, MISO, MOSI in SCK) v glavo ponudnika internetnih storitev AVR Dragon.

    5. korak: Napredna uporaba LCD -ja in gumbov: velika ura

    Napredna uporaba LCD -ja in gumbov: velika ura
    Napredna uporaba LCD -ja in gumbov: velika ura

    To je zabaven projekt, ki uporablja LCD zaslon in gumbe. Ukvarjali se bomo s funkcijami ure v realnem času in znaki po meri na LCD -prikazovalniku. Na spodnji sliki lahko vidite čas 19:26:07, prikazan v velikem številu na LCD zaslonu. Vsaka številka za prikaz velikega števila uporablja mrežo 2x2 prikazanih znakov. Ta uporablja pisavo, ki jo je prvotno napisal Xtinus za projekt XBMC. Gumbi se uporabljajo za nastavitev ure. Levo povečuje ure, navzgor minute, gor desno, preklaplja med 12 in 24 urami, Enter pa ponastavi sekunde na nič. Ura se ne premika prav dobro, saj uporabljamo zelo nenatančen notranji oscilator, vendar je ta program mogoče zlahka spremeniti, da bi uporabil veliko natančnejši zunanji kristal. Oglejte si to v akciji v spodnjem videu. Razlaga, kako ta koda deluje, je v redu, vendar trenutno nimam časa. Zaenkrat priključite glavo LCD (J31) na PORTD (J4) in glavo gumba (J30) na PORTB (J2). Poskrbite, da sta SW1 in SW2 v izklopljenem položaju. Priključite AVR Dragon na USB kabel in drugi konec kabla priključite v računalnik. Vklopite SW2 in programirajte ATmega8 s programsko opremo po vaši izbiri (spodaj šestkotna datoteka; varovalke so sežgale na tovarniške nastavitve). OPOMBA: Če želite uporabiti gumba Levo in Gor, morate odstraniti shunt iz J22 in J24, to, ko je napajanje izklopljeno.

    6. korak: visokonapetostno programiranje

    Vzporedno programiranje z visoko napetostjo sem uporabil za oživitev ATtiny2313, v katerem sem nastavil napačne nastavitve varovalk. Ko sem delal na tem navodilu, sem ga potreboval drugič, ker sem po nesreči zapisal želeno nastavitev lfuse v register hfuse….. ooops. Vzporedno programiranje z visoko napetostjo je priročno orodje, ki ga imate na voljo! Spodaj so seznami mojih nastavitev mostička: UPORABLJAJTE NA SVOJO TVEGANJE, Ta vrsta programiranja lahko poškoduje vašo opremo, če ne veste, kaj počnete !! Vzporedno programiranje z visoko napetostjo: ATtiny2313 v vtičnici U3: SW1 - OFFSW2 - ONJ5, J6, J7 - priključite pin1 in pin2XTAL1 - povežite pin1 in pin2J16 - priključite pin1 in pin22x5 IDC kable: PROG_CTRL v PORT D, PROG_DATA v PORT B Vključeni vsi drugi mostiči J8-J13, J18, J19, J20, J22-J28, J24) Za druge čipe bi morali ugotoviti, katere nastavitve potrebujete v Atmelovem priročniku za uporabo za njihov STK500.

    Korak 7: Razširitev onkraj meje

    Razširitev onkraj odbora
    Razširitev onkraj odbora

    Zdi se mi, da je vmesnik s ploščico precej enostaven. To omogoča veliko večjo prilagodljivost pri izdelavi prototipov in razvoju kode hkrati. Spodaj boste videli nekaj plošč, povezanih z Dragon Riderjem. Priključim trakove na ustrezna vrata na enem koncu. Na drugi strani uporabljam mostične žice za priključitev ustreznega ICD vodila na plošče.

    8. korak: Zaključek

    V ta Instructable bi lahko bilo vključeno še veliko več. Ravno zvečer sem dokončal adapter, ki vam omogoča uporabo 6-pinske glave za programiranje, ne da bi zmaja odstranili iz Dragon Riderja. V kratkem bom dal informacije o tem, kako ga sami zgraditi … Če imate še kaj, kar menite, da je treba dodati, pustite komentar.

    9. korak: Dodajanje 6-pinskega ponudnika internetnih storitev

    Dodajanje 6-pinskega ponudnika internetnih storitev
    Dodajanje 6-pinskega ponudnika internetnih storitev
    Dodajanje 6-pinskega ponudnika internetnih storitev
    Dodajanje 6-pinskega ponudnika internetnih storitev
    Dodajanje 6-pinskega ponudnika internetnih storitev
    Dodajanje 6-pinskega ponudnika internetnih storitev

    Običajno v vse svoje projekte vgrajujem 6-polno glavo ponudnika internetnih storitev, tako da lahko po potrebi ponovno programiram čip in mi ga ni treba sneti s projektne plošče. Jahač zmajev na žalost nima na voljo 6-pinske glave ISP, vendar sem ugotovil, kako jo omogočiti.

    Opozorilo!!

    To je kramp. Če ne veste, kako to deluje, tega ne storite

    Opozoril sem vas. Ustvaril sem lastno vmesniško ploščo in 3-polni mostiček za dobavo 6-polne ISP glave. Dragon Rider nastavite na program in 8-pinski mikrokrmilnik. S 3-polno vtičnico preklapljam J8 za priključitev zatičev 1 in 3. To vodi signal ure do priključka PortB. Nato speljem skakalni kabel od glave PortB do adapterja in voila! Spodaj so slike…. prosim, prosim, prosim, ne delajte tega, če resnično ne razumete, kaj počnete, saj bi lahko poškodovali vaš AVR Dragon ali še huje, če to storite narobe.

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

    10. korak: Bralnik RSS z uporabo serijske povezave in LCD -zaslona

    Bralnik RSS z uporabo serijske povezave in LCD -zaslona
    Bralnik RSS z uporabo serijske povezave in LCD -zaslona
    Bralnik RSS z uporabo serijske povezave in LCD -zaslona
    Bralnik RSS z uporabo serijske povezave in LCD -zaslona

    Še naprej se igram s to razvojno ploščo. Tokrat sem del popoldneva porabil za razvijanje RSS -ja (večinoma na strani pythona). Mislim, da ne zahteva lastnih navodil, zato ga dodajam tukaj.

    Strojna oprema

    Dragon Rider 500 uporabljamo kot razvojno ploščo. To zagotavlja vso potrebno strojno opremo (ob predpostavki, da imate vse dodatne komplete). Rečeno je, da to zagotovo lahko storite z lastno nastavitvijo strojne opreme:

    • Mikrokrmilnik ATmega8 (ali kateri koli, ki ima USART in dovolj zatičev za vse povezave
    • Način programiranja mikrokrmilnika (uporabljam AVR Dragon)
    • Čip MAX232 za serijsko komunikacijo
    • Priključek DB9
    • HD44780 LCD zaslon
    • Kristal (uporabil sem kristal 8MHz)
    • Različni kondenzatorji in upori

    Spodaj je shema. Na Dragon Riderju bomo morali za ustvarjanje povezav uporabiti nekaj ustvarjalnosti. Običajno je vrata D mogoče priključiti neposredno na glavo LCD. To ne drži, ker USART, potreben za serijsko povezavo, uporablja PD0 in PD1. Poleg tega vrat B ni mogoče uporabiti, ker se za zunanji kristal uporabljata PB6 in PB7. Spodaj je moja rešitev te težave. Priključim trakovni kabel na glave za LCD, vrata B in vrata D, nato pa z mostičnimi žicami naredim ustrezne poti. Ne pozabite priključiti napetosti in ozemljitve na glavo LCD.

    Programska oprema

    Programska oprema tega projekta je sestavljena iz dveh delov, vdelane programske opreme za mikrokrmilnik in skripta python za strganje virov RSS in njihovo pošiljanje po serijski povezavi. /fleury). Je zmogljiv in jedrnat, vsestranski in ga je enostavno spremeniti za nastavitev strojne opreme. Če pogledate priloženo datoteko z glavo (lcd.h), boste videli, da tečem v 4-bitnem načinu z vrati D kot podatkovnimi bitovi in vrati B kot nadzornimi bitovi. Koncept te vdelane programske opreme je precej preprost.:

    • Ko je mikrokontroler vklopljen, se prikaže "RSS Reader" in nato čaka na serijske podatke.
    • Vsak prejeti bajt serijskih podatkov povzroči, da se medpomnilnik 16 znakov premakne v levo in doda bajt v vmesnik, nato pa prikaže medpomnilnik.
    • Mikrokrmilnik sprejme tri posebne ukaze: 0x00, 0x01 in 0x02. To je jasen zaslon, premaknite se na vrstico 0 in se pomaknite na vrstico 1.

    Python Scrypt Napisal sem pytonov skript za strganje podatkov RSS in njihovo pošiljanje po serijski povezavi. To zahteva modul python "pyserial", ki ga boste verjetno morali namestiti v sistem, da bo to delovalo. Vir RSS je mogoče konfigurirati na vrhu datoteke pyton. Upoštevajte, da morate vnesti ime vira in URL vira. Obstajajo trije primeri, prepričan sem, da jim lahko sledite za pravilno sinhronizacijo

    • Sestavite strojno opremo
    • Programirajte mikrokrmilnik (dragon_rss.hex lahko uporabite, če tega ne želite sami sestaviti). Nastavitve varovalk za ATmega8 z 8 MHz kristalom: lfuse = 0xEF hfuse = 0xD9
    • Vklopite Dragon Rider in se prepričajte, da je serijski kabel priključen (na LCD -prikazovalniku mora biti zapisano: "RSS Reader")
    • Izvedite program python (python serial_rss.py)
    • Uživajte

    Priporočena: