Përmbajtje:

Si të përdorni Dragon Rider 500 me Dragon tuaj AVR: 10 hapa
Si të përdorni Dragon Rider 500 me Dragon tuaj AVR: 10 hapa

Video: Si të përdorni Dragon Rider 500 me Dragon tuaj AVR: 10 hapa

Video: Si të përdorni Dragon Rider 500 me Dragon tuaj AVR: 10 hapa
Video: ТРИ БЛЮДА НА НОВЫЙ ГОД 2024. Салат из капусты. Салат с Печенью! ЗАКУСКА С КАРТОШКОЙ И СЕЛЕДКОЙ 2024, Korrik
Anonim
Si të përdorni Dragon Rider 500 me AVR Dragon tuaj
Si të përdorni Dragon Rider 500 me AVR Dragon tuaj

Ky udhëzues është një kurs i rrëzimit se si të përdorni disa nga veçoritë e Dragon Rider 500 nga Ecros Technologies. Ju lutemi kini parasysh se ekziston një Udhëzues Përdoruesi shumë i detajuar i disponueshëm në faqen e internetit të Ecros.

Dragon Rider është një bord ndërfaqe për përdorim me një programues AVR mikrokontrollues të quajtur AVR Dragon nga Atmel. Për më shumë informacion: 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 Kuvendi Dragon Rider 500 Instructable: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Mësoni gjithçka për mikrokontrolluesit AVR: https://www.avrfreaks.net Ky udhëzues mund të rritet me kalimin e kohës, kështu që kontrolloni herë pas here!

Hapi 1: AVR Dude

Keni nevojë për disa programe programimi në mënyrë që të përdorni Dragon AVR për programim. Unë përdor AVRdude me sistemin operativ Ubuntu (linux) dhe jam shumë i kënaqur me rezultatet. Ky udhëzues nuk do të merret me ndërlikimet e softuerit të programimit. Nëse nuk dini si të vendosni ose përdorni softuer programimi, kontrolloni këtë udhëzues për t’ju sjellë shpejtësinë: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Mendimi im është se nëse keni blerë dhe keni montuar një Dragon Rider 500 ju tashmë e dini se si të programoni një çip me AVR Dragon ….. në vazhdim!

Hapi 2: ATtiny2313 - Mbyllni dritat LED

ATtiny2313 - Mbyll dritat LED
ATtiny2313 - Mbyll dritat LED
ATtiny2313 - Mbyll dritat LED
ATtiny2313 - Mbyll dritat LED
ATtiny2313 - Mbyll dritat LED
ATtiny2313 - Mbyll dritat LED

Le të programojmë një ATtiny2313 i cili është një mikrokontrollues me 20 kunja. Dragon Rider 500 ka priza për disa mikrokontrollues me madhësi të ndryshme AVR. Këto përfshijnë: 8, 20, 28 dhe 40 baza pin. Në varësi të folesë që përdorni, kërcyesit në tabelën Dragon Rider duhet të vendosen ndryshe.

Cilësimet e kërcyesit

Vendosni kërcyesit në Dragon Rider në mënyrë që shuntet të lidhin kunjat e mëposhtëm. (pin4 është kunja qendrore për J22 -J -24) Kunjat: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Ky është një konfigurim bazë që lejon ISP (Në Programimin e Sistemit).

Blinky Blinky

Programimi nuk bën mirë nëse nuk keni diçka për të programuar. Unë kam shkruar një shembull shumë të shkurtër të kodit për të ndezur LED -in e Dragoit Rider një nga një. Përdorni një kabllo fjongo për të lidhur titullin LED (J29) me kokën PortB (J2).

Programimi

Unë kam përfshirë skedarin C, si dhe një makefile dhe skedarin gjashtëkëndësh. Siç e përmenda në hyrje, unë nuk mund të mbuloj anën softuerike të programimit në Instructable. Programoni si ju për AVR Dragon, pasi Dragon Rider nuk ndryshon aspak anën e softuerit të gjërave.

Hapi 3: Përdorimi i Shtesës LCD

