INHOUDSOPGAWE:
- Stap 1: AVR Dude
- Stap 2: ATtiny2313 - Knipper die LED's
- Stap 3: Gebruik die LCD-byvoeging
- Hardeware:
- Sagteware
- Kode aangeheg
- Stap 4: 28-pins UC ISP-programmering (ATmega8)
- Stap 5: Gevorderde LCD en knoppie gebruik: die groot klok
- Stap 6: Hoogspanningsprogrammering
- Stap 7: Uitbreiding buite die raad
- Stap 8: Gevolgtrekking
- Stap 9: Voeg 'n 6-pins ISP by
- Dit is 'n hack. As u nie presies weet hoe dit werk nie, moet dit nie doen nie
- Stap 10: RSS -leser met seriële verbinding en LCD
- Hardeware
- Sagteware
Video: Hoe om die Dragon Rider 500 met u AVR -draak te gebruik: 10 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:28
Hierdie instruksies is 'n ongelukskursus oor die gebruik van sommige van die funksies van die Dragon Rider 500 van Ecros Technologies. Hou in gedagte dat daar 'n baie gedetailleerde gebruikersgids op die Ecros -webwerf beskikbaar is.
Die Dragon Rider is 'n koppelvlakbord vir gebruik met 'n AVR -mikrobeheerderprogrammeerder genaamd AVR Dragon deur Atmel. Vir meer inligting: Atmel's Wesite: https://www.atmel.com/ AVR Dragon -skakel: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 deur Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Dragon Rider 500-samestelling Instrueerbaar: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Kom meer te wete oor die AVR-mikrobeheerders: https://www.avrfreaks.net Hierdie instruksie kan mettertyd groei, so kom af en toe terug!
Stap 1: AVR Dude
U benodig 'n paar programmeersagteware om die AVR Dragon vir programmering te kan gebruik. Ek gebruik AVRdude met die Ubuntu -bedryfstelsel (Linux) en ek is baie tevrede met die resultate. As u nie weet hoe om sagteware op te stel of te gebruik nie, kyk dan na hierdie instruksies om u op hoogte te hou: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-draak/My raaiskoot is dat as u 'n Dragon Rider 500 gekoop en bymekaargemaak het, u reeds weet hoe om 'n chip met die AVR Dragon te programmeer …..
Stap 2: ATtiny2313 - Knipper die LED's
Kom ons programmeer 'n ATtiny2313, 'n 20-pen mikrokontroleerder. Die Dragon Rider 500 het voetstukke vir verskillende AVR-mikrobeheerders in verskillende groottes. Dit sluit in: 8, 20, 28 en 40 -pen voetstukke. Afhangende van die aansluiting wat u gebruik, moet springers op die Dragon Rider -bord anders gestel word.
Jumper -instellings
Stel die springers op die Dragon Rider sodat die shunts die volgende penne verbind. (pin4 is die middelste pen vir J22 -J -24) Spelde: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Dit is 'n basiese opstelling waarmee ISP (in stelselprogrammering) moontlik is.
Blinkerig Blinkerig
Om te programmeer, het niks te doen nie, tensy u iets het om te programmeer. Ek het 'n baie kort kode voorbeeld geskryf om die LED's van die Dragon Rider een vir een te laat knip. Gebruik 'n lintkabel om die LED kop (J29) aan die PortB kop (J2) te koppel.
Programmering
Ek het die C -lêer sowel as 'n makefile en die hex -lêer ingesluit. Soos ek in die inleiding genoem het, kan ek nie die sagtewarekant van programmering in die Instructable dek nie. Programmeer soos u vir die AVR Dragon, aangesien die Dragon Rider glad nie die sagteware -kant van dinge verander nie.
Stap 3: Gebruik die LCD-byvoeging
Hier is 'n eenvoudige manier om die LCD-byvoeging te gebruik. Dit sal 'Dragon Rider' op die LCD -skerm skryf.
Hardeware:
- ATtiny2313
- R/W -trui: R/W moet gekoppel wees aan "BIT1" op die Dragon Rider Board (sien uitleg in die samestelling Instrueerbaar)
- J23: Hierdie trui moet geïnstalleer word vir ISP -programmering, maar dan verwyder word sodat die LCD behoorlik kan funksioneer.
- Koppel die LCD aan PORT B met 'n lintkabel (J31 tot J2)
Sagteware
Ek gebruik die LCD-biblioteek van Peter Fleury om die LCD in 4-bis-modus te bestuur. Besoek Peter se tuisblad om die biblioteek af te laai. U moet seker maak dat lcd.c saamgestel is met u kode en dat u die volgende veranderinge aan lcd.h aanbring:
Ons gebruik die interne RC -ossillator, dus moet XTAL ingestel word op 1MHz:
#definieer XTAL 1000000
#definieer LCD_PORT PORTB
#definieer LCD_DATA0_PIN 4 #definieer LCD_DATA1_PIN 5 #definieer LCD_DATA2_PIN 6 #definieer LCD_DATA3_PIN 7
#definieer LCD_RS_PIN 3 #definieer LCD_RW_PIN 1 #definieer LCD_E_PIN 2
Die hoofprogram is baie eenvoudig danksy die werk wat Peter Fleury in sy LCD -biblioteek gedoen het.
#include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Initialiseer LCD met die wyser af lcd_clrscr (); // Maak die LCD -skerm lcd_gotoxy (5, 0) skoon; // Beweeg wyser na hierdie plek lcd_puts ("Dragon"); // Sit hierdie string op die LCD lcd_gotoxy (6, 1); // Beweeg wyser na hierdie plek lcd_puts ("Ruiter"); // Plaas hierdie string op die LCD vir (;;) {// Doen niks vir ewig nie (boodskap word reeds op LCD vertoon)}}
Kode aangeheg
Die aangehegte kode bevat Peter Fleury se LCD -biblioteek (lcd.c en lcd.h) met sy toestemming. Dankie Peter! Die enigste verandering wat ek daaraan aangebring het, is om die regte penne in die definisies te plaas. Besoek sy webwerf om die pakket af te laai: https://www.jump.to/fleury Ek het 'n PM gestuur na Jorg op avrfreaks.net, maar het nooit 'n antwoord van hom gekry nie. Daar is 'n paar veranderinge in die vervaardigingslêer om aan te pas by die gebruik van Linux en die draak. Dankie aan julle albei, stel my asseblief in kennis van julle voorkeure dat ek julle werk deel.
Stap 4: 28-pins UC ISP-programmering (ATmega8)
Die volgende demontrasie van die projek sal gebruik maak van 'n ATmega8, 'n 28-pins avr. Hier is die basiese jumperstel vir ISP-programmering van die 28-pen mikrobeheerders.
Jumper -instellings
Stel die springers op die Dragon Rider sodat die shunts die volgende penne verbind. (pen4 is die middelste pen vir J22 -J -24) Spelde: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42
Tegniese informasie
- Deur J11 en J12 op hierdie manier aan te sluit, kan u die penne as I/O -penne gebruik. Die alternatief sou wees om hierdie penne te lei om 'n verbinding met die eksterne kristal te maak.
- Deur J13 op hierdie manier aan te sluit, kan ons dit as die resetpen gebruik. Die alternatief lei hierdie pen na die PORTC -kop vir gebruik as 'n I/O -pen. (dit het baie nadele, insluitend die onvermoë om hierdie chip met behulp van ISP te programmeer).
- J16 en J22-J24 is op hierdie manier verbind om die toepaslike penne (Reset, MISO, MOSI en SCK) na die ISP-kop van die AVR Dragon te stuur.
Stap 5: Gevorderde LCD en knoppie gebruik: die groot klok
Dit is 'n prettige projek wat gebruik maak van die LCD -skerm en knoppies. Ons het te doen met die funksies van Real Time Clock en persoonlike karakters op die LCD. Op die foto onderaan kan u die tyd 7:26:07 in groot getalle op die LCD -skerm sien. Elke getal gebruik 'n 2x2 -rooster van die karakters wat vertoon word om die groot getal aan te dui. Dit maak gebruik van 'n lettertipe wat oorspronklik deur Xtinus geskryf is vir die XBMC -projek. Die knoppies word gebruik om die klok in te stel. Links verhoog die ure, Up verhoog die minute, Right wissel tussen 12 en 24 uur, en Enter stel die sekondes terug op nul. Die klok hou nie baie tyd nie, aangesien ons die baie onakkurate interne ossillator gebruik, maar hierdie program kan maklik verander word om 'n baie meer akkurate eksterne kristal te gebruik. Sien dit in aksie in die video hieronder. 'N Verduideliking van hoe hierdie kode werk, is in orde, maar ek het nie nou die tyd nie. Koppel die LCD -kop (J31) vir eers aan PORTD (J4) en die knoppie -kop (J30) aan PORTB (J2). Maak seker dat beide SW1 en SW2 af is. Koppel die AVR Dragon aan 'n usb -kabel en steek die ander kant van die kabel in u rekenaar. Skakel SW2 aan en programmeer die ATmega8 met die programmeersagteware van u keuse (hex -lêer hieronder; versmeltings wat in die fabrieksinstellings gebrand is) OPMERKING: Om die knoppies links en omhoog te gebruik, moet u die shunts van J22 en J24 verwyder. dit terwyl die krag af is.
Stap 6: Hoogspanningsprogrammering
Ek het die High Voltage Parallel Programming gebruik om 'n ATtiny2313 op te wek waarop ek die verkeerde lontinstellings gestel het. Ek het dit 'n tweede keer nodig gehad toe ek aan hierdie instruksies gewerk het, want ek het per ongeluk die lfuse -instelling wat ek wou, in die hfuse -register geskryf … oops. Hoëspanning parallelle programmering is 'n handige hulpmiddel om tot u beskikking te wees! Hieronder is 'n lys van my jumperinstellings: GEBRUIK OP U EIE RISIKO, HIERDIE TYPE PROGRAMMERING KAN U HARDWARE BESKADIG AS U NIE WEET WAT U DOEN NIE !! Parallelle programmering met hoë spanning: ATtiny2313 in aansluiting U3: SW1 - OFFSW2 - ONJ5, J6, J7 - verbind pin1 en pin2XTAL1 - verbind pin1 en pin2J16 - Verbind pin1 en pin22x5 IDC -kabels: PROG_CTRL na PORT D, PROG_DATA na PORT BA J8-J13, J18, J19, J20, J22-J28, J24) Vir ander skyfies moet u die instellings wat u benodig, kan uitvind in die gebruikershandleiding van Atmel vir hul STK500.
Stap 7: Uitbreiding buite die raad
Ek vind dit redelik maklik om met 'n broodbord te koppel. Dit bied baie meer buigsaamheid in die prototipering en ontwikkeling van kode terselfdertyd. Hieronder sien u 'n paar broodborde wat aan die Dragon Rider gekoppel is. Ek verbind die lintkabels aan die een kant aan die toepaslike poorte. Aan die ander kant gebruik ek springdrade om die regte ICD -geleier met die broodborde aan te sluit.
Stap 8: Gevolgtrekking
Daar kan nog baie meer by hierdie instruksies betrokke wees. Net vanaand voltooi ek 'n adapter waarmee u die 6-pins programmeerkop kan gebruik sonder om die draak uit die Dragon Rider te verwyder. Ek sal inligting gee oor hoe u dit self kan bou … binnekort. As u ander dinge het wat u dink moet bygevoeg word, laat 'n opmerking.
Stap 9: Voeg 'n 6-pins ISP by
Ek bou gewoonlik 'n 6-pins ISP-kop vir al my projekte in, sodat ek die chip kan herprogrammeer indien nodig en dit nie van die projekbord hoef te verwyder nie. Die draakryder het ongelukkig nie 'n 6-pen ISP-kop beskikbaar nie, maar ek het uitgevind hoe ek dit beskikbaar kan stel.
Waarskuwing !
Dit is 'n hack. As u nie presies weet hoe dit werk nie, moet dit nie doen nie
U is gewaarsku. Ek het my eie adapterbord en 3-pins-trui geskep om die 6-pins ISP-kopstuk te voorsien. Wat u doen, is om die Dragon Rider op die program te stel en 'n 8-pins mikrobeheerder. Met 'n 3-pins-aansluiting spring ek met J8 om penne 1 en 3. aan te sluit. Dit lei die kloksein na die PortB-aansluiting. Ek voer dan 'n springkabel van die PortB -kop na my adapterbord en voila! Daar is foto's hieronder …. asseblief, asseblief, asseblief, moenie dit doen nie, tensy u werklik verstaan wat u doen, aangesien u u AVR -draak kan beskadig of erger as u dit verkeerd doen.
Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2
Stap 10: RSS -leser met seriële verbinding en LCD
Ek speel voort met hierdie ontwikkelingsbord. Hierdie keer het ek 'n gedeelte van 'n middag deurgebring aan die ontwikkeling van 'n RSS -lesing (meestal aan die luislangkant). Ek dink nie dat dit sy eie instruksies regverdig nie, so ek voeg dit hier by.
Hardeware
Ons gebruik die Dragon Rider 500 as 'n ontwikkelingsbord. Dit bied al die hardeware wat u benodig (as u al die byvoegingsstelle het). Dit gesê, u kan dit beslis doen met u eie hardeware -opstelling:
- ATmega8 -mikrobeheerder (of enige met 'n USART en genoeg penne vir alle verbindings
- 'N Manier om die mikrobeheerder te programmeer (ek gebruik die AVR Dragon)
- MAX232 -chip vir seriële kommunikasie
- DB9 -aansluiting
- HD44780 LCD skerm
- Kristal (ek het 'n 8MHz kristal gebruik)
- Verskeie kapasitors en weerstande
Hieronder word 'n skematiese voorstelling gegee. Op die Dragon Rider sal ons kreatiwiteit moet gebruik om die verbindings te lei. Normaalweg kan poort D direk aan die LCD -kop gekoppel word. Dit is nie hier die geval nie, want die USART wat benodig word vir die seriële verbinding gebruik PD0 en PD1. Verder kan poort B nie gebruik word nie, want PB6 en PB7 word gebruik vir die eksterne kristal. Hieronder is my oplossing vir hierdie probleem. Ek steek 'n lintkabel in die kopstukke vir die LCD, poort B en poort D, en gebruik dan jumperdrade om die regte roetes te maak. Moenie vergeet om die spanning aan te sluit en aan die LCD -kop te koppel nie.
Sagteware
Die sagteware vir hierdie projek bestaan uit twee dele: die firmware vir die mikrobeheerder en die python -script om die RSS -feeds te skrap en dit oor die seriële verbinding te stuur. /fleury). Dit is kragtig en bondig, veelsydig en maklik om te verander vir u hardeware -opstelling. As u na die koplêer aangeheg kyk (lcd.h), sal u sien dat ek in die 4-bis-modus werk met poort D as databitse, en poort B as die kontrolebits. Die konsep van hierdie firmware is redelik eenvoudig:
- Sodra die mikrobeheerder aangeskakel is, vertoon dit "RSS Reader" en wag dit dan op reeksdata.
- Elke greep seriële data wat ontvang word, veroorsaak dat 'n buffer van 16 tekens na links skuif en die byte by die buffer voeg, en dan die buffer vertoon.
- Drie spesiale opdragte word deur die mikrobeheerder aanvaar: 0x00, 0x01 en 0x02. Dit is 'n duidelike skerm, skuif na lyn 0 en gaan na lyn 1 onderskeidelik.
Python ScryptI het 'n pyton -skrif geskryf om die RSS -data te skraap en dit oor die seriële verbinding te stuur. Dit vereis die python -module "pyserial" wat u waarskynlik op u stelsel sal moet installeer om dit te laat werk. Die RSS -feed kan bo -aan die pyton -lêer gekonfigureer word. Let op dat u 'n naam vir die voer sowel as die voer -url moet invoer. Daar is drie voorbeelde, ek is seker dat u die kan volg vir die regte sintx
- Monteer die hardeware
- Program die mikrobeheerder (dragon_rss.hex kan gebruik word as u dit nie self wil saamstel nie). Sekeringsinstellings vir ATmega8 met 'n 8 MHz kristal: lfuse = 0xEF hfuse = 0xD9
- Skakel die Dragon Rider aan en maak seker dat die seriële kabel ingeskakel is (LCD moet lees: "RSS Reader")
- Voer die python -program uit (python serial_rss.py)
- Geniet dit
Aanbeveel:
Hoe u die MP3 -module van die DFMini -speler met Arduino kan gebruik: 4 stappe
Hoe om die DFMini -speler MP3 -module met Arduino te gebruik: Verskeie projekte benodig klankweergawe om 'n funksie by te voeg. Onder hierdie projekte beklemtoon ons: toeganklikheid vir gesiggestremdes, MP3 -musiekspelers en die uitvoering van byvoorbeeld stemgeluide deur robotte. In al hierdie sy
Hoe om Mac Terminal te gebruik en hoe om sleutelfunksies te gebruik: 4 stappe
Hoe om Mac Terminal te gebruik en hoe om belangrike funksies te gebruik: Ons sal u wys hoe u die MAC Terminal kan oopmaak. Ons sal u ook 'n paar funksies in die Terminal wys, soos ifconfig, veranderende gidse, toegang tot lêers en arp. Met Ifconfig kan u u IP -adres en u MAC -advertensie nagaan
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek