Obsah:

Ako používať Dragon Rider 500 s vašim AVR Dragon: 10 krokov
Ako používať Dragon Rider 500 s vašim AVR Dragon: 10 krokov

Video: Ako používať Dragon Rider 500 s vašim AVR Dragon: 10 krokov

Video: Ako používať Dragon Rider 500 s vašim AVR Dragon: 10 krokov
Video: ТРИ БЛЮДА НА НОВЫЙ ГОД 2024. Салат из капусты. Салат с Печенью! ЗАКУСКА С КАРТОШКОЙ И СЕЛЕДКОЙ 2024, Júl
Anonim
Ako používať Dragon Rider 500 s vašim AVR Dragon
Ako používať Dragon Rider 500 s vašim AVR Dragon

Tento návod je nárazovým kurzom, ako používať niektoré z funkcií modelu Dragon Rider 500 od spoločnosti Ecros Technologies. Majte na pamäti, že na webovej stránke Ecros je k dispozícii veľmi podrobná používateľská príručka.

Dragon Rider je doska rozhrania na použitie s programátorom mikrokontroléra AVR s názvom AVR Dragon od spoločnosti Atmel. Viac informácií: Atmel's Wesite: https://www.atmel.com/ AVR Dragon odkaz: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 od Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Zostava Dragon Rider 500 Inštrukcia: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Získajte informácie o mikrokontroléroch AVR: https://www.avrfreaks.net Tento návod sa môže časom rozrastať, preto sa sem znova vráťte!

Krok 1: AVR Dude

Na používanie AVR Dragon na programovanie potrebujete nejaký programovací softvér. Používam AVRdude s operačným systémom Ubuntu (linux) a som s výsledkami veľmi spokojný. Tento návod sa nebude zaoberať zložitosťou programovacieho softvéru. Ak neviete, ako nastaviť alebo používať programovací softvér, pozrite sa na tento návod, ktorý vám pomôže dosiahnuť maximálnu rýchlosť: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Myslím, že ak ste si kúpili a zostavili Dragon Rider 500, už viete, ako naprogramovať čip pomocou AVR Dragon ….. ďalej!

Krok 2: ATtiny2313 - blikajte diódami LED

ATtiny2313 - Blikajte diódami LED
ATtiny2313 - Blikajte diódami LED
ATtiny2313 - Blikajte diódami LED
ATtiny2313 - Blikajte diódami LED
ATtiny2313 - Blikajte diódami LED
ATtiny2313 - Blikajte diódami LED

Naprogramujme ATtiny2313, čo je 20-kolíkový mikrokontrolér. Dragon Rider 500 má zásuvky pre niekoľko rôzne veľkých mikrokontrolérov AVR. Patria sem: 8, 20, 28 a 40 kolíkové zásuvky. V závislosti od použitej zásuvky musia byť prepojky na doske Dragon Rider nastavené odlišne.

Nastavenia prepojky

Nastavte prepojky na Dragon Rider tak, aby skraty spájali nasledujúce piny. (pin4 je stredový kolík pre J22 -J -24) Piny: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Toto je základné nastavenie, ktoré umožňuje ISP (v programovaní systému).

Blinky Blinky

Programovanie nie je dobré, pokiaľ nemáte čo programovať. Napísal som veľmi krátky príklad kódu na blikanie LED diód Dragon Rider po jednom. Na prepojenie hlavičky LED (J29) s hlavičkou PortB (J2) použite plochý kábel.

Programovanie

Zahrnul som súbor C, makefile a hex súbor. Ako som už spomenul v úvode, nemôžem pokryť softvérovú stránku programovania v Instructable. Programujte ako pre AVR Dragon, pretože Dragon Rider vôbec nemení softvérovú stránku veci.

Krok 3: Použitie doplnku LCD

Použitie doplnku LCD
Použitie doplnku LCD

Toto je jednoduchý spôsob, ako používať doplnok LCD. Na obrazovku LCD sa zapíše „Dragon Rider“.

Hardvér:

  • ATtiny2313
  • R/W prepojka: R/W by mala byť pripojená k „BIT1“na doske Dragon Rider (pozri vysvetlenie v návode na montáž)
  • J23: Táto prepojka musí byť nainštalovaná na programovanie ISP, ale potom musí byť odstránená, aby LCD správne fungoval.
  • Pripojte LCD k PORT B pomocou plochého kábla (J31 až J2)

Softvér

Na ovládanie LCD v 4-bitovom režime používam LCD knižnicu Petra Fleuryho. Na Petrovej domovskej stránke si stiahnite knižnicu. Budete sa musieť uistiť, že lcd.c je skompilovaný s vašim kódom a že na lcd.h vykonáte nasledujúce zmeny:

Používame interný RC oscilátor, takže XTAL je potrebné nastaviť na 1 MHz:

#definujte XTAL 10 000 000

  • Nastavenia portu je potrebné upraviť na PORTB:
  • #define LCD_PORT PORTB

  • Pinout pre 4 dátové linky je potrebné prispôsobiť:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • Pinout pre RS, RW a E je potrebné prispôsobiť:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Hlavný program je veľmi jednoduchý vďaka práci, ktorú Peter Fleury vykonal vo svojej LCD knižnici. KÓD:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inicializácia LCD s vypnutým kurzorom lcd_clrscr (); // Vymazanie obrazovky LCD lcd_gotoxy (5, 0); // Presuňte kurzor na toto miesto lcd_puts ("Dragon"); // Vložte tento reťazec na LCD lcd_gotoxy (6, 1); // Presuňte kurzor na toto miesto lcd_puts ("Rider"); // Vložte tento reťazec na LCD pre (;;) {// Nerobte nič navždy (Správa už je zobrazená na LCD)}}

    Priložený kód

    Pripojený kód obsahuje LCD knižnicu Petra Fleuryho (lcd.c a lcd.h) s jeho povolením. Ďakujem Peter! Jedinou zmenou, ktorú som na ňom urobil, je nastaviť správne piny v definíciách. Balík si stiahnite na jeho stránke: https://www.jump.to/fleury Zahrnul som tiež makefile, ktorý používam a ktorý napísali Eric B. Weddington a Jorg Wunsch. Poslal som PM Jorgovi na avrfreaks.net, ale nedostal som od neho odpoveď. V makefile je niekoľko zmien, ktoré sú prispôsobené používaniu Linuxu a Dragon. Ďakujem vám obom, dajte mi prosím vedieť, aké máte preferencie, keď zdieľam vašu prácu.

    Krok 4: 28-kolíkové programovanie UC ISP (ATmega8)

    28-kolíkové programovanie UC ISP (ATmega8)
    28-kolíkové programovanie UC ISP (ATmega8)
    28-kolíkové programovanie UC ISP (ATmega8)
    28-kolíkové programovanie UC ISP (ATmega8)

    Nasledujúca demonštrácia projektu bude využívať ATmega8, ktorý je 28-kolíkovým priemerom. Tu je základná sada prepojok pre programovanie ISP na 28-kolíkových mikrokontroléroch.

    Nastavenia prepojky

    Nastavte prepojky na Dragon Rider tak, aby skraty spájali nasledujúce piny. (pin4 je stredový kolík pre J22 -J -24) Kolíky: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Technická informácia

    • Pripojenie J11 a J12 týmto spôsobom vám umožní použiť tieto piny ako I/O piny. Alternatívou by bolo nasmerovať tieto kolíky na vytvorenie spojenia s vonkajším kryštálom.
    • Pripojenie J13 týmto spôsobom nám umožňuje použiť ho ako resetovací kolík. Alternatíva by smerovala tento pin do záhlavia PORTC na použitie ako vstupno -výstupný pin. (malo by to mnoho nevýhod, vrátane nemožnosti naprogramovať tento čip pomocou ISP).
    • J16 a J22-J24 sú týmto spôsobom prepojené tak, aby smerovali príslušné piny (Reset, MISO, MOSI a SCK) do hlavičky ISP AVR Dragon.

    Krok 5: Pokročilé používanie LCD a tlačidiel: veľké hodiny

    Pokročilé používanie LCD a tlačidiel: veľké hodiny
    Pokročilé používanie LCD a tlačidiel: veľké hodiny

    Ide o zábavný projekt, ktorý využíva obrazovku LCD a tlačidlá. Budeme sa zaoberať funkciami hodín v reálnom čase a vlastnými znakmi na LCD displeji. Na obrázku v spodnej časti vidíte čas 19:26:07 pm zobrazený vo veľkom počte na LCD obrazovke. Každé číslo používa na zobrazenie veľkého čísla mriežku znakov 2x2. Toto používa písmo pôvodne napísané Xtinusom pre projekt XBMC. Tlačidlá slúžia na nastavenie hodín. Vľavo zvyšuje hodiny, Hore zvyšuje minúty, Vpravo prepína medzi 12 a 24 hodinovým časom a Enter resetuje sekundy na nulu. Hodiny nezachovávajú príliš dobrý čas, pretože používame veľmi nepresný interný oscilátor, ale tento program je možné ľahko zmeniť tak, aby používal oveľa presnejší externý kryštál. Pozrite sa na to v akcii vo videu nižšie. Vysvetlenie, ako tento kód funguje, je na mieste, ale momentálne nemám čas. Zatiaľ pripojte záhlavie LCD (J31) k PORTD (J4) a záhlavie tlačidla (J30) k PORTB (J2). Uistite sa, že máte SW1 aj SW2 vo vypnutej polohe. Pripojte AVR Dragon k USB káblu a druhý koniec tohto kábla zapojte do počítača. Zapnite SW2 a naprogramujte ATmega8 pomocou programovacieho softvéru podľa vášho výberu (hex súbor nižšie; poistky spálené na továrenské nastavenia). UPOZORNENIE: Aby ste mohli používať tlačidlá Vľavo a Hore, budete musieť odstrániť skraty z J22 a J24, urobte to pri vypnutom napájaní.

    Krok 6: Programovanie vysokého napätia

    Použil som paralelné programovanie vysokého napätia na vzkriesenie ATtiny2313, na ktorom som nastavil nesprávne nastavenia poistky. Pri práci na tomto návode som to potreboval druhýkrát, pretože som omylom zapísal nastavenie lfuse, ktoré som chcel, do registra hfuse ….. oops. Paralelné programovanie vysokého napätia je užitočný nástroj, ktorý máte k dispozícii! Nasleduje zoznam mojich nastavení prepojok: POUŽÍVAJTE NA VLASTNÉ NEBEZPEČENSTVO, TENTO PROGRAMOVANIE MÔŽE POŠKODIŤ VÁŠ HARDWAR, AK NEVIETE, ČO ROBÍTE !! Paralelné programovanie vysokého napätia: ATtiny2313 v zásuvke U3: SW1 - OFFSW2 - ONJ5, J6, J7 - prepojenie pin1 a pin2XTAL1 - pripojenie pin1 a pin2J16 - pripojenie pin1 a pin22x5 IDC káble: PROG_CTRL na PORT D, PROG_DATA na PORT B Všetky ostatné prepojky nie sú prepojené (J8-J13, J18, J19, J20, J22-J28, J24) Pri ostatných čipoch by ste mali byť schopní zistiť potrebné nastavenia z používateľskej príručky spoločnosti Atmel k ich STK500.

    Krok 7: Rozšírenie mimo radu

    Rozširovanie mimo predstavenstva
    Rozširovanie mimo predstavenstva

    Rozhranie s breadboardom považujem za celkom jednoduché. To umožňuje oveľa väčšiu flexibilitu pri prototypovaní a vývoji kódu súčasne. Nižšie uvidíte niekoľko breadboardov prepojených s Dragon Riderom. Ploché káble pripájam na jednom konci k príslušným portom. Na druhej strane používam prepojovacie vodiče na prepojenie správneho vodiča ICD s doskami.

    Krok 8: Záver

    V tomto návode je možné zahrnúť oveľa viac. Práve dnes večer dokončujem adaptér, ktorý vám umožní používať 6-kolíkovú programovaciu hlavičku bez odstránenia draka z Dragon Ridera. Informácie o tom, ako si ich postaviť, uvediem čoskoro … už čoskoro. Ak máte ďalšie veci, ktoré si myslíte, že je potrebné pridať, zanechajte komentár.

    Krok 9: Pridanie 6-kolíkového ISP

    Pridanie 6-kolíkového ISP
    Pridanie 6-kolíkového ISP
    Pridanie 6-kolíkového ISP
    Pridanie 6-kolíkového ISP
    Pridanie 6-kolíkového ISP
    Pridanie 6-kolíkového ISP

    Väčšinou do všetkých svojich projektov zabudujem 6-kolíkovú hlavičku ISP, aby som v prípade potreby mohol čip preprogramovať a nemusel som ho vyberať z projektovej dosky. Drakový jazdec bohužiaľ nemá k dispozícii 6-kolíkovú hlavičku ISP, ale zistil som, ako ju sprístupniť.

    Pozor!!

    Toto je hack. Ak presne neviete, ako to funguje, nerobte to

    Boli ste varovaní. Vytvoril som vlastnú dosku adaptéra a 3-kolíkový prepojovací kábel, aby som mohol dodávať 6-kolíkovú hlavičku isp. Čo urobíte, nastavte Dragon Rider na programovanie a 8-kolíkový mikrokontrolér. Pomocou 3-kolíkovej zásuvky prepojím J8 na prepojenie pinov 1 a 3. To smeruje hodinový signál do konektora PortB. Potom prepojím prepojovací kábel zo záhlavia PortB s mojou doskou adaptéra a voila! Nasledujú obrázky … prosím, prosím, prosím, nerobte to, pokiaľ skutočne nerozumiete tomu, čo robíte, pretože by ste mohli poškodiť AVR Dragon alebo horšie, ak by ste to urobili zle.

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

    Krok 10: Čítačka RSS pomocou sériového pripojenia a LCD

    Čítačka RSS pomocou sériového pripojenia a LCD
    Čítačka RSS pomocou sériového pripojenia a LCD
    Čítačka RSS pomocou sériového pripojenia a LCD
    Čítačka RSS pomocou sériového pripojenia a LCD

    Pokračujem v hraní s touto vývojovou doskou. Tentoraz som strávil časť popoludnia vývojom čítania RSS (väčšinou na pythonovej strane veci). Nemyslím si, že to zaručuje jeho vlastný návod, takže ho pridávam sem.

    Hardvér

    Ako vývojovú dosku používame Dragon Rider 500. To poskytuje všetok potrebný hardvér (za predpokladu, že máte všetky doplnkové sady). To znamená, že to určite môžete urobiť pomocou vlastného nastavenia hardvéru:

    • Mikrokontrolér ATmega8 (alebo akýkoľvek, ktorý má USART a dostatok pinov pre všetky pripojenia
    • Spôsob programovania mikrokontroléra (používam AVR Dragon)
    • Čip MAX232 pre sériovú komunikáciu
    • Konektor DB9
    • LCD obrazovka HD44780
    • Kryštál (použil som kryštál 8 MHz)
    • Rôzne kondenzátory a odpory

    Schéma je uvedená nižšie. Na trase Dragon Rider budeme musieť použiť určitú kreativitu na smerovanie spojení. Port D by sa dal bežne pripojiť priamo k záhlaviu LCD. V tomto prípade to tak nie je, pretože USART potrebný pre sériové pripojenie používa PD0 a PD1. Port B navyše nemožno použiť, pretože pre externý kryštál sa používajú PB6 a PB7. Na tomto obrázku je moje riešenie tohto problému. Zapojte plochý kábel do konektorov pre LCD, port B a port D a potom pomocou prepojovacích káblov vytvorte správne trasy. Nezabudnite pripojiť napätie a uzemnenie k záhlaviu LCD.

    Softvér

    Softvér pre tento projekt sa skladá z dvoch častí, firmvéru pre mikrokontrolér a skriptu python na zoškrabanie kanálov RSS a ich odoslanie cez sériové pripojenie. Firmvér AVR Opäť používam knižnicu LCD Petra Fleuryho (https://jump.to /fleury). Je to silné a stručné, všestranné a dá sa ľahko zmeniť v rámci nastavenia hardvéru. Ak sa pozriete na priložený súbor záhlavia (lcd.h), uvidíte, že bežím v 4-bitovom režime s portom D ako dátovými bitmi a portom B ako riadiacimi bitmi. Koncept tohto firmvéru je veľmi jednoduchý:

    • Po zapnutí mikrokontrolér zobrazí „RSS Reader“a potom čaká na sériové údaje.
    • Každý prijatý bajt sériových dát spôsobí, že sa vyrovnávacia pamäť so 16 znakmi posunie doľava a pridá bajt do vyrovnávacej pamäte a potom zobrazí vyrovnávaciu pamäť.
    • Mikrokontrolér akceptuje tri špeciálne príkazy: 0x00, 0x01 a 0x02. Jedná sa o čistú obrazovku, prejdite na riadok 0 a presuňte sa na riadok 1.

    Python ScryptI napísal skript pyton na zoškrabanie údajov RSS a ich odoslanie cez sériové pripojenie. Na to, aby to fungovalo, je potrebný modul python „pyserial“, ktorý budete pravdepodobne musieť nainštalovať do svojho systému. Informačný kanál RSS je možné nakonfigurovať v hornej časti súboru pyton. Všimnite si toho, že musíte zadať názov informačného kanála a tiež jeho URL. Existujú tri príklady, som si istý, že ich môžete dodržiavať pre správny syntx. Aby to všetko fungovalo

    • Zostavte hardvér
    • Naprogramujte mikrokontrolér (dragon_rss.hex je možné použiť, ak ho nechcete zostavovať sami). Nastavenia poistky pre ATmega8 pomocou kryštálu 8 MHz: lfuse = 0xEF hfuse = 0xD9
    • Zapnite zariadenie Dragon Rider a uistite sa, že je zapojený sériový kábel (na LCD displeji by sa malo zobrazovať: „Čítačka RSS“)
    • Spustite program python (python serial_rss.py)
    • Užite si to

    Odporúča: