Cuprins:
- Pasul 1: AVR Dude
- Pasul 2: ATtiny2313 - Clipește LED-urile
- Pasul 3: Utilizarea suplimentului LCD
- Hardware:
- Software
- Cod atașat
- Pasul 4: Programare ISP cu 28 de pini (ATmega8)
- Pasul 5: Utilizare avansată a ecranului LCD și a butonului: ceasul mare
- Pasul 6: Programare de înaltă tensiune
- Pasul 7: Extinderea dincolo de consiliu
- Pasul 8: Concluzie
- Pasul 9: Adăugarea unui ISP cu 6 pini
- Acesta este un hack. Dacă nu știți exact cum funcționează acest lucru, nu o faceți
- Pasul 10: Cititor RSS folosind conexiune serială și ecran LCD
- Hardware
- Software
Video: Cum să utilizați Dragon Rider 500 cu dragonul dvs. AVR: 10 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Acest instructable este un curs rapid în modul de utilizare a unora dintre caracteristicile Dragon Rider 500 de la Ecros Technologies. Vă rugăm să rețineți că există un ghid al utilizatorului foarte detaliat disponibil pe site-ul Ecros.
Dragon Rider este o placă de interfață pentru utilizare cu un programator de microcontroler AVR numit AVR Dragon de către Atmel. Pentru mai multe informații: 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 Asamblarea Dragon Rider 500 Instructabil: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A / Aflați totul despre microcontrolerele AVR: https://www.avrfreaks.net Această instrucțiune poate crește cu timpul, așa că verificați din nou și din nou!
Pasul 1: AVR Dude
Aveți nevoie de unele programe software pentru a utiliza AVR Dragon pentru programare. Folosesc AVRdude cu sistemul de operare Ubuntu (Linux) și sunt foarte mulțumit de rezultate. Acest instructiv nu se va ocupa de complexitățile software-ului de programare. Dacă nu știți cum să configurați sau să utilizați software-ul de programare, verificați această instrucțiune pentru a vă aduce la viteză: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon / Cred că, dacă ați achiziționat și asamblat un Dragon Rider 500, știți deja cum să programați un cip cu AVR Dragon ….. în continuare!
Pasul 2: ATtiny2313 - Clipește LED-urile
Să programăm un ATtiny2313, care este un microcontroler cu 20 de pini. Dragon Rider 500 are prize pentru mai multe microcontrolere AVR de dimensiuni diferite. Acestea includ: prize 8, 20, 28 și 40 de pini. În funcție de soclul pe care îl utilizați, jumperii de pe placa Dragon Rider trebuie să fie stabiliți diferit.
Setări jumper
Puneți jumperii pe Dragon Rider, astfel încât șunturile să conecteze următorii pini. (pin4 este pinul central pentru J22-J-24) Pin: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 Aceasta este o configurare de bază care permite ISP (în programarea sistemului).
Blinky Blinky
Programarea nu este bună decât dacă aveți ceva de programat. Am scris un exemplu de cod foarte scurt pentru a clipi LED-urile Dragon Rider pe rând. Folosiți un cablu cu bandă pentru a conecta antetul LED (J29) la antetul PortB (J2).
Programare
Am inclus fișierul C, precum și un makefile și fișierul hex. Așa cum am menționat în introducere, nu pot acoperi partea software a programării în Instructable. Programați așa cum ați face pentru Dragonul AVR, deoarece Dragon Rider nu modifică deloc partea software a lucrurilor.
Pasul 3: Utilizarea suplimentului LCD
Iată o modalitate simplă de a utiliza suplimentul LCD. Aceasta va scrie „Dragon Rider” pe ecranul LCD.
Hardware:
- ATtiny2313
- Jumper R / W: R / W ar trebui să fie conectat la „BIT1” de pe placa Dragon Rider (a se vedea explicația din instructajul de asamblare)
- J23: Acest jumper trebuie instalat pentru programarea ISP, dar apoi eliminat pentru ca LCD-ul să funcționeze corect.
- Conectați ecranul LCD la PORT B utilizând cablul cu bandă (J31 la J2)
Software
Folosesc biblioteca LCD a lui Peter Fleury pentru a conduce ecranul LCD în modul pe 4 biți. Consultați Pagina principală a lui Peter pentru a descărca biblioteca. Va trebui să vă asigurați că lcd.c este compilat cu codul dvs. și că efectuați următoarele modificări la lcd.h:
Folosim oscilatorul RC intern, astfel încât XTAL trebuie setat la 1 MHz:
#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
Programul principal este foarte simplu datorită muncii pe care a făcut-o Peter Fleury în biblioteca sa LCD.
#include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inițializați LCD cu cursorul oprit lcd_clrscr (); // Ștergeți ecranul LCD lcd_gotoxy (5, 0); // Mutați cursorul în această locație lcd_puts ("Dragon"); // Puneți acest șir pe LCD lcd_gotoxy (6, 1); // Mutați cursorul în această locație lcd_puts ("Rider"); // Puneți acest șir pe ecranul LCD pentru (;;) {// Nu faceți nimic pentru totdeauna (mesajul este deja afișat pe ecranul LCD)}}
Cod atașat
Codul atașat include biblioteca LCD a lui Peter Fleury (lcd.c și lcd.h) cu permisiunea sa. Mulțumesc Peter! Singura modificare pe care i-am făcut-o este să setez pinii corespunzători în Definiții. Vă rugăm să vizitați site-ul său pentru a descărca pachetul: https://www.jump.to/fleury Am inclus și un makefile pe care îl folosesc scris de Eric B. Weddington și, Jorg Wunsch. Am trimis un prim-ministru către Jorg la avrfreaks.net, dar nu am primit niciodată un răspuns de la el. Există câteva modificări în makefile pentru a le adapta la utilizarea Linux și a Dragonului. Vă mulțumesc amândurora, vă rog să-mi spuneți ce preferințe aveți asupra mea să vă împărtășesc munca.
Pasul 4: Programare ISP cu 28 de pini (ATmega8)
Următoarea demontrare a proiectului va utiliza un ATmega8 care este un avr cu 28 de pini. Iată setul jumper de bază pentru ISP care programează microcontrolerele cu 28 de pini.
Setări jumper
Puneți jumperii pe Dragon Rider, astfel încât șunturile să conecteze următorii pini. (pin4 este pinul central pentru J22-J-24) Pinii: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42
Informații tehnice
- Conectarea J11 și J12 în acest mod vă permite să utilizați acei pini ca pini I / O. Alternativa ar fi direcționarea acestor pini pentru a face o conexiune cu cristalul extern.
- Conectarea J13 în acest mod ne permite să o folosim ca pin de resetare. Alternativa ar direcționa acest pin către antetul PORTC pentru a fi utilizat ca pin I / O. (acest lucru ar avea multe dezavantaje, inclusiv incapacitatea de a programa acest cip utilizând ISP).
- J16 și J22-J24 sunt conectate în acest mod pentru a direcționa pinii corespunzători (Reset, MISO, MOSI și SCK) către antetul ISP al AVR Dragon.
Pasul 5: Utilizare avansată a ecranului LCD și a butonului: ceasul mare
Acesta este un proiect distractiv care folosește ecranul LCD și butoanele. Vom avea de-a face cu funcții de ceas în timp real și cu caractere personalizate pe ecranul LCD. În imaginea din partea de jos puteți vedea ora 19:26:07 afișată în număr mare pe ecranul LCD. Fiecare număr utilizează o grilă 2x2 a afișajului de caractere pentru a afișa numărul mare. Acesta utilizează un font scris inițial de Xtinus pentru proiectul XBMC. Butoanele sunt folosite pentru a seta ceasul. Stânga mărește orele, Sus crește minutele, Dreapta alternează între 12 și 24 de ore, iar Enter resetează secundele la zero. Ceasul nu păstrează timpul foarte bun, deoarece folosim oscilatorul intern foarte inexact, dar acest program poate fi ușor modificat pentru a utiliza un cristal extern mult mai precis. Vedeți acest lucru în acțiune în videoclipul de mai jos. O explicație a modului în care funcționează acest cod este în ordine, dar nu am timp acum. Pentru moment, conectați antetul LCD (J31) la PORTD (J4) și antetul butonului (J30) la PORTB (J2). Asigurați-vă că aveți atât SW1, cât și SW2 în poziția oprit. Conectați AVR Dragon la un cablu USB și conectați celălalt capăt al cablului la computer. Porniți SW2 și programați ATmega8 cu software-ul de programare la alegere (fișier hexagonal de mai jos; siguranțe arse la setările din fabrică). NOTĂ: Pentru a utiliza butoanele stânga și sus, va trebui să eliminați șunturile din J22 și J24, faceți asta în timp ce curentul este oprit.
Pasul 6: Programare de înaltă tensiune
Am folosit programarea paralelă de înaltă tensiune pentru a reînvia un ATtiny2313 pe care am setat greșit setările siguranței. Am avut nevoie de a doua oară când lucram la acest instructable, deoarece am scris din greșeală setarea lfuse pe care o doream în registrul hfuse ….. ooops. Programarea în paralel de înaltă tensiune este un instrument la îndemână pe care îl aveți la dispoziție! Mai jos sunt o listă cu setările mele de jumper: UTILIZAȚI-VĂ PE RISCUL DUMNEAVOASTRĂ, ACEST TIP DE PROGRAMARE ÎȚI POATE DETERIORA FERMOARELE DACĂ NU ȘTII CE FĂCI !! Programare paralelă de înaltă tensiune: ATtiny2313 în soclu U3: SW1 - OFFSW2 - ONJ5, J6, J7 - conectați pin1 și pin2XTAL1 - conectați pin1 și pin2J16 - Conectați pin1 și pin22x5 Cabluri IDC: PROG_CTRL la PORT D, PROG_DATA la PORT BAll alte jumperi neconectate J8-J13, J18, J19, J20, J22-J28, J24) Pentru alte cipuri ar trebui să puteți afla setările de care aveți nevoie din ghidul utilizatorului Atmel pentru STK500.
Pasul 7: Extinderea dincolo de consiliu
Mi se pare destul de ușor să interacționez cu o placă de calcul. Acest lucru permite mult mai multă flexibilitate în crearea de prototipuri și dezvoltarea codului în același timp. Mai jos veți vedea câteva panouri de conectare conectate la Dragon Rider. Conectez cablurile panglică la porturile corespunzătoare la un capăt. La cealaltă, folosesc fire jumper pentru a conecta conductorul ICD adecvat cu panourile de măsurare.
Pasul 8: Concluzie
Există multe altele care ar putea fi implicate în acest instructabil. Chiar în seara asta completez un adaptor care vă permite să utilizați antetul de programare cu 6 pini fără a scoate dragonul din Dragon Rider. Voi pune informații despre cum să construiești unul singur … în curând. Dacă ai alte lucruri despre care crezi că trebuie adăugate, lasă un comentariu.
Pasul 9: Adăugarea unui ISP cu 6 pini
De obicei, construiesc un antet ISP cu 6 pini pentru toate proiectele mele, astfel încât să pot reprograma cipul dacă este necesar și să nu trebuiască să îl scot de pe placa de proiect. Din păcate, călărețul dragon nu are un antet ISP cu 6 pini disponibil, dar mi-am dat seama cum să fac unul disponibil.
Avertizare!
Acesta este un hack. Dacă nu știți exact cum funcționează acest lucru, nu o faceți
Mi-am creat propria placă de adaptor și jumperul cu 3 pini pentru a furniza antetul isp cu 6 pini. Ceea ce faceți este să setați Dragon Rider la program și microcontroler cu 8 pini. Folosind o priză cu 3 pini, trec J8 pentru a conecta pinii 1 și 3. Aceasta direcționează semnalul ceasului către conectorul PortB. Apoi rulez un cablu jumper de la antetul PortB la placa adaptorului meu și voilă! Sunt imagini mai jos … te rog, te rog, te rog, nu face acest lucru decât dacă înțelegi cu adevărat ce faci, deoarece ți-ai putea deteriora Dragonul AVR sau mai rău dacă faci asta greșit.
Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2
Pasul 10: Cititor RSS folosind conexiune serială și ecran LCD
Continu să joc cu această placă de dezvoltare. De data aceasta am petrecut o parte dintr-o după-amiază dezvoltând o citire RSS (în cea mai mare parte pe partea Python a lucrurilor). Nu cred că garantează propriul său instructiv, așa că îl adaug aici.
Hardware
Folosim Dragon Rider 500 ca placă de dezvoltare. Aceasta oferă tot hardware-ul de care aveți nevoie (presupunând că aveți toate seturile de completare). Acestea fiind spuse, cu siguranță puteți face acest lucru cu propria dvs. configurare hardware:
- Microcontroler ATmega8 (sau oricare care are un USART și suficiente pini pentru toate conexiunile
- O modalitate de a programa microcontrolerul (folosesc AVR Dragon)
- Cip MAX232 pentru comunicații seriale
- Conector DB9
- Ecran LCD HD44780
- Cristal (am folosit un cristal de 8 MHz)
- Condensatori și rezistențe asortate
O schemă este furnizată mai jos. Pe Dragon Rider va trebui să folosim oarecare creativitate pentru a direcționa conexiunile. În mod normal, portul D ar putea fi conectat direct la antetul LCD. Nu este cazul aici, deoarece USART necesar conexiunii seriale utilizează PD0 și PD1. În plus, Portul B nu poate fi utilizat deoarece PB6 și PB7 sunt utilizate pentru cristalul extern. În imaginea de mai jos este soluția mea la această problemă. Conectez un cablu panglică la antetele pentru LCD, Port B și Port D, apoi folosesc fire jumper pentru a face traseele corespunzătoare. Nu uitați să conectați tensiunea și împământarea la antetul LCD.
Software
Software-ul pentru acest proiect vine în două părți, firmware-ul pentru microcontroler și scriptul python pentru răzuirea fluxurilor RSS și trimiterea acestora prin conexiunea serială. Firmware AVR Folosesc din nou biblioteca LCD a lui Peter Fleury (https://jump.to / fleury). Este puternic și concis, versatil și ușor de modificat pentru configurarea hardware-ului dvs. Dacă vă uitați la fișierul antet atașat (lcd.h), veți vedea că rulez în modul pe 4 biți cu Portul D ca biți de date și Portul B ca biți de control. Conceptul acestui firmware este destul de simplu:
- Odată pornit, microcontrolerul afișează „RSS Reader” și apoi așteaptă datele seriale.
- Fiecare octet de date seriale primite face ca un buffer de 16 caractere să se deplaseze la stânga și să adauge octetul în buffer, apoi să afișeze bufferul.
- Trei comenzi speciale sunt acceptate de microcontroler: 0x00, 0x01 și 0x02. Acestea sunt ecran clar, treceți la linia 0 și, respectiv, treceți la linia 1.
Python ScryptI a scris un script pyton pentru a răzuie datele RSS și a le trimite prin conexiunea serială. Acest lucru necesită modulul python „pyserial”, pe care probabil va trebui să îl instalați pe sistemul dvs. pentru ca acest lucru să funcționeze. Fluxul RSS poate fi configurat în partea de sus a fișierului pyton. Observați că trebuie să introduceți un nume pentru feed, precum și adresa URL a feedului. Există trei exemple acolo, sunt sigur că le puteți urma pentru o sintaxă adecvată
- Asamblați hardware-ul
- Programați microcontrolerul (dragon_rss.hex poate fi utilizat dacă nu doriți să compilați singur). Setări de siguranță pentru ATmega8 folosind un cristal de 8 MHz: lfuse = 0xEF hfuse = 0xD9
- Porniți Dragon Rider și asigurați-vă că cablul serial este conectat (LCD ar trebui să citească: „RSS Reader”)
- Executați programul python (python serial_rss.py)
- Bucurați-vă
Recomandat:
Cum să creați o unitate de boot Linux (și cum să o utilizați): 10 pași
Cum să creați o unitate de boot Linux (și cum să o utilizați): Aceasta este o introducere simplă despre cum să începeți cu Linux, în special Ubuntu
Cum să utilizați Tinkercad pentru a testa și implementa hardware-ul dvs.: 5 pași (cu imagini)
Cum să utilizați Tinkercad pentru a vă testa și implementa hardware-ul: Simularea circuitului este o tehnică în care software-ul computerului simulează comportamentul unui circuit sau sistem electronic. Noile modele pot fi testate, evaluate și diagnosticate fără a construi de fapt circuitul sau sistemul. Simularea circuitului poate fi un
Cum să utilizați modul Macro pe camera dvs. foto: 6 pași (cu imagini)
Cum să utilizați modul Macro pe camera dvs.: De mult prea mult timp, instructabilii suferă de oameni care continuă să scoată fotografii neclare din focalizare. Ei bine, îmi propun să pun capăt acestui lucru. În acest instructable vă voi arăta cum să utilizați setarea macro pe camerele de la majoritatea producătorilor
Cum să ascultați biblioteca dvs. iTunes prin televizorul sau receptorul dvs. Av: 5 pași
Cum să ascultați biblioteca dvs. iTunes prin intermediul televizorului sau al receptorului dvs. Av: Bine, am făcut acest lucru instructabil în 10 minute. A fost atât de ușor! Un laptop ar fi bun pentru asta, dar și un desktop lângă televizor este în regulă. Dacă aveți un Airport Express, atunci voi adăuga un pas pentru voi. (Notă: Nu dețin un aeroport expres, așa că dacă
Utilizați conexiunea de date a iPhone-ului dvs. pe computer: 6 pași
Utilizați conexiunea de date a iPhone-ului dvs. pe computerul dvs.: NOTĂ: Începând cu iOS 3 și 4, există și alte modalități de legare, chiar și legitime prin AT & T (deși costă suplimentar). Această metodă funcționează totuși și o va face întotdeauna (indiferent de actualizările iOS), atâta timp cât puteți trimite SSH pe iPhone. Avea