Sisällysluettelo:
- Vaihe 1: AVR -jätkä
- Vaihe 2: ATtiny2313 - Vilkkuu LED -valoja
- Vaihe 3: LCD-lisäosan käyttäminen
- Laitteisto:
- Ohjelmisto
- Koodi liitteenä
- Vaihe 4: 28-nastainen UC-ISP-ohjelmointi (ATmega8)
- Vaihe 5: Kehittynyt nestekidenäyttö ja painikkeiden käyttö: iso kello
- Vaihe 6: Suurjänniteohjelmointi
- Vaihe 7: Laajentuminen hallituksen ulkopuolelle
- Vaihe 8: Johtopäätös
- Vaihe 9: 6-nastaisen Internet-palveluntarjoajan lisääminen
- Tämä on hakkerointi. Jos et tiedä tarkalleen, miten tämä toimii, älä tee sitä
- Vaihe 10: RSS -lukija sarjaliitännän ja nestekidenäytön avulla
- Laitteisto
- Ohjelmisto
Video: Dragon Rider 500: n käyttäminen AVR Dragon -laitteen kanssa: 10 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
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
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
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
#define LCD_PORT PORTB
#define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7
#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)
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
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
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
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
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:
Infrapuna -anturin käyttäminen Arduinon kanssa: 8 vaihetta (kuvien kanssa)
Infrapuna -anturin käyttäminen Arduinon kanssa: Mikä on infrapuna -anturi? . IR -signaali
Sormenjälkitunnistimen käyttäminen ajanvaraukseen yhdessä XAMP -ratkaisun kanssa: 6 vaihetta (kuvien kanssa)
Sormenjälkitunnistimen käyttäminen ajanvaraukseen yhdessä XAMP -ratkaisun kanssa Ratkaisu: Kouluprojektissa etsimme ratkaisua oppilaiden läsnäolon seurantaan. Monet opiskelijoistamme tulevat myöhään. On työlästä työtä tarkistaa heidän läsnäolonsa. Toisaalta keskustelua on paljon, koska opiskelijat sanovat usein
RPLIDAR 360 ° -laserskannerin käyttäminen Arduinon kanssa: 3 vaihetta (kuvien kanssa)
RPLIDAR 360 ° -laserskannerin käyttäminen Arduinon kanssa: Olen suuri sumorobotien rakentamisen fani ja etsin aina uusia mielenkiintoisia antureita ja materiaaleja, joita voin käyttää paremman, nopeamman ja älykkäämmän robotin rakentamiseen. Sain tietää RPLIDAR A1: stä, jonka voit saada 99 dollarilla osoitteessa DFROBOT.com. Sanoin olevani kiinnostunut
DMX512 / RDM: n käyttäminen Raspberry Pi: n kanssa: 6 vaihetta (kuvien kanssa)
DMX512 / RDM: n käyttö Raspberry Pi: n kanssa: Raspberry Pi: tä voidaan käyttää valaistuksen ohjaamiseen DMX512 -väylän kautta. DMX512-väyläjärjestelmissä RS-485: tä käytetään fyysisenä kerroksena. RS422 / RS485 -sarjamuotoinen HAT on täysin galvaanisesti eristetty sarjaliikenteen HAT, joka on suunniteltu käytettäväksi Raspberry Pi
TCRT5000 -IR -anturimoduulin käyttäminen Arduino UNO: n kanssa: 7 vaihetta (kuvien kanssa)
TCRT5000 -IR -anturimoduulin käyttäminen Arduino UNO: n kanssa: Tässä opetusohjelmassa aiomme opettaa sinulle joitain perusasioita TCRT5000 -IR -anturimoduulin käytöstä. Nämä perusasiat näyttävät sarjamonitorin analogiset ja digitaaliset arvot.Kuvaus: Tämä IR -heijastava anturi käyttää TCRT5000 -tunnistinta värin ja