Përdorimi i Shtesës LCD
Përdorimi i Shtesës LCD

Këtu keni një mënyrë të thjeshtë për të përdorur Shtesën LCD. Kjo do të shkruajë "Dragon Rider" në ekranin LCD.

Hardware:

  • ATtiny2313
  • Bluzë R/W: R/W duhet të lidhet me "BIT1" në Bordin e Kalorësit të Dragoit (Shih shpjegimin në Instruksionin e Asamblesë)
  • J23: Ky bluzë duhet të instalohet për programimin e ISP -së, por më pas të hiqet që LCD të funksionojë siç duhet.
  • Lidhni LCD me PORT B duke përdorur kabllo fjongo (J31 në J2)

Softuer

Unë jam duke përdorur bibliotekën e Peter Fleury për të drejtuar LCD në modalitetin 4-bit. Shikoni Faqen E Internetit të Pjetrit për të shkarkuar bibliotekën. Ju do të duhet të siguroheni që lcd.c është përpiluar me kodin tuaj dhe se bëni ndryshimet e mëposhtme në lcd.h:

Ne po përdorim oshilatorin e brendshëm RC kështu që XTAL duhet të vendoset për 1MHz:

#përcakto XTAL 1000000

  • Cilësimet e portit duhet të rregullohen në PORTB:
  • #përcakto PORTB LCD_PORT

  • Pinout për 4 linja të dhënash duhet të përshtatet:
  • #percakto LCD_DATA0_PIN 4 #percakto LCD_DATA1_PIN 5 #percakto LCD_DATA2_PIN 6 #percakto LCD_DATA3_PIN 7

  • Pinout për RS, RW dhe E duhet të përshtatet:
  • #përcakto LCD_RS_PIN 3 #përcakto LCD_RW_PIN 1 #përcakto LCD_E_PIN 2

    Programi kryesor është shumë i thjeshtë falë punës që Peter Fleury bëri në bibliotekën e tij LCD. KODI:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Filloni LCD me kursorin e fikur lcd_clrscr (); // Pastroni ekranin LCD lcd_gotoxy (5, 0); // Zhvendos kursorin në këtë vendndodhje lcd_puts ("Dragon"); // Vendoseni këtë varg në LCD lcd_gotoxy (6, 1); // Zhvendos kursorin në këtë vendndodhje lcd_puts ("Rider"); // Vendoseni këtë varg në LCD për (;;) {// Mos bëni asgjë përgjithmonë (Mesazhi tashmë shfaqet në LCD)}}

    Kodi i Bashkangjitur

    Kodi i bashkangjitur përfshin bibliotekën LCD të Peter Fleury (lcd.c dhe lcd.h) me lejen e tij. Faleminderit Peter! Ndryshimi i vetëm që kam bërë në të është vendosja e kunjave të duhur në Përkufizimet. Ju lutemi vizitoni faqen e tij për të shkarkuar paketën: https://www.jump.to/fleuryI kam përfshirë edhe një makefile që unë përdor të shkruar nga Eric B. Weddington dhe, Jorg Wunsch. I dërgova një kryeministër Jorgut në avrfreaks.net por kurrë nuk mora përgjigje nga ai. Ka disa ndryshime në përbërjen për t'iu përshtatur përdorimit të Linux dhe Dragon. Ju faleminderit të dyve, ju lutem më tregoni se cilat janë preferencat tuaja për ndarjen e punës suaj.

    Hapi 4: Programimi i UC ISP 28-pin (ATmega8)

    Programimi i UC ISP 28-pin (ATmega8)
    Programimi i UC ISP 28-pin (ATmega8)
    Programimi i UC ISP 28-pin (ATmega8)
    Programimi i UC ISP 28-pin (ATmega8)

    Demontimi i projektit tjetër do të përdorë një ATmega8 i cili është një avr 28-pin. Këtu është grupi bazë i kërcyesit për ISP që programon mikrokontrolluesit 28-pin.

    Cilësimet e kërcyesit

    Vendosni kërcyesit në Dragon Rider në mënyrë që shuntet të lidhin kunjat e mëposhtëm. (pin4 është kunja qendrore për J22 -J -24) Kunjat: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Informacion teknik

    • Lidhja e J11 dhe J12 në këtë mënyrë ju lejon t'i përdorni ato kunjat si kunja I/O. Alternativa do të ishte drejtimi i këtyre kunjave për të krijuar një lidhje me kristalin e jashtëm.
    • Lidhja e J13 në këtë mënyrë na lejon ta përdorim atë si pin të rivendosur. Alternativa do ta drejtonte këtë kunj në kokën PORTC për t'u përdorur si një kunj I/O. (kjo do të kishte shumë të meta, përfshirë paaftësinë për të programuar këtë çip duke përdorur ISP).
    • J16 & J22-J24 janë të lidhura në këtë mënyrë për të drejtuar kunjat e duhura (Reset, MISO, MOSI dhe SCK) në kokën e ISP-së të AVR Dragon.

    Hapi 5: Përdorimi i avancuar i LCD dhe butonit: Ora e Madhe

    Përdorimi i avancuar i LCD dhe butonit: Ora e Madhe
    Përdorimi i avancuar i LCD dhe butonit: Ora e Madhe

    Ky është një projekt argëtues që përdor ekranin LCD dhe butonat. Ne do të merremi me funksionet e orës në kohë reale dhe karakteret e personalizuara në LCD. Në figurën në fund mund të shihni orën 7:26:07 pasdite të shfaqur në numër të madh në ekranin LCD. Çdo numër po përdor një rrjet 2x2 të karaktereve të shfaqur për të treguar numrin e madh. Kjo përdor një font të shkruar fillimisht nga Xtinus për projektin XBMC. Butonat përdoren për të vendosur orën. E majta rrit orët, Up rrit minutat, E djathta kalon midis orës 12 dhe 24-orëshe dhe Enter rivendos sekondat në zero. Ora nuk mban shumë kohë pasi ne po përdorim oshilatorin e brendshëm shumë të pasaktë, por ky program mund të ndryshohet lehtësisht për të përdorur një kristal të jashtëm shumë më të saktë. Shihni këtë në veprim në videon më poshtë. Një shpjegim se si funksionon ky kod është në rregull, por nuk kam kohë tani. Tani për tani, lidhni kokën LCD (J31) me PORTD (J4) dhe kokën e butonit (J30) me PORTB (J2). Sigurohuni që keni SW1 dhe SW2 në pozicionin e fikur. Lidhni AVR Dragon me një kabllo USB dhe futni skajin tjetër të atij kablli në kompjuterin tuaj. Ndizni SW2 dhe programoni ATmega8 me programin e programimit të zgjedhur nga ju (skedari gjashtëkëndësh më poshtë; siguresat e djegura në cilësimet e fabrikës). SHOTNIM: Për të përdorur butonat e majtë dhe lart ju do të duhet të hiqni shuntet nga J22 dhe J24, bëni kjo ndërsa energjia është e fikur.

    Hapi 6: Programimi i Tensionit të Lartë

    Unë kam përdorur Programimin Paralel të Tensionit të Lartë për të ringjallur një ATtiny2313 në të cilën kam vendosur cilësimet e gabuara të siguresave. Më duhej për herë të dytë kur punoja në këtë udhëzues sepse aksidentalisht shkrova cilësimin lfuse që doja në regjistrin hfuse ….. ooops. Programimi paralel i Tensionit të Lartë është një mjet i dobishëm që keni në dispozicion! Më poshtë keni një listë të cilësimeve të kërcyesit tim: PERDORIMI N AT RREZIKIN TUAJ, KY LLOJ PROGRAMIMI MUND T D DAMMTOJ HARDWARE TUAJ N ISE NUK E DI ÇFAR Y BON !! Programim Paralel i Tensionit të Lartë: ATtiny2313 në prizën U3: SW1 - OFFSW2 - ONJ5, J6, J7 - lidhni pin1 dhe pin2XTAL1 - lidhni pin1 dhe pin2J16 - Lidhni kabllot pin1 dhe pin22x5 IDC: PROG_CTRL në PORT D, PROG_DATA të lidhura me PORT BAll J8-J13, J18, J19, J20, J22-J28, J24) Për patate të skuqura të tjera duhet të jeni në gjendje të kuptoni cilësimet që ju nevojiten nga udhëzuesi i përdorimit të Atmel për STK500 e tyre.

    Hapi 7: Zgjerimi përtej Bordit

    Zgjerimi Përtej Bordit
    Zgjerimi Përtej Bordit

    E kam fare të lehtë të ndërlidhem me një dërrasë buke. Kjo lejon shumë më tepër fleksibilitet në prototipimin dhe zhvillimin e kodit në të njëjtën kohë. Më poshtë do të shihni disa borde buke të lidhura me Dragon Rider. I lidh kabllot e shiritit me portat e duhura në njërin skaj. Në anën tjetër unë përdor tela kërcyes për të lidhur përcjellësin e duhur të ICD me dërrasat e bukës.

    Hapi 8: Përfundimi

    Ka shumë më tepër që mund të përfshihen në këtë Udhëzues. Vetëm sonte unë përfundoj një përshtatës që ju lejon të përdorni kokën e programimit me 6 kunja pa hequr dragoin nga Dragon Rider. Unë do të jap informacione se si ta ndërtoni vetë … së shpejti. Nëse keni gjëra të tjera që mendoni se duhet të shtohen, lini një koment.

    Hapi 9: Shtimi i një ISP me 6 pin

    Shtimi i një ISP me 6 kunja
    Shtimi i një ISP me 6 kunja
    Shtimi i një ISP me 6 kunja
    Shtimi i një ISP me 6 kunja
    Shtimi i një ISP me 6 kunja
    Shtimi i një ISP me 6 kunja

    Unë zakonisht ndërtoj një titull ISP me 6 kunja për të gjitha projektet e mia, kështu që mund të riprogramoj çipin nëse është e nevojshme dhe të mos më duhet ta heq atë nga bordi i projektit. Kalorësi i dragoit fatkeqësisht nuk ka një kokë ISP me 6 kunja në dispozicion, por unë kuptova se si ta bëj atë të disponueshëm.

    Paralajmërim !!

    Ky është një hakim. Nëse nuk e dini saktësisht se si funksionon kjo, mos e bëni

    Ju jeni paralajmëruar. Unë kam krijuar bordin tim të përshtatësit dhe kërcyesin me 3 kunja në mënyrë që të furnizoj kokën isp me 6 kunja. Ajo që bëni është të vendosni Dragon Rider në program dhe mikrokontrollues me 8 kunja. Duke përdorur një prizë me 3 kunja, unë jam duke kërcyer J8 për të lidhur kunjat 1 dhe 3. Kjo drejton sinjalin e orës në lidhësin PortB. Unë pastaj drejtoj një kabllo kërcyesi nga titulli PortB tek bordi im i përshtatësit dhe voila! Ka fotografi më poshtë…. ju lutem, ju lutem, mos e bëni këtë nëse nuk e kuptoni vërtet atë që po bëni pasi mund të dëmtoni Dragon AVR tuaj ose më keq nëse e bëni këtë gabim.

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

    Hapi 10: Lexuesi RSS duke përdorur lidhjen serike dhe LCD

    RSS Reader duke përdorur lidhje serike dhe LCD
    RSS Reader duke përdorur lidhje serike dhe LCD
    RSS Reader duke përdorur lidhje serike dhe LCD
    RSS Reader duke përdorur lidhje serike dhe LCD

    Unë jam duke vazhduar të luaj me këtë bord zhvillimi. Këtë herë kalova një pjesë të një pasditeje duke zhvilluar një lexim RSS (kryesisht në anën piton të gjërave). Unë nuk mendoj se ajo garanton udhëzimet e veta, kështu që po e shtoj këtu.

    Hardware

    Ne po përdorim Dragon Rider 500 si një bord zhvillimi. Kjo siguron të gjithë harduerin që ju nevojitet (duke supozuar se i keni të gjitha kompletet shtesë). Duke u thënë që ju me siguri mund ta bëni këtë me konfigurimin tuaj të harduerit:

    • Mikrokontrolluesi ATmega8 (ose ndonjë që ka një USART dhe kunja të mjaftueshme për të gjitha lidhjet
    • Një mënyrë për të programuar mikrokontrolluesin (unë përdor AVR Dragon)
    • Çipi MAX232 për komunikimet serike
    • Lidhës DB9
    • Ekran LCD HD44780
    • Kristal (kam përdorur një kristal 8MHz)
    • Kondensatorë dhe rezistorë të ndryshëm

    Një skemë është dhënë më poshtë. Në Dragon Rider do të na duhet të përdorim disa kreativitet për të drejtuar lidhjet. Normalisht Porta D mund të lidhet drejtpërdrejt me kokën LCD. Ky nuk është rasti këtu sepse USART i nevojshëm për lidhjen serike përdor PD0 dhe PD1. Për më tepër, Porti B nuk mund të përdoret sepse PB6 dhe PB7 janë në përdorim për kristalin e jashtëm. Fotografia më poshtë është zgjidhja ime për këtë problem. Unë lidh një kabllo fjongo në titujt për LCD, Port B dhe Port D, pastaj përdor telat e kërcyesit për të bërë rrugët e duhura. Mos harroni të lidhni tensionin dhe tokëzimin në kokën LCD.

    Softuer

    Softueri për këtë projekt vjen në dy pjesë, firmueri për mikrokontrolluesin dhe skriptin python për fshirjen e burimeve RSS dhe dërgimin e tyre përmes lidhjes serike. Firmware AVRPërdor përsëri bibliotekën LCD të Peter Fleury (https://jump.to /furinë). Powerfulshtë i fuqishëm dhe konciz, i gjithanshëm dhe i lehtë për tu ndryshuar për konfigurimin e harduerit tuaj. Nëse shikoni skedarin e titullit të bashkangjitur (lcd.h) do të shihni që po punoj në modalitetin 4-bit me Port D si bit të dhënash dhe Port B si bit kontrolli. Koncepti i këtij firmware-i është goxha i thjeshtë:

    • Pasi të jetë ndezur mikrokontrolluesi shfaq "RSS Reader" dhe pastaj pret për të dhënat serike.
    • Çdo bajt i të dhënave serike të marra bën që një tampon prej 16 shkronjash të zhvendoset majtas dhe të shtojë bajtin në tampon, pastaj të shfaqë tampon.
    • Tre komanda të veçanta pranohen nga mikrokontrolluesi: 0x00, 0x01 dhe 0x02. Këto janë ekran të qartë, lëvizin në rreshtin 0 dhe lëvizin në rreshtin 1 respektivisht.

    Python ScryptI shkroi një shkrim pyton për të grisur të dhënat RSS dhe për t'i dërguar ato përmes lidhjes serike. Kjo kërkon modulin python "pyserial" të cilin me siguri do ta keni të instaluar në sistemin tuaj që të funksionojë kjo. Burimi RSS mund të konfigurohet në krye të skedarit pyton. Vini re se duhet të futni një emër për burimin, si dhe url -në e burimit. Ka tre shembuj atje, jam i sigurt që mund t'i ndiqni ato për sintaksën e duhur. Duke i bërë të gjitha të funksionojnë

    • Mblidhni harduerin
    • Programoni mikrokontrolluesin (dragon_rss.hex mund të përdoret nëse nuk doni ta përpiloni këtë vetë). Cilësimet e siguresave për ATmega8 duke përdorur një kristal 8 MHz: lfuse = 0xEF hfuse = 0xD9
    • Ndizni Dragon Rider dhe sigurohuni që kablli serik është i lidhur (LCD duhet të lexojë: "RSS Reader")
    • Ekzekutoni programin python (python serial_rss.py)
    • Shijoni

    Recommended: