Sommario:
- Passaggio 1: il kit
- Passaggio 2: il programmatore USB
- Passaggio 3: la culla di programmazione
- Passaggio 4: lampeggianti
- Passaggio 5: la fine
Video: Ambiente di sviluppo del ghetto: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:05
Qualche tempo fa, ho pubblicato un metodo veloce e sporco per iniziare a programmare i chip della serie Atmel AVR: Ghetto Programmer (versione 1.0) Da allora, ho migliorato, rinnovato e migliorato la mia configurazione. Ho pensato che sarebbe stato bello documentarlo. L'obiettivo era ottenere un ambiente di prototipazione di microcontrollori basato su AVR flessibile, compatto, portatile e utilizzabile ovunque. A buon mercato (ish). Quindi, senza ulteriori indugi, ecco il Ghetto Development Environment (GDE) (versione 1.2).
Passaggio 1: il kit
Il kit di base contiene le seguenti cose: Programmatore USB. Perché vuoi essere in grado di programmare i microcontrollori dal tuo laptop ovunque. E perché USB è una fonte molto utile di culle di programmazione +5v. Uno per ogni tipo di chip con cui stai giocando. Per me, questo significa uno con 8 pin (ATtiny13, 15), uno con 20 pin (ATtiny 2313) e uno con 28 pin (ATmega8). Lampeggianti. Quando qualcosa non va nel tuo codice, niente lo risolve come attaccare le luci per diagnosticare. Inoltre, il programma LED lampeggiante è il "Hello World" dei microcontrollori. Breadboard. È un kit di sviluppo, dopotutto.
Passaggio 2: il programmatore USB
In Ghetto Programmer (v.1.0) ho usato un programmatore di porte parallele. È fantastico perché è semplice, economico e veloce. Ma il mio laptop non ha una porta parallela. Ho giocato un po' a creare programmatori di porte seriali, ma onestamente sono complicati quanto la versione USB e anche le porte seriali stanno diventando scarse. In effetti, il mio laptop ha solo USB. Quindi USB è. Guardandosi intorno, il programmatore USBTiny è piuttosto semplice e funziona con gli strumenti gratuiti GNU/AVR-GCC. Fai da te o acquista un kit? Il modo fai-da-te è buono se puoi già programmare un ATTiny2313 (con programmatore parallelo) e avere un cristallo da 12 MHz in giro. USBTiny Page illustra le basi. Termina il cavo di programmazione con una porta parallela, ma lo finirei con un'intestazione standard a 6 pin se dovessi ricominciare da capo. (Perché? Perché è standard.) Ecco i suoi pin-out e controlla l'immagine qui sotto per il layout del cavo. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSI Se ne fai uno tuo, impara dalla mia esperienza e mettilo in una bella scatola di plastica. Se non lo fai, alla fine fallirà quando il cristallo da 12 MHz si rompe. Ecco perché ora uso… Il modo più veloce ed elegante è il kit USBtinyISP di Ladyada. Ti costerà $ 22, ma ottieni un bel PCB, ATTiny2313 pre-programmato e una scatola pulita con bei cavi. Le parti grezze costano comunque $ 15-16 e non devi richiamare Digikey e poi preoccuparti di programmare il tuo 2313. Ci vogliono 30 minuti - 1 ora per saldare tutto insieme. Pazzia. Fidati di me. (Nessuna affiliazione, cliente soddisfatto) E ho appena visto questo link: Tutorial AVR di Ladyada che mi sembra abbastanza buono. (E tieni presente che il design di Ladyada e l'originale USBTiny utilizzano codici identificativi del prodotto USB diversi: dovrai trovare le stringhe ID e ricompilare avrGCC se stai passando da uno all'altro. Penso che ci siano istruzioni sulle rispettive pagine web.)
Nel caso in cui ti trovi su un sistema Ubuntu Linux e utilizzi il programmatore USBTiny, ecco i comandi che faranno funzionare l'intera toolchain: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (testato su Hardy Heron) Se hai un arco AMD64, potresti anche aver bisogno di: byacc libusb-dev flex bison libc6-devand quindi per compilare AVRdude a mano: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch necessaria per AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 < avrdude-5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## da testare) Se vedi qualcosa come "avrdude: dispositivo AVR inizializzato e pronto ad accettare istruzioni" allora sei rifatto. Oh sì, e grazie a Wendel Oskay per il diagramma dei pinout del programmatore standard.
Passaggio 3: la culla di programmazione
In Ghetto Programmer v.1.0 ho usato una culla di programmazione con un ingresso pin non standard e con pin-header femminili per inserire cose. I pin non standard sono una cattiva idea perché non sarai in grado di utilizzare la tua base con il programmatore di qualcun altro e viceversa. I pin-header femminili erano divertenti perché si potevano collegare direttamente i LED, ma quando iniziavo a fare qualcosa di più complesso, finivo comunque per collegarlo a una breadboard. Con la nuova culla, ho tagliato l'intermediario. Meno cablaggio manuale = migliore. Ma il più grande vantaggio di questo design della base è che puoi collegare la base quasi ovunque tu possa collegare il chip AVR. Questo risulta essere enorme. Invece di progettare circuiti ISP nel tuo robot o altro, inserisci semplicemente questa cosa della culla nella presa IC. Quindi puoi programmare/riprogrammare il cervello del tuo robot in circuito. Quando hai finito di sviluppare, collega direttamente l'AVR e sei pronto per quello successivo. Realizzare le basi è abbastanza facile: tutto ciò che devi fare è collegare i pin dall'intestazione a 6 pin ai punti giusti su le patatine. Questa volta ho usato PCB incisi. Puoi anche cablare a mano il tutto su perfboard. La base ATTiny13/15 è realizzata con una presa avvolgicavo a 8 pin. Adoro questi. È facile inserire il chip nei suoi bei fori rotondi e le gambe lunghe forniscono spazio extra sulla breadboard. Ho realizzato le tracce del PCB a mano libera con un pennarello. La culla ATTiny2313 è stata realizzata con Eagle e il metodo di trasferimento del toner su carta laser. Non sono riuscito a trovare alcuna presa a filo avvolto a 20 pin, quindi ho dovuto ricorrere a una presa normale a 20 pin saldata su 2 connettori a 10 pin. Questo finisce con una culla con le gambe più corte, ma funziona. Lo schema e il PDF che ho usato per il circuito sono sotto. Su entrambi, ho dovuto cablare a mano una linea in più. Così è la vita.
Passaggio 4: lampeggianti
La semplicità stessa. Non li menzionerei affatto se non fossero così dannatamente utili.
Saldare un resistore (150-220 ohm è un buon valore) direttamente sul cavo negativo di alcuni LED. Si accenderà da circa 2v-6v senza bruciarsi. E il resistore ti aiuta a ricordare quale lato è negativo. Attaccali dove vuoi sapere che c'è elettricità. Scopri se quel transistor è bruciato. Trasforma una batteria nicad in una luce notturna di lunga durata. Usa un'interfaccia a codice lampeggiante per leggere i valori dal tuo microprocessore (lentamente). Oppure creane 8 e hai un display da un byte (più il principio attivo negli occhi Cylon). Creali. Fai molti. Preparali ora.
Passaggio 5: la fine
Quindi questo "sistema" soddisfa quasi tutte le mie esigenze di sviluppo. È modulare, scalabile, compatto e portatile.
Ad esempio, ho elaborato le routine per far scorrere i messaggi sul display a 4 cifre (pagina introduttiva) sull'aereo diretto al matrimonio di un amico. Fa un buon rompighiaccio con gli assistenti di volo. Questo potenziometro -> ADC -> configurazione dell'amperometro basato su PWM è stato sottoposto a breadboard, codificato e debuggato interamente tra il mio divano e il tavolo da pranzo e si pulisce in circa 2 minuti quando arrivano gli amici. (È la parte dell'impostazione dell'ora della sveglia di quello che sarà un orologio-metro.) A volte metto in funzione l'impostazione quando ho voglia di giocare. Aggiungi un piccolo pacchetto di gadget (alcuni condensatori e resistori, cavi di collegamento, transistor, altoparlanti piezoelettrici, fotodiodi, microfoni, piccoli motori, ecc.) e sarai così avanti rispetto a MacGuyver che non è nemmeno divertente.
Consigliato:
Ambiente adattivo (automazione del dormitorio): 5 passaggi
Adaptive Environment (Dorm Automation): questo progetto è l'inizio della mia esplorazione dell'automazione. Ho scelto il Raspberry Pi come "cervelli" di questa operazione perché il GPIO ha così tante applicazioni diverse e il WIFI/Bluetooth a bordo. Il mio corso di introduzione alla prototipazione ha sfidato
Sviluppo del gioco 101: suggerimenti e trucchi!: 11 passaggi
Game Development 101: Tips & Tricks!: Allora, ti piace giocare ai videogiochi? Forse era ora che te ne costruissi uno tu stesso! Non è bellissimo? L'idea, che ti viene di creare il tuo mondo, basato sulle tue regole e fantasie? Penso di sì. Ma diamo un'occhiata alla realtà per ora. Inizi cr
Il signor E.Z. Scheda di sviluppo del tubo: 4 passaggi (con immagini)
Il signor E.Z. Consiglio di sviluppo del tubo: Obiettivo/scopo: Mr. E.Z. Tube è una piattaforma audio valvolare economica senza "ferro": nessun trasformatore di alimentazione, nessun trasformatore/i di uscita. Un amplificatore a valvole avrà in genere diversi trasformatori pesanti e costosi: trasformatori di uscita che proteggono gli altoparlanti
Come installare un ambiente di sviluppo Web su Localhost: 6 passaggi
Come installare un ambiente di sviluppo Web su Localhost: questa istruzione ti mostrerà come installare Apache, PHP, MySQL su localhost. Inoltre, come configurarlo in modo da avere alcune fantastiche funzionalità di rete, come essere in grado di caricare la directory principale utilizzando il nome del computer (http://desktop/index.php), b
Sistema di sviluppo Ghetto Programmable Logic (CPLD): 13 passaggi
Sistema di sviluppo Ghetto Programmable Logic (CPLD): negli ultimi mesi mi sono divertito con il sistema di sviluppo Ghetto per i processori AVR. In effetti, questo strumento da quasi zero dollari si è dimostrato così affascinante e utile che mi sono chiesto se fosse possibile estendere il concetto a F