Satura rādītājs:

Kā lietot Dragon Rider 500 kopā ar AVR Dragon: 10 soļi
Kā lietot Dragon Rider 500 kopā ar AVR Dragon: 10 soļi

Video: Kā lietot Dragon Rider 500 kopā ar AVR Dragon: 10 soļi

Video: Kā lietot Dragon Rider 500 kopā ar AVR Dragon: 10 soļi
Video: ТРИ БЛЮДА НА НОВЫЙ ГОД 2024. Салат из капусты. Салат с Печенью! ЗАКУСКА С КАРТОШКОЙ И СЕЛЕДКОЙ 2024, Jūlijs
Anonim
Kā lietot Dragon Rider 500 kopā ar AVR Dragon
Kā lietot Dragon Rider 500 kopā ar AVR Dragon

Šī pamācība ir avārijas kurss, kā izmantot dažas Ecros Technologies Dragon Rider 500 funkcijas. Lūdzu, ņemiet vērā, ka Ecros vietnē ir pieejama ļoti detalizēta lietotāja rokasgrāmata.

Dragon Rider ir interfeisa dēlis lietošanai ar AVR mikrokontrolleru programmētāju, ko Atmel sauc par AVR Dragon. Plašāka informācija: 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 montāža Instrukcija: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Uzziniet visu par AVR mikrokontrolleriem: https://www.avrfreaks.net Šī pamācība laika gaitā var pieaugt, tāpēc pārbaudiet to atkal un atkal!

1. darbība: AVR Dude

Lai programmēšanai izmantotu AVR Dragon, nepieciešama programmēšanas programmatūra. Es izmantoju AVRdude ar Ubuntu operētājsistēmu (linux), un esmu ļoti apmierināts ar rezultātiem. Šī pamācība netiks galā ar programmēšanas programmatūras sarežģītību. Ja jūs nezināt, kā iestatīt vai izmantot programmēšanas programmatūru, pārbaudiet šo pamācību, lai jūs paātrinātu: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-pūķis/Manuprāt, ja esat iegādājies un samontējis Dragon Rider 500, jūs jau zināt, kā programmēt mikroshēmu ar AVR Dragon….. uz priekšu!

2. darbība: ATtiny2313 - mirgo gaismas diodes

ATtiny2313 - Mirgo gaismas diodes
ATtiny2313 - Mirgo gaismas diodes
ATtiny2313 - Mirgo gaismas diodes
ATtiny2313 - Mirgo gaismas diodes
ATtiny2313 - Mirgo gaismas diodes
ATtiny2313 - Mirgo gaismas diodes

Programmēsim ATtiny2313, kas ir 20 kontaktu mikrokontrolleris. Dragon Rider 500 ir ligzdas vairākiem dažāda lieluma AVR mikrokontrolleriem. Tajos ietilpst: 8, 20, 28 un 40 kontaktu ligzdas. Atkarībā no izmantotās kontaktligzdas, džemperi uz Dragon Rider dēļa ir jāiestata atšķirīgi.

Džempera iestatījumi

Uzstādiet džemperus uz Dragon Rider tā, lai šunti savienotu šādas tapas. (pin4 ir centrālā tapa J22 -J -24) Tapas: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Šī ir pamata iestatīšana, kas ļauj izmantot ISP (sistēmas programmēšanā).

Blinky Blinky

Programmēšana nedod neko labu, ja vien jums nav ko programmēt. Esmu uzrakstījis ļoti īsu koda piemēru, lai vienu reizi mirgotu Dragon Rider's LED. Izmantojiet lentes kabeli, lai savienotu LED galveni (J29) ar PortB galveni (J2).

Programmēšana

Esmu iekļāvis C failu, kā arī makefile un hex failu. Kā es minēju ievadā, es nevaru aptvert programmēšanas programmatūras pusi Instructable. Programmējiet tāpat kā AVR Dragon, jo Dragon Rider nemaz nemaina lietas programmatūras pusi.

3. darbība: LCD papildinājuma izmantošana

Izmantojot LCD papildinājumu
Izmantojot LCD papildinājumu

Šeit ir vienkāršs veids, kā izmantot LCD papildinājumu. LCD ekrānā tiks ierakstīts "Dragon Rider".

Aparatūra:

  • 2313
  • R/W džemperis: R/W ir jāpievieno "BIT1" Dragon Rider Board (sk. Skaidrojumu montāžas instrukcijā)
  • J23: Šis džemperis ir jāuzstāda ISP programmēšanai, bet pēc tam jānoņem, lai LCD darbotos pareizi.
  • Savienojiet LCD ar portu B, izmantojot lentes kabeli (J31 līdz J2)

Programmatūra

Es izmantoju Pītera Flerī LCD bibliotēku, lai vadītu LCD 4 bitu režīmā. Apmeklējiet Pētera mājas lapu, lai lejupielādētu bibliotēku. Jums būs jāpārliecinās, ka lcd.c ir apkopots ar jūsu kodu un ka veicat šādas izmaiņas vietnē lcd.h:

Mēs izmantojam iekšējo RC oscilatoru, tāpēc XTAL ir jāiestata 1 MHz:

#define XTAL 1000000

  • Ostas iestatījumi ir jāpielāgo PORTB:
  • #define LCD_PORT PORTB

  • Ir jāpielāgo pinout 4 datu līnijām:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • RS, RW un E pieslēgvieta ir jāpielāgo:
  • #definēt LCD_RS_PIN 3 #definēt LCD_RW_PIN 1 #definēt LCD_E_PIN 2

    Galvenā programma ir ļoti vienkārša, pateicoties Pītera Flerī paveiktajam savā LCD bibliotēkā. KODS:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inicializēt LCD ar kursoru izslēgtu lcd_clrscr (); // Notīriet LCD ekrānu lcd_gotoxy (5, 0); // Pārvietot kursoru uz šo vietu lcd_puts ("Dragon"); // Ielieciet šo virkni uz LCD lcd_gotoxy (6, 1); // Pārvietot kursoru uz šo vietu lcd_puts ("Braucējs"); // Ievietojiet šo virkni LCD ekrānā (;;) {// Nedariet neko mūžīgi (ziņojums jau tiek parādīts LCD)}}

    Kods pievienots

    Pievienotais kods ietver Pītera Flerī LCD bibliotēku (lcd.c un lcd.h) ar viņa atļauju. Paldies Pēterim! Vienīgās izmaiņas, ko esmu veicis, ir definēt atbilstošās tapas. Lūdzu, apmeklējiet viņa vietni, lai lejupielādētu paketi: https://www.jump.to/fleuryIr pievienots arī makefile, kuru izmantoju rakstījis Eric B. Weddington un Jorg Wunsch. Es nosūtīju PM uz Jorgu vietnē avrfreaks.net, bet nekad no viņa nesaņēmu atbildi. Makefile ir veiktas dažas izmaiņas, lai tās pielāgotu Linux un Dragon izmantošanai. Paldies jums abiem, lūdzu, norādiet man savas vēlmes, lai es dalītos jūsu darbā.

    4. darbība: 28 kontaktu UC ISP programmēšana (ATmega8)

    28 kontaktu UC ISP programmēšana (ATmega8)
    28 kontaktu UC ISP programmēšana (ATmega8)
    28 kontaktu UC ISP programmēšana (ATmega8)
    28 kontaktu UC ISP programmēšana (ATmega8)

    Nākamajā projekta demontāžā tiks izmantots ATmega8, kas ir 28 kontaktu avr. Šeit ir pamata džemperu komplekts ISP programmēšanai ar 28 kontaktu mikrokontrolleriem.

    Džempera iestatījumi

    Uzstādiet džemperus uz Dragon Rider tā, lai šunti savienotu šādas tapas. (pin4 ir J22 -J -24 centra tapa) Tapas: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Tehniskā informācija

    • J11 un J12 savienošana šādā veidā ļauj izmantot šīs tapas kā I/O tapas. Alternatīva būtu virzīt šīs tapas, lai izveidotu savienojumu ar ārējo kristālu.
    • J13 savienošana šādā veidā ļauj mums to izmantot kā atiestatīšanas tapu. Alternatīva novirzītu šo tapu uz PORTC galveni, lai to izmantotu kā I/O tapu. (tam būtu daudz trūkumu, tostarp nespēja ieprogrammēt šo mikroshēmu, izmantojot ISP).
    • J16 un J22-J24 ir savienoti šādā veidā, lai novirzītu atbilstošās tapas (Reset, MISO, MOSI un SCK) uz AVR Dragon ISP galveni.

    5. solis: Uzlabota LCD un pogu lietošana: lielais pulkstenis

    Uzlabota LCD un pogu lietošana: lielais pulkstenis
    Uzlabota LCD un pogu lietošana: lielais pulkstenis

    Šis ir jautrs projekts, kurā tiek izmantots LCD ekrāns un pogas. Mēs strādāsim ar reālā laika pulksteņa funkcijām un pielāgotajām rakstzīmēm LCD ekrānā. Apakšā esošajā attēlā var redzēt laiku 19:26:07, kas LCD ekrānā parādīts lielā skaitā. Katrs skaitlis izmanto 2x2 režģa rakstzīmju displeju, lai parādītu lielo skaitli. Tas izmanto fontu, ko Xtinus sākotnēji uzrakstīja XBMC projektam. Pogas tiek izmantotas pulksteņa iestatīšanai. Kreisais palielina stundas, augšup-minūtes, labais-pārslēdzas no 12 līdz 24 stundu laika, un Enter-atiestata sekundes uz nulli. Pulkstenis nesagādā ļoti labu laiku, jo mēs izmantojam ļoti neprecīzu iekšējo oscilatoru, taču šo programmu var viegli mainīt, lai izmantotu daudz precīzāku ārējo kristālu. Skatiet to darbībā zemāk esošajā videoklipā. Šī koda darbības skaidrojums ir kārtībā, bet man šobrīd nav laika. Pagaidām savienojiet LCD galveni (J31) ar PORTD (J4) un pogu galveni (J30) ar PORTB (J2). Pārliecinieties, vai SW1 un SW2 ir izslēgtā stāvoklī. Pievienojiet AVR Dragon USB kabelim un pievienojiet šī kabeļa otru galu datoram. Ieslēdziet SW2 un ieprogrammējiet ATmega8 ar izvēlēto programmēšanas programmatūru (hex fails zemāk; drošinātāji ir sadedzināti uz rūpnīcas iestatījumiem). PIEZĪME. Lai izmantotu kreiso un augšējo pogu, jums būs jānoņem šunta no J22 un J24, šo, kamēr barošana ir izslēgta.

    6. darbība: augstsprieguma programmēšana

    Esmu izmantojis augstsprieguma paralēlo programmēšanu, lai atdzīvinātu ATtiny2313, kurā esmu iestatījis nepareizus drošinātāju iestatījumus. Man tas bija vajadzīgs otrreiz, strādājot pie šī pamācības, jo nejauši uzrakstīju vēlamo lfuse iestatījumu hfuse reģistram ….. oops. Augstsprieguma paralēla programmēšana ir ērts rīks, kas ir jūsu rīcībā! Zemāk ir manu džemperu iestatījumu saraksts: IZMANTOJIET PAŠU RISKU, ŠIS PROGRAMMĒŠANAS veids var sabojāt jūsu aparatūru, ja nezināt, ko darāt !! Augstsprieguma paralēla programmēšana: ATtiny2313 ligzdā U3: SW1 - OFFSW2 - ONJ5, J6, J7 - savienot pin1 un pin2XTAL1 - savienot pin1 un pin2J16 - Pievienot pin1 un pin22x5 IDC kabeļi: PROG_CTRL - PORT D, PROG_DATA - PORT BAconnected J8-J13, J18, J19, J20, J22-J28, J24) Attiecībā uz citām mikroshēmām jums vajadzētu būt iespējai noskaidrot nepieciešamos iestatījumus no Atmel lietotāja rokasgrāmatas par to STK500.

    7. solis: paplašināšana ārpus valdes

    Paplašināšana ārpus valdes
    Paplašināšana ārpus valdes

    Man šķiet, ka ir diezgan viegli saskarties ar maizes dēli. Tas nodrošina daudz lielāku elastību, vienlaikus veidojot prototipus un izstrādājot kodu. Zemāk redzēsit pāris maizes dēļus, kas savienoti ar Dragon Rider. Es savienoju lentes kabeļus ar atbilstošajiem portiem vienā galā. No otras puses, es izmantoju džemperu vadus, lai savienotu pareizo ICD vadītāju ar maizes dēļiem.

    8. solis. Secinājums

    Šajā instrukcijā var būt iesaistīts daudz vairāk. Tieši šovakar es pabeidzu adapteri, kas ļauj izmantot 6 kontaktu programmēšanas galveni, nenoņemot pūķi no Dragon Rider. Es ievietošu informāciju par to, kā to izveidot pats … drīzumā. Ja jums ir citas lietas, kuras, jūsuprāt, jāpievieno, atstājiet komentāru.

    9. darbība: 6 kontaktu ISP pievienošana

    6 kontaktu ISP pievienošana
    6 kontaktu ISP pievienošana
    6 kontaktu ISP pievienošana
    6 kontaktu ISP pievienošana
    6 kontaktu ISP pievienošana
    6 kontaktu ISP pievienošana

    Visiem saviem projektiem es parasti izveidoju 6 kontaktu ISP galveni, lai vajadzības gadījumā varētu pārprogrammēt mikroshēmu un nebūtu jānoņem no projekta plates. Diemžēl pūķa braucējam nav pieejama 6 kontaktu ISP galvene, bet es sapratu, kā to padarīt pieejamu.

    Brīdinājums !

    Tas ir uzlaušana. Ja jūs precīzi nezināt, kā tas darbojas, nedariet to

    Jūs esat brīdināts. Esmu izveidojis savu adaptera dēli un 3 kontaktu džemperi, lai piegādātu 6 kontaktu ISP galveni. Tas, ko jūs darāt, ir iestatīt Dragon Rider uz programmu un 8 kontaktu mikrokontrolleru. Izmantojot 3 kontaktu kontaktligzdu, es džemperos ar J8, lai savienotu 1. un 3. tapas. Tādējādi pulksteņa signāls tiek novirzīts uz PortB savienotāju. Pēc tam es vadu pārejas kabeli no PortB galvenes uz savu adaptera plati un voila! Tālāk ir attēli…. lūdzu, lūdzu, lūdzu, nedariet to, ja vien patiesi nesaprotat, ko darāt, jo jūs varat sabojāt savu AVR Dragon vai vēl ļaunāk, ja rīkojaties nepareizi.

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

    10. solis: RSS lasītājs, izmantojot seriālo savienojumu un LCD

    RSS lasītājs, izmantojot seriālo savienojumu un LCD
    RSS lasītājs, izmantojot seriālo savienojumu un LCD
    RSS lasītājs, izmantojot seriālo savienojumu un LCD
    RSS lasītājs, izmantojot seriālo savienojumu un LCD

    Es turpinu spēlēties ar šo attīstības padomi. Šoreiz es pavadīju daļu pēcpusdienas, izstrādājot RSS lasījumu (galvenokārt lietu pitona pusē). Es nedomāju, ka tas garantē savu pamācību, tāpēc es to pievienoju šeit.

    Aparatūra

    Mēs izmantojam Dragon Rider 500 kā attīstības paneli. Tas nodrošina visu nepieciešamo aparatūru (pieņemot, ka jums ir visi papildu komplekti). Tas nozīmē, ka jūs noteikti varat to izdarīt, izmantojot savu aparatūras iestatījumu:

    • ATmega8 mikrokontrolleris (vai jebkurš, kuram ir USART un pietiekami daudz kontaktu visiem savienojumiem
    • Veids, kā programmēt mikrokontrolleru (es izmantoju AVR Dragon)
    • MAX232 mikroshēma seriālajiem sakariem
    • DB9 savienotājs
    • HD44780 LCD ekrāns
    • Kristāls (es izmantoju 8MHz kristālu)
    • Dažādi kondensatori un rezistori

    Shēma ir sniegta zemāk. Dragon Rider mums būs jāizmanto radošums, lai novirzītu savienojumus. Parasti portu D var savienot tieši ar LCD galveni. Šeit tas tā nav, jo sērijveida savienojumam nepieciešamais USART izmanto PD0 un PD1. Turklāt portu B nevar izmantot, jo ārējam kristālam tiek izmantoti PB6 un PB7. Tālāk redzamais ir mans risinājums šai problēmai. Es pievienoju lentes kabeli LCD, B un D portu galvenēm, pēc tam izmantoju vadus, lai izveidotu pareizos maršrutus. Neaizmirstiet pieslēgt spriegumu un zemējumu pie LCD galvenes.

    Programmatūra

    Šī projekta programmatūrai ir divas daļas: mikrokontrollera programmaparatūra un python skripts RSS plūsmu nokasīšanai un nosūtīšanai pa seriālo savienojumu. AVR programmaparatūra Es atkal izmantoju Pītera Flerī LCD bibliotēku (https://jump.to /fleury). Tas ir spēcīgs un kodolīgs, daudzpusīgs un viegli maināms aparatūras iestatīšanai. Ja paskatās pievienoto galvenes failu (lcd.h), jūs redzēsit, ka es strādāju 4 bitu režīmā ar D portu kā datu bitiem un portu B kā kontroles bitus. Šīs programmaparatūras koncepcija ir diezgan vienkārša:

    • Pēc ieslēgšanas mikrokontrolleris parāda "RSS Reader" un pēc tam gaida sērijas datus.
    • Katrs saņemto sērijas datu baits izraisa 16 rakstzīmju bufera pārvietošanos pa kreisi un pievieno baitu buferim, pēc tam parāda buferi.
    • Mikrokontrolleris pieņem trīs īpašas komandas: 0x00, 0x01 un 0x02. Tie ir skaidrs ekrāns, pāriet uz 0 rindu un attiecīgi uz 1 rindu.

    Python Scrypt Es uzrakstīju pitona skriptu, lai nokasītu RSS datus un nosūtītu tos, izmantojot seriālo savienojumu. Tas prasa python moduli "pyserial", kas, iespējams, būs jāinstalē jūsu sistēmā, lai tas darbotos. RSS plūsmu var konfigurēt pyton faila augšdaļā. Ņemiet vērā, ka jāievada plūsmas nosaukums, kā arī plūsmas URL. Tur ir trīs piemēri, es esmu pārliecināts, ka jūs varat sekot tiem, lai iegūtu pareizu sintēzi. Lai viss darbotos

    • Salieciet aparatūru
    • Ieprogrammējiet mikrokontrolleru (var izmantot dragon_rss.hex, ja nevēlaties to pats apkopot). Drošinātāju iestatījumi ATmega8, izmantojot 8 MHz kristālu: lfuse = 0xEF hfuse = 0xD9
    • Ieslēdziet Dragon Rider un pārliecinieties, vai seriālais kabelis ir pievienots kontaktligzdai (LCD vajadzētu lasīt: "RSS lasītājs")
    • Izpildiet python programmu (python serial_rss.py)
    • Izbaudi

    Ieteicams: