Sisällysluettelo:

Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa: 10 vaihetta
Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa: 10 vaihetta

Video: Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa: 10 vaihetta

Video: Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa: 10 vaihetta
Video: RESCUE RIDERS SAVE THE DAY! | NEW Rescue Rider Dragon & Viking Sets 2024, Marraskuu
Anonim
Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa
Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa

Tämä ohje on lyhytkurssi siitä, kuinka käyttää joitain Ecros Technologiesin Dragon Rider 500 -ominaisuuksia. Huomaa, että Ecros -verkkosivustolla on erittäin yksityiskohtainen käyttöopas.

Dragon Rider on liitäntäkortti käytettäväksi AVR -mikro -ohjaimen kanssa, nimeltään AVM Dragon by Atmel. Lisätietoja: Atmel's Wesite: https://www.atmel.com/ AVR Dragon link: 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 -asennus Opastettava: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Opi kaikki AVR-mikrokontrollereista: https://www.avrfreaks.net Tämä ohje voi kasvaa ajan myötä, joten tarkista tilanne uudestaan ja uudestaan!

Vaihe 1: AVR -jätkä

Tarvitset ohjelmointiohjelmiston, jotta voit käyttää AVR Dragonia ohjelmointiin. Käytän AVRdudea Ubuntu -käyttöjärjestelmän (linux) kanssa ja olen erittäin tyytyväinen tuloksiin. Tämä ohje ei käsittele ohjelmointiohjelmiston monimutkaisuutta. Jos et osaa asentaa tai käyttää ohjelmointiohjelmistoa, tarkista tämä ohje, jotta saat nopeuden: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-lohikäärme/Oletan, että jos olet ostanut ja koonnut Dragon Rider 500: n, osaat jo ohjelmoida sirun AVR Dragonilla….. eteenpäin!

Vaihe 2: ATtiny2313 - Vilkkuu LED -valoja

ATtiny2313 - Vilkkuu LEDit
ATtiny2313 - Vilkkuu LEDit
ATtiny2313 - Vilkkuu LEDit
ATtiny2313 - Vilkkuu LEDit
ATtiny2313 - Vilkkuu LED -valoja
ATtiny2313 - Vilkkuu LED -valoja

Ohjelmoidaan ATtiny2313, joka on 20-nastainen mikro-ohjain. Dragon Rider 500: ssa on pistorasiat useille erikokoisille AVR-mikro-ohjaimille. Näitä ovat: 8, 20, 28 ja 40 -nastaiset pistorasiat. Dragon Rider -levyn hyppyjohdot on asetettava eri tavalla riippuen käyttämästäsi pistorasiasta.

Jumper -asetukset

Aseta Dragon Riderin puserot siten, että shuntit yhdistävät seuraavat nastat. (pin4 on J22 -J -24: n keskitappi) Nastat: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Tämä on perusasetus, joka mahdollistaa ISP: n (järjestelmäohjelmoinnissa).

Blinky Blinky

Ohjelmoinnista ei ole hyötyä, ellei sinulla ole mitään ohjelmoitavaa. Olen kirjoittanut hyvin lyhyen koodiesimerkin Dragon Riderin LED -merkkivalojen vilkkumiseksi yksi kerrallaan. Kytke LED -otsikko (J29) PortB -otsikkoon (J2) nauhakaapelilla.

Ohjelmointi

Olen sisällyttänyt C -tiedoston sekä makefile- ja hex -tiedoston. Kuten mainitsin esittelyssä, en voi kattaa ohjelmoinnin ohjelmistopuolta Instructable -ohjelmassa. Ohjelmoi kuten AVR Dragonille, sillä Dragon Rider ei muuta lainkaan ohjelmistopuolta.

Vaihe 3: LCD-lisäosan käyttäminen

LCD-lisäosan käyttäminen
LCD-lisäosan käyttäminen

Tässä on yksinkertainen tapa käyttää LCD-lisäosaa. Tämä kirjoittaa "Dragon Rider" LCD -näyttöön.

Laitteisto:

  • ATtiny2313
  • R/W -hyppyjohdin: R/W on kytkettävä Dragon Rider Board -laitteen "BIT1" -liitäntään (katso selitys asennusohjeesta)
  • J23: Tämä jumpperi on asennettava Internet -palveluntarjoajan ohjelmointia varten, mutta poistettava sitten, jotta nestekidenäyttö toimii oikein.
  • Liitä nestekidenäyttö porttiin B nauhakaapelilla (J31 - J2)

Ohjelmisto

Käytän Peter Fleuryn LCD-kirjastoa ajamaan nestekidenäyttöä 4-bittisessä tilassa. Tarkista Peterin kotisivu ja lataa kirjasto, sinun on varmistettava, että lcd.c on koottu koodisi kanssa ja että teet seuraavat muutokset lcd.h:

Käytämme sisäistä RC -oskillaattoria, joten XTAL on asetettava 1 MHz: lle:

#define XTAL 1000000

  • Portin asetukset on säädettävä PORTB:
  • #define LCD_PORT PORTB

  • Pinout 4 datalinjalle on mukautettava:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • RS, RW ja E nastareikä on mukautettava:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Pääohjelma on hyvin yksinkertainen Peter Fleuryn LCD -kirjastossa tekemän työn ansiosta.

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Alusta nestekidenäyttö kohdistimen ollessa pois päältä lcd_clrscr (); // LCD -näytön tyhjentäminen lcd_gotoxy (5, 0); // Siirrä kohdistin tähän paikkaan lcd_puts ("Dragon"); // Laita tämä merkkijono nestekidenäytölle lcd_gotoxy (6, 1); // Siirrä kohdistin tähän paikkaan lcd_puts ("Rider"); // Laita tämä merkkijono nestekidenäyttöön (;;) {// Älä tee mitään ikuisesti (Viesti näkyy jo nestekidenäytössä)}}

    Koodi liitteenä

    Liitteenä oleva koodi sisältää Peter Fleuryn LCD -kirjaston (lcd.c ja lcd.h) hänen luvallaan. Kiitos Peter! Ainoa muutos, jonka olen tehnyt, on asettaa oikeat nastat määritelmiin. Käy hänen sivustollasi ladataksesi paketin: https://www.jump.to/fleuryOlen myös lisännyt käyttämäni make -tiedoston, jonka ovat kirjoittaneet Eric B. Weddington ja Jorg Wunsch. Lähetin pääministerin Jorgelle osoitteessa avrfreaks.net, mutta en saanut häneltä vastausta. Make -tiedostoon on tehty muutamia muutoksia Linuxin ja Dragonin käyttöön. Kiitos teille molemmille, ilmoittakaa minulle mieltymyksenne siitä, että jaan työsi.

    Vaihe 4: 28-nastainen UC-ISP-ohjelmointi (ATmega8)

    28-nastainen UC-ISP-ohjelmointi (ATmega8)
    28-nastainen UC-ISP-ohjelmointi (ATmega8)
    28-nastainen UC-ISP-ohjelmointi (ATmega8)
    28-nastainen UC-ISP-ohjelmointi (ATmega8)

    Seuraavassa projektin purkamisessa käytetään ATmega8: a, joka on 28-nastainen avr. Tässä on perushyppyjoukko 28-nastaisten mikro-ohjaimien ISP-ohjelmointiin.

    Jumper -asetukset

    Aseta puserot Dragon Rider -laitteeseen niin, että shuntit yhdistävät seuraavat nastat. (pin4 on J22 -J -24: n keskitappi) Nastat: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24-42

    Tekninen informaatio

    • Liittämällä J11 ja J12 tällä tavalla voit käyttää näitä nastoja I/O -nastoina. Vaihtoehto olisi reitittää nämä nastat yhteyden muodostamiseksi ulkoisen kiteen kanssa.
    • Liittämällä J13 tällä tavalla voimme käyttää sitä nollausnappana. Vaihtoehtoisesti tämä nasta reititetään PORTC -otsakkeeseen käytettäväksi I/O -nastana. (tällä olisi monia haittoja, mukaan lukien kyvyttömyys ohjelmoida tätä sirua Internet -palveluntarjoajan avulla).
    • J16 ja J22-J24 on kytketty tällä tavalla ohjaamaan sopivat nastat (Reset, MISO, MOSI ja SCK) AVR Dragonin ISP-otsikkoon.

    Vaihe 5: Kehittynyt nestekidenäyttö ja painikkeiden käyttö: iso kello

    Kehittynyt nestekidenäyttö ja painikkeiden käyttö: iso kello
    Kehittynyt nestekidenäyttö ja painikkeiden käyttö: iso kello

    Tämä on hauska projekti, jossa käytetään LCD -näyttöä ja painikkeita. Käsittelemme reaaliaikaisen kellon toimintoja ja mukautettuja merkkejä nestekidenäytössä. Alareunassa olevassa kuvassa näkyy kello 19:26:07, joka näkyy suurina numeroina nestekidenäytössä. Jokainen numero käyttää 2x2 -ruudukkoa merkkinäytöstä suuren numeron näyttämiseksi. Tämä käyttää Xtinuksen alun perin XBMC -projektille kirjoittamaa fonttia. Näppäimillä asetetaan kello. Vasen lisää tunteja, Ylös lisää minuutteja, Oikea vaihtaa 12-24 tunnin ajan ja Enter palauttaa sekunnit nollaan. Kello ei pidä kovin hyvää aikaa, koska käytämme erittäin epätarkkaa sisäistä oskillaattoria, mutta tätä ohjelmaa voidaan helposti muuttaa käyttämään paljon tarkempaa ulkoista kideä. Katso tämä toiminnassa alla olevasta videosta. Selitys siitä, miten tämä koodi toimii, on kunnossa, mutta minulla ei ole aikaa juuri nyt. Liitä toistaiseksi LCD -otsikko (J31) porttiin PORTD (J4) ja painikkeiden otsikko (J30) porttiin PORTB (J2). Varmista, että sekä SW1 että SW2 ovat pois päältä. Liitä AVR Dragon USB -kaapeliin ja kytke kaapelin toinen pää tietokoneeseen. Käynnistä SW2 ja ohjelmoi ATmega8 valitsemallasi ohjelmointiohjelmistolla (alla oleva heksatiedosto; sulakkeet poltettu tehdasasetuksiin) HUOMAUTUS: Vasen ja ylös -painikkeiden käyttämiseksi sinun on poistettava shuntit J22: sta ja J24: stä tämän virran ollessa pois päältä.

    Vaihe 6: Suurjänniteohjelmointi

    Olen käyttänyt korkean jännitteen rinnakkaisohjelmointia elvyttääkseni ATtiny2313: n, johon olen asettanut väärät sulakeasetukset. Tarvitsin sitä toisen kerran, kun työskentelin tämän ohjeen parissa, koska kirjoitin vahingossa haluamani lfuse -asetuksen hfuse -rekisteriin ….. hups. Korkeajännitteinen rinnakkaisohjelmointi on kätevä työkalu, joka on käytettävissänne! Alla on luettelo hyppyasetuksistani: KÄYTÄ OMAAN RISKIINI, TÄMÄ OHJELMOINTI VOI vahingoittaa laitteistoa, jos et tiedä mitä olet tekemässä !! Korkeajännitteinen rinnakkaisohjelmointi: ATtiny2313 pistorasiassa U3: SW1 - OFFSW2 - ONJ5, J6, J7 - liitä nastat 1 ja 2 J8-J13, J18, J19, J20, J22-J28, J24) Muiden sirujen osalta sinun pitäisi pystyä selvittämään tarvittavat asetukset Atmelin STK500-käyttöoppaasta.

    Vaihe 7: Laajentuminen hallituksen ulkopuolelle

    Laajentuminen hallituksen ulkopuolelle
    Laajentuminen hallituksen ulkopuolelle

    Minusta on melko helppo liittää leipälauta. Tämä mahdollistaa paljon enemmän joustavuutta prototyyppien kehittämisessä ja koodin kehittämisessä samanaikaisesti. Alla näet pari leipälevyä, jotka on yhdistetty Dragon Rideriin. Liitän nauhakaapelit yhteen päähän sopiviin portteihin. Toisaalta käytän hyppyjohtoja oikean ICD -johtimen liittämiseen leipälevyihin.

    Vaihe 8: Johtopäätös

    Tähän ohjeeseen voi liittyä paljon muutakin. Juuri tänä iltana valmistan sovittimen, jonka avulla voit käyttää 6-nastaista ohjelmointiotsikkoa poistamatta lohikäärmettä Dragon Riderista. Annan tietoa siitä, miten voit rakentaa sellaisen itse… tulossa pian. Jos sinulla on muita asioita, jotka mielestäsi on lisättävä, jätä kommentti.

    Vaihe 9: 6-nastaisen Internet-palveluntarjoajan lisääminen

    6-nastaisen Internet-palveluntarjoajan lisääminen
    6-nastaisen Internet-palveluntarjoajan lisääminen
    6-nastaisen Internet-palveluntarjoajan lisääminen
    6-nastaisen Internet-palveluntarjoajan lisääminen
    6-nastaisen Internet-palveluntarjoajan lisääminen
    6-nastaisen Internet-palveluntarjoajan lisääminen

    Rakennan yleensä 6-nastaisen Internet-palveluntarjoajan otsikon kaikkiin projekteihini, jotta voin ohjelmoida sirun tarvittaessa uudelleen eikä minun tarvitse ottaa sitä pois projektitaululta. Lohikäärmeratsastajalla ei valitettavasti ole saatavilla 6-nastaista ISP-otsikkoa, mutta ymmärsin, kuinka tehdä sellainen saataville.

    Varoitus!

    Tämä on hakkerointi. Jos et tiedä tarkalleen, miten tämä toimii, älä tee sitä

    Sinua on varoitettu. Olen luonut oman sovitinlevyn ja 3-nastaisen hyppyjohdon toimittaakseni 6-nastaisen isp-otsikon. Sinun on asetettava Dragon Rider ohjelmoimaan ja 8-nastainen mikro-ohjain. Käytän 3-nastaista pistorasiaa hyppäämällä J8: n kanssa nastajen 1 ja 3 yhdistämiseen. Tämä reitittää kellosignaalin PortB-liittimeen. Sitten vedän hyppykaapelin PortB -otsikosta sovitinlevylleni ja voila! Alla on kuvia…. Ole hyvä, ole hyvä, älä tee tätä, ellet todella ymmärrä, mitä teet, koska voit vahingoittaa AVR Dragon -laitteesi tai pahempaa, jos teet tämän väärin.

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

    Vaihe 10: RSS -lukija sarjaliitännän ja nestekidenäytön avulla

    RSS -lukija sarjaliitännän ja nestekidenäytön avulla
    RSS -lukija sarjaliitännän ja nestekidenäytön avulla
    RSS -lukija sarjaliitännän ja nestekidenäytön avulla
    RSS -lukija sarjaliitännän ja nestekidenäytön avulla

    Jatkan pelaamista tämän kehityskortin kanssa. Tällä kertaa vietin osan iltapäivästä RSS -lukemisen kehittämiseen (enimmäkseen asioiden python -puolella). En usko, että se vaatii omaa ohjeistustaan, joten lisään sen tähän.

    Laitteisto

    Käytämme Dragon Rider 500: ta kehityskorttina. Tämä tarjoaa kaiken tarvitsemasi laitteiston (olettaen, että sinulla on kaikki lisäsarjat). Sanotaan, että voit varmasti tehdä tämän omalla laitteistoasetuksellasi:

    • ATmega8 -mikrokontrolleri (tai mikä tahansa, jossa on USART ja tarpeeksi nastoja kaikkiin yhteyksiin
    • Tapa ohjelmoida mikrokontrolleri (käytän AVR Dragonia)
    • MAX232 -siru sarjaliikenteeseen
    • DB9 -liitin
    • HD44780 LCD -näyttö
    • Crystal (käytin 8MHz kideä)
    • Erilaisia kondensaattoreita ja vastuksia

    Alla on kaavio. Dragon Rider -laitteessa meidän on käytettävä luovuutta reitittääksesi yhteydet. Normaalisti portti D voidaan kytkeä suoraan nestekidenäyttöön. Näin ei ole tässä tapauksessa, koska sarjayhteyteen tarvittava USART käyttää PD0: ta ja PD1: tä. Lisäksi porttia B ei voida käyttää, koska PB6 ja PB7 ovat käytössä ulkoisessa kiteessä. Alla on ratkaisuni tähän ongelmaan. Liitän nauhakaapelin nestekidenäytön, portin B ja portin D otsikoihin ja käytä sitten hyppyjohtoja oikeiden reittien tekemiseen. Muista kytkeä jännite ja maadoitus nestekidenäyttöön.

    Ohjelmisto

    Tämän projektin ohjelmisto koostuu kahdesta osasta, mikro -ohjaimen laiteohjelmistosta ja python -komentosarjasta RSS -syötteiden kaapimiseksi ja lähettämiseksi sarjaportin kautta. AVR -laiteohjelmisto Käytän uudelleen Peter Fleuryn LCD -kirjastoa (https://jump.to /fleury). Se on tehokas ja ytimekäs, monipuolinen ja helppo muuttaa laitteistoasetuksia varten. Jos tarkastelet liitteenä olevaa otsikkotiedostoa (lcd.h), näet, että käytän 4-bittistä tilaa, jossa portti D on databittejä ja portti B ohjausbittejä. Tämän laiteohjelmiston käsite on melko yksinkertainen:

    • Kun virta on kytketty, mikrokontrolleri näyttää "RSS Reader" ja odottaa sitten sarjatietoja.
    • Jokainen vastaanotettu sarjatiedon tavu aiheuttaa 16 merkin puskurin siirtymisen vasemmalle ja lisää tavun puskuriin ja näyttää puskurin.
    • Mikro -ohjain hyväksyy kolme erikoiskomentoa: 0x00, 0x01 ja 0x02. Nämä ovat selkeitä näyttöjä, siirry riville 0 ja riville 1.

    Python Scrypt Kirjoitin pyton -skriptin kaavataksesi RSS -tiedot ja lähettääksesi ne sarjayhteyden kautta. Tämä vaatii python -moduulin "pyserial", joka sinun on todennäköisesti asennettava järjestelmääsi saadaksesi tämän toimimaan. RSS -syöte voidaan määrittää pyton -tiedoston yläosassa. Huomaa, että sinun on annettava syötteen nimi ja syötteen URL -osoite. Siellä on kolme esimerkkiä, olen varma, että voit seurata niitä oikean syntxin saamiseksi

    • Kokoa laitteisto
    • Ohjelmoi mikro -ohjain (dragon_rss.hex voidaan käyttää, jos et halua kääntää tätä itse). Sulakeasetukset ATmega8: lle 8 MHz: n kiteellä: lfuse = 0xEF hfuse = 0xD9
    • Käynnistä Dragon Rider ja varmista, että sarjakaapeli on kytketty (nestekidenäytössä lukee: "RSS -lukija")
    • Suorita python -ohjelma (python serial_rss.py)
    • Nauttia

    Suositeltava: