Sisukord:

Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga: 10 sammu
Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga: 10 sammu

Video: Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga: 10 sammu

Video: Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga: 10 sammu
Video: Полный курс React Query за час | TanStack Query v4 для начинающих 2024, Juuli
Anonim
Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga
Kuidas kasutada Dragon Rider 500 oma AVR Dragoniga

See juhend on juhuslik kursus, kuidas kasutada mõnda Ecros Technologiesi Dragon Rider 500 funktsiooni. Pange tähele, et Ecrosi veebisaidil on saadaval väga üksikasjalik kasutusjuhend.

Dragon Rider on liideseplaat, mida saab kasutada koos AVR -i mikrokontrolleri programmeerijaga, nimega Atmel. Lisateavet leiate Atmeli veebisaidilt: 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 kokkupanek Juhendatav: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Lugege kõike AVR-i mikrokontrollerite kohta: https://www.avrfreaks.net See juhend võib aja jooksul suureneda, nii et vaadake aeg-ajalt uuesti!

Samm: AVR -i kutt

AVR Dragoni programmeerimiseks kasutamiseks vajate programmeerimistarkvara. Ma kasutan AVRdude'i koos Ubuntu operatsioonisüsteemiga (linux) ja olen tulemustega väga rahul. See juhend ei tegele programmeerimistarkvara keerukusega. Kui te ei tea, kuidas programmeerimistarkvara seadistada või kasutada, vaadake seda juhendit, et kiirendada: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-draakon/Ma arvan, et kui olete Dragon Rider 500 ostnud ja kokku pannud, teate juba, kuidas programmeerida kiipi AVR Dragoniga….. edasi!

2. samm: ATtiny2313 - vilgutage LED -e

ATtiny2313 - vilgutage LED -e
ATtiny2313 - vilgutage LED -e
ATtiny2313 - vilgutage LED -e
ATtiny2313 - vilgutage LED -e
ATtiny2313 - vilgutage LED -e
ATtiny2313 - vilgutage LED -e

Programmeerime ATtiny2313, mis on 20-kontaktiline mikrokontroller. Dragon Rider 500-l on pistikupesad mitme erineva suurusega AVR-mikrokontrolleri jaoks. Nende hulka kuuluvad: 8, 20, 28 ja 40 kontaktiga pistikupesad. Sõltuvalt sellest, millist pistikupesa kasutate, tuleb Dragon Rideri tahvli džemprid seadistada erinevalt.

Jumper seaded

Seadke Dragon Rideri džemprid nii, et šuntid ühendaksid järgmised tihvtid. (pin4 on J22 -J -24 keskmine tihvt) Tihvtid: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41

Blinky Blinky

Programmeerimine ei too kasu, kui teil pole midagi programmeerida. Olen kirjutanud väga lühikese koodinäite, et vilkuda Dragon Rideri LED -id ükshaaval. Kasutage lintkaablit, et ühendada LED -päis (J29) PortB -päisega (J2).

Programmeerimine

Olen lisanud C -faili, samuti makefile'i ja hex -faili. Nagu ma sissejuhatuses mainisin, ei saa ma Instructable'is programmeerimise tarkvarapoolt katta. Programmeerige nagu teie AVR Dragoni puhul, kuna Dragon Rider ei muuda asjade tarkvara külge üldse.

Samm: LCD-lisandmooduli kasutamine

LCD lisandmooduli kasutamine
LCD lisandmooduli kasutamine

Siin on lihtne viis LCD-lisandmooduli kasutamiseks. See kirjutab LCD -ekraanile "Dragon Rider".

Riistvara:

  • AT13613
  • R/W hüppaja: R/W tuleks ühendada Dragon Rider Boardi "BIT1" -ga (vt selgitusi kokkupaneku juhendis)
  • J23: See hüppaja tuleb ISP programmeerimiseks paigaldada, kuid seejärel eemaldada, et LCD korralikult töötaks.
  • Ühendage LCD lindi kaabli abil portiga B (J31 kuni J2)

Tarkvara

Ma kasutan Peter Fleury LCD-raamatukogu, et juhtida LCD-d 4-bitises režiimis. Vaadake raamatukogu allalaadimiseks Peetri kodulehte. Peate veenduma, et lcd.c on koostatud teie koodiga ja et teete lcd.h -s järgmised muudatused:

Me kasutame sisemist RC -ostsillaatorit, nii et XTAL tuleb seadistada sagedusele 1 MHz:

#defineeri XTAL 1000000

  • Pordi seaded tuleb kohandada PORTB -ile:
  • #define LCD_PORT PORTB

  • 4 andmeliini pinout tuleb kohandada:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • RS, RW ja E pinout tuleb kohandada:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    Põhiprogramm on väga lihtne tänu Peter Fleury oma LCD -raamatukogus tehtud tööle. KOOD:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // LCD initsialiseerimine kursoriga välja lülitatud lcd_clrscr (); // LCD -ekraani tühjendamine lcd_gotoxy (5, 0); // Liiguta kursor sellesse kohta lcd_puts ("Dragon"); // Pane see string LCD -le lcd_gotoxy (6, 1); // Liiguta kursor sellesse kohta lcd_puts ("Rider"); // Pane see string LCD -le (;;) {// Ära tee igavesti midagi (teade on juba kuvatud LCD -ekraanil)}}

    Kood lisatud

    Lisatud kood sisaldab Peter Fleury LCD -raamatukogu (lcd.c ja lcd.h) tema loal. Aitäh Peeter! Ainus muudatus, mille ma sellesse olen teinud, on määrata määratlustes õiged tihvtid. Paketi allalaadimiseks külastage tema saiti: https://www.jump.to/fleuryOlen lisanud ka makefile'i, mida kasutan Eric B. Weddingtoni ja Jorg Wunschi kirjutatud kujul. Saatsin Jorgile PM -i aadressil avrfreaks.net, kuid ei saanud temalt kunagi vastust. Makefile'is on Linuxi ja Dragoni kasutamiseks kohandatud mõned muudatused. Tänan teid mõlemaid, palun andke mulle teada oma eelistustest, et jagan teie tööd.

    4. samm: 28-pin UC ISP programmeerimine (ATmega8)

    28-pin UC ISP programmeerimine (ATmega8)
    28-pin UC ISP programmeerimine (ATmega8)
    28-pin UC ISP programmeerimine (ATmega8)
    28-pin UC ISP programmeerimine (ATmega8)

    Järgmise projekti demonteerimisel kasutatakse ATmega8, mis on 28-kontaktiline avr. Siin on põhiline hüppajakomplekt ISP-i programmeerimiseks 28-kontaktiliste mikrokontrollerite jaoks.

    Jumper seaded

    Seadke Dragon Rideri džemprid nii, et šuntid ühendaksid järgmised tihvtid. (pin4 on J22 -J -24 keskmine tihvt) Tihvtid: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Tehniline informatsioon

    • Sel viisil J11 ja J12 ühendamine võimaldab teil neid tihvte kasutada sisend-/väljundina. Alternatiiviks oleks nende tihvtide suunamine välise kristalliga ühenduse loomiseks.
    • J13 sel viisil ühendamine võimaldab meil seda kasutada lähtestusnõelana. Alternatiiviks oleks see tihvt suunata PORTC päisesse, et seda kasutada sisend-/väljundpistikuna. (sellel oleks palju puudusi, sealhulgas suutmatus seda kiipi ISP abil programmeerida).
    • J16 ja J22-J24 on sel viisil ühendatud, et suunata sobivad tihvtid (Reset, MISO, MOSI ja SCK) AVR Dragoni ISP päisesse.

    5. samm: LCD ja nuppude täiustatud kasutamine: suur kell

    Täiustatud LCD ja nuppude kasutamine: suur kell
    Täiustatud LCD ja nuppude kasutamine: suur kell

    See on lõbus projekt, mis kasutab LCD -ekraani ja nuppe. Tegeleme reaalajas kella funktsioonide ja kohandatud sümbolitega LCD -ekraanil. Alloleval pildil näete vedelkristallekraanil suurtes kogustes kellaaega 19:26:07. Iga numbri puhul kasutatakse suure arvu kuvamiseks 2x2 ruudustikku kuvatavaid märke. See kasutab fonti, mille Xtinus algselt XBMC projekti jaoks kirjutas. Nuppe kasutatakse kella seadmiseks. Vasak vasak suurendab tunde, üles suurendab minuteid, parempoolne lülitab 12–24-tunnise aja ja Enter nullib sekundid nulli. Kell ei hoia väga head aega, kuna kasutame väga ebatäpset sisemist ostsillaatorit, kuid seda programmi saab hõlpsasti muuta, et kasutada palju täpsemat välist kristalli. Vaadake seda tegevuses allolevas videos. Selle koodi toimimise selgitus on korras, kuid mul pole praegu aega. Praegu ühendage LCD päis (J31) PORTD (J4) ja nuppude päis (J30) PORTB (J2). Veenduge, et SW1 ja SW2 oleksid väljalülitatud asendis. Ühendage AVR Dragon USB -kaabliga ja ühendage kaabli teine ots arvutiga. Lülitage SW2 sisse ja programmeerige ATmega8 teie valitud programmeerimistarkvaraga (heksakujuline fail allpool; tehaseseadetele põletatud kaitsmed). MÄRKUS. Vasak- ja ülesnuppude kasutamiseks peate eemaldama šuntid J22 ja J24 seda siis, kui toide on välja lülitatud.

    6. samm: kõrgepinge programmeerimine

    Olen kasutanud kõrgepinge paralleelset programmeerimist, et taaselustada ATtiny2313, mille seadistasin valed kaitseseaded. Vajasin seda teist korda selle juhendi kallal töötades, sest kirjutasin kogemata soovitud lfuse seadistuse hfuse registrisse ….. oeh. Kõrgpinge paralleelprogrammeerimine on teie käsutuses mugav tööriist! Allpool on minu hüppajaseadete loendid: KASUTAGE OMA RISKIL, NENDE PROGRAMMEERIMISE TÜÜP võib kahjustada teie riistvara, kui te ei tea, mida te teete !! Kõrgpinge paralleelprogrammeerimine: ATtiny2313 pistikupesas U3: SW1 - OFFSW2 - ONJ5, J6, J7 - ühendage pin1 ja pin2XTAL1 - ühendage pin1 ja pin2J16 - ühendage pin1 ja pin22x5 IDC -kaablid: PROG_CTRL - PORT D, PROG_DATA - PORT B Ühendatud J8-J13, J18, J19, J20, J22-J28, J24) Teiste kiipide puhul peaksite saama Atmeli STK500 kasutusjuhendist vajalikud sätted välja mõelda.

    7. samm: laienemine väljaspool juhatust

    Laienemine väljaspool juhatust
    Laienemine väljaspool juhatust

    Leian, et leivalauaga liidestamine on üsna lihtne. See võimaldab korraga palju rohkem paindlikkust prototüüpimisel ja koodi arendamisel. Allpool näete paar Dragon Rideriga ühendatud leivaplaati. Ühendan lintkaablid ühest otsast sobivate portidega. Teisest küljest kasutan õige ICD juhi ühendamiseks leivaplaatidega hüppajajuhtmeid.

    8. samm: järeldus

    Selles juhendis võib olla palju muudki. Just täna õhtul valmin adapteri, mis võimaldab teil kasutada 6-kontaktilist programmeerimispäist ilma draakonit Dragon Riderilt eemaldamata. Ma panen teavet selle kohta, kuidas seda ise ehitada… varsti. Kui teil on muid asju, mis teie arvates tuleb lisada, jätke kommentaar.

    Samm: 6-kontaktilise Interneti-teenuse pakkuja lisamine

    6-kontaktilise Interneti-teenuse pakkuja lisamine
    6-kontaktilise Interneti-teenuse pakkuja lisamine
    6-kontaktilise Interneti-teenuse pakkuja lisamine
    6-kontaktilise Interneti-teenuse pakkuja lisamine
    6-kontaktilise Interneti-teenuse pakkuja lisamine
    6-kontaktilise Interneti-teenuse pakkuja lisamine

    Tavaliselt ehitan kõikidele oma projektidele sisse 6-kontaktilise Interneti-teenuse pakkuja päise, et saaksin vajadusel kiipi ümber programmeerida ja ei peaks seda projektiplaadilt eemaldama. Kahjuks pole draakoniratturil saadaval 6-kontaktilist Interneti-teenuse pakkuja päist, kuid mõtlesin välja, kuidas see kättesaadavaks teha.

    Hoiatus !

    See on häkkimine. Kui te ei tea täpselt, kuidas see toimib, ärge seda tehke

    Teid on hoiatatud. Olen loonud oma adapteriplaadi ja 3-kontaktilise hüppaja, et pakkuda 6-kontaktilist isp-päist. See, mida teete, on seadistada Dragon Rider programmeerimiseks ja 8-kontaktiliseks mikrokontrolleriks. Kasutades 3-kontaktilist pistikupesa, hüppan J8, et ühendada tihvtid 1 ja 3. See suunab kellasignaali PortB-pistikusse. Seejärel jooksen hüppajakaabli PortB päisest oma adapteriplaadile ja voila! Allpool on pilte…. palun, palun, palun, ärge tehke seda, kui te ei saa tõeliselt aru, mida te teete, kuna võite oma AVR Dragonit kahjustada või veelgi hullem, kui teete seda valesti.

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

    Samm: RSS -lugeja jadaühenduse ja LCD -ekraani abil

    RSS -lugeja jadaühenduse ja LCD abil
    RSS -lugeja jadaühenduse ja LCD abil
    RSS -lugeja jadaühenduse ja LCD abil
    RSS -lugeja jadaühenduse ja LCD abil

    Jätkan selle arenduslauaga mängimist. Seekord veetsin osa pärastlõunast RSS -i lugemise arendamisega (enamasti asjade python -poolel). Ma arvan, et see ei nõua oma juhendamist, nii et lisan selle siia.

    Riistvara

    Arendusplaadina kasutame Dragon Rider 500. See tagab kogu vajaliku riistvara (eeldusel, et teil on olemas kõik lisakomplektid). Nagu öeldud, saate seda kindlasti teha oma riistvaraseadistusega:

    • ATmega8 mikrokontroller (või mis tahes, millel on USART ja piisavalt kontakte kõigi ühenduste jaoks
    • Mikrokontrolleri programmeerimise viis (ma kasutan AVR Dragonit)
    • MAX232 kiip jadaühenduseks
    • DB9 pistik
    • HD44780 LCD ekraan
    • Kristall (kasutasin 8MHz kristalli)
    • Erinevad kondensaatorid ja takistid

    Skeem on esitatud allpool. Dragon Rideril peame ühenduste marsruutimiseks kasutama teatavat loovust. Tavaliselt saab porti D ühendada otse LCD -päisega. Siin pole see nii, sest jadaühenduseks vajalik USART kasutab PD0 ja PD1. Lisaks ei saa porti B kasutada, kuna välise kristalli jaoks kasutatakse PB6 ja PB7. Allpool on minu lahendus sellele probleemile. Ühendan lintkaabli LCD, porti B ja pordi D päistega, seejärel kasutan õigete marsruutide loomiseks hüppajajuhtmeid. Ärge unustage ühendada pinge ja maandus LCD -päise külge.

    Tarkvara

    Selle projekti tarkvara koosneb kahest osast: mikrokontrolleri püsivara ja pythoni skript RSS -kanalite kraapimiseks ja jadaühenduse kaudu saatmiseks. AVR -i püsivara Kasutan uuesti Peter Fleury LCD -teeki (https://jump.to /Fleury). See on võimas ja lühike, mitmekülgne ja seda on riistvara seadistamiseks lihtne muuta. Kui vaatate manusesse lisatud päisefaili (lcd.h), näete, et ma töötan 4-bitises režiimis, port D kui andmebitt ja port B kui juhtbitt. Selle püsivara kontseptsioon on üsna lihtne:

    • Pärast sisselülitamist kuvab mikrokontroller "RSS Reader" ja ootab seeriaandmeid.
    • Iga saadud seeriaandmete bait põhjustab 16 tähemärgi suuruse puhvri nihutamist vasakule ja lisab baiti puhvrisse, seejärel kuvab puhvri.
    • Mikrokontroller võtab vastu kolm erikäsklust: 0x00, 0x01 ja 0x02. Need on selged ekraanid, liiguvad vastavalt reale 0 ja liiguvad vastavalt reale 1.

    Python Scrypt Kirjutasin pytoni skripti, et kraapida RSS -andmed ja saata need jadaühenduse kaudu. Selleks on vaja pythoni moodulit "pyserial", mille peate tõenäoliselt oma süsteemi installima, et see toimiks. RSS -voogu saab konfigureerida pyton -faili ülaosas. Pange tähele, et peate sisestama nii voo nime kui ka voo URL -i. Seal on kolm näidet, olen kindel, et saate järgida neid õige sünxi jaoks. See kõik töötab

    • Pange riistvara kokku
    • Programmeerige mikrokontroller (dragon_rss.hex saab kasutada, kui te ei soovi seda ise kompileerida). 8mega kristalli kasutavate ATmega8 kaitsmete seaded: lfuse = 0xEF hfuse = 0xD9
    • Lülitage Dragon Rider sisse ja veenduge, et jadakaabel on ühendatud (LCD peaks lugema: "RSS -lugeja")
    • Käivitage programm python (python serial_rss.py)
    • Nautige

    Soovitan: