Sommario:
- Passaggio 1: progettare uno schema elettrico
- Passaggio 2: tagliare il circuito sulla scheda
- Passaggio 3: saldare i componenti e testare
- Passaggio 4: codice di montaggio e video
Video: Tutorial Assembler AVR 8: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Benvenuto nell'esercitazione 8!
In questo breve tutorial faremo un piccolo diversivo dall'introduzione di nuovi aspetti della programmazione in linguaggio assembly per mostrare come spostare i nostri componenti di prototipazione su un circuito "stampato" separato. Il motivo è che, a questo punto, la nostra breadboard di prototipazione principale è piena zeppa di così tanti chip, fili, pulsanti e LED che sta diventando difficile testare cose nuove e dal momento che alla fine dobbiamo comunque spostare i componenti sulle loro schede, tanto vale iniziare ora. Molti di voi probabilmente sono già esperti nelle cose che tratteremo in questo tutorial e quindi potete considerare questo tutorial semplicemente come una pausa rilassante dalla programmazione.
Quindi oggi sposteremo il nostro rullo di dadi ATmega328P e la coppia di dadi in dotazione su una scheda esterna con connessioni alla nostra scheda principale per la comunicazione con essa e per alimentarla. A parte questo, il cablaggio e il funzionamento dei dadi saranno autonomi all'interno di quel componente.
Probabilmente puoi prevedere da ciò che il nostro obiettivo finale è quello di farlo con ciascuno dei componenti che costruiamo lungo il percorso in modo che quando avremo finito possiamo nasconderli tutti in un pacchetto dall'aspetto gradevole che funzionerà premendo i pulsanti senza vedere tutto dei fili e delle lavorazioni interne.
Passeremo la maggior parte di questo tutorial a svolgere attività fisiche come la progettazione di un circuito, la mappatura di una scheda di prototipazione e la saldatura di elementi insieme, ma c'è un po' di programmazione che dobbiamo fare alla fine dopo aver spostato le cose. Il motivo è che alla fine utilizzeremo l'interfaccia seriale a 2 fili per comunicare tra il nostro controller principale "master" e tutti i controller "slave" che costituiscono i componenti del nostro progetto generale in questa serie di tutorial e, come ricorderete, nel Tutorial 6 abbiamo inventato una sorta di metodo di tipo Morse Code per comunicare i nostri lanci di dadi dal rullo di dadi (Tutorial 4) al Register Analyzer (Tutorial 5) che visualizzava il risultato del lancio di dadi in binario su 8 LED. Beh, quello era solo un metodo di comunicazione "roll your own" che ho deciso di usare perché, a quel tempo, era troppo presto per entrare nella comunicazione seriale a 2 fili. Ora siamo quasi pronti a tuffarci nella parte più profonda della comunicazione seriale, e lo faremo nel Tutorial 10, ma per ora dobbiamo anticipare lo sviluppo futuro e ricablare i nostri LED del rullo di dadi per liberare i due pin di cui abbiamo bisogno per la comunicazione seriale.
Questi sono i pin SCL e SDA sull'ATmega328P. Puoi vedere dal diagramma di pinout che sono anche chiamati ADC5 e ADC4 quando vengono utilizzati nelle conversioni Analog-to-Digital, vengono chiamati PCINT13 e PCINT12 quando vengono utilizzati come pin "Pin Change Interrupt" e infine generalmente li chiamiamo PC5 e PC4 quando semplicemente considerati come pin su PortC. Poiché abbiamo utilizzato questi due pin come parte del nostro rullo di dadi per vari motivi (il principale è che ha reso più semplice la codifica e il cablaggio ai LED sulla scheda) ora dovremo modificare il nostro codice e ricablarlo leggermente per liberare questi pin per comunicazioni future.
Quindi inizieremo con la progettazione, il taglio, il cablaggio e la saldatura. Quindi riscriveremo il rullo dei dadi per farlo funzionare con la nostra nuova configurazione e infine testeremo per assicurarci che funzioni ancora.
Per completare questo tutorial avrai bisogno dei seguenti elementi:
- Le cose standard di cui hai sempre bisogno e che smetterò di ripetere tutto il tempo: la tua scheda di prototipazione, la tua copia del foglio dati e il set di istruzioni e il tuo cervello.
- Una scheda PCB per la prototipazione di circuiti wireless come questa: https://www.ebay.com/itm/191416297627 Userò la versione Measure Explorer 103RAWD di questa scheda: https://www.ebay.com/itm/103RAT -circuit-proto-proto… dato che ne ho un sacco a portata di mano, ma anche la versione 103RAW-0 a cui collego sopra funzionerà bene.
- Clippers, fili, saldature, saldatori, "mani che aiutano" o qualsiasi altra cosa per tenere le cose, ecc. ecc. ecc. di nuovo, da qui in poi smetterò di elencare anche questa roba. Se sei arrivato così lontano in questi tutorial, probabilmente hai già tutte queste cose.
Ecco un link alla raccolta completa dei miei tutorial sull'assemblatore AVR:
Passaggio 1: progettare uno schema elettrico
La cosa bella delle schede Measure Explorer è che se ti prendi del tempo e pianifichi le cose all'inizio puoi risparmiarti un sacco di cavi alla fine. Quindi inizieremo prendendoci del tempo per progettare il nostro layout prima di iniziare a saldare qualsiasi cosa. Con questo tipo di scheda, devi tagliare un mucchio di cavi di collegamento, il che non è così facile, ma il risultato è una scheda compatta molto bella con un minimo disordine di cavi aggrovigliati. La prima cosa che dobbiamo fare è progettare il nostro circuito in modo che si adatti alla scheda. Un bel modo per farlo è scaricare la mappa del tabellone e poi usarla per giocare con diversi design finché non ne trovi uno che funzioni. Ecco il layout per il ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp
Passaggio 2: tagliare il circuito sulla scheda
Per prima cosa prendi un pennarello e, usando il layout che hai tracciato nel passaggio precedente, disegna il tuo circuito sulla lavagna. Cioè. tracciare linee per rappresentare i fili. Non disegnare nulla in termini di componenti, solo i fili di collegamento come mostrato nella prima immagine. Nota che quando sbagli (e se sei come me sbaglierai molte volte in questi passaggi) puoi usare una gomma e cancellare la linea. Fallo per entrambi i lati della tavola.
Successivamente è necessario tagliare le connessioni attorno alle linee. Se osservi attentamente la scheda vedrai che ogni foro del perno è collegato ai 4 adiacenti su entrambi i lati della scheda in modo che tutti i fori sulla scheda siano collegati tra loro quando inizi. Quindi devi tagliare lungo entrambi i lati di ciascuno dei tuoi fili per isolarli. Il modo più comune per eseguire questo taglio è con un coltello Exacto. Ma faccio schifo con i coltelli Exacto e probabilmente mi taglierei. Quindi uso un Dremel con un attrezzo da taglio sottile. Vorrei avere un qualche tipo di accessorio per la molatura che arrivasse a una punta affilata poiché avrebbe funzionato meglio, ma non ne ho uno del genere, quindi ho usato l'accessorio per sega da taglio. (Nota aggiunta: dopo aver terminato questo progetto ho scoperto che le teste più piccole "rotella da taglio per impieghi gravosi" per Dremels funzionano meglio, sembrano piccoli cerchi di carta vetrata e funzionano come l'utensile da taglio mostrato qui tranne che hanno un diametro più piccolo e quindi è molto più facile vedere e controllare dove stai tagliando)
Lungo il percorso è utile tenere la scheda in controluce e assicurarsi che i fili siano effettivamente tagliati. Potresti essere infastidito dal fatto che ci sono connessioni su entrambi i lati della scheda, quindi devi ripetere di nuovo il processo di taglio con l'altro lato, ma penso che capirai il punto quando avrai finito. Ho fatto un sacco di errori tagliando fili che non avrebbero dovuto essere tagliati e avere l'altro lato ancora collegato risulta essere bello.
Ci vorrà un po' di tempo e pazienza per inserire il circuito nella scheda, ma è piuttosto divertente una volta che si diventa bravi.
Passaggio 3: saldare i componenti e testare
Ora che hai isolato tutti i fili della tua scheda, puoi iniziare a saldare i singoli componenti.
Ho prima saldato i LED per uno dei dadi, poi ho preso i cavi positivi e negativi dalla mia breadboard e ho testato le connessioni per ciascun LED per assicurarmi che fossero isolati l'uno dall'altro e che funzionassero.
Allo stesso modo con l'altro muore.
Quindi collegare il resistore a ciascun die e il resistore da 10K sul retro della scheda.
Quindi collegare l'oscillatore al cristallo, i cappucci 22pf, i pulsanti e l'ATmega328P. Potresti voler saldare uno zoccolo per chip e quindi inserire il tuo ATmega328P in esso in modo da poterlo rimuovere se lo desideri e riutilizzarlo in qualcos'altro. Ho appena saldato il mio chip alla scheda poiché so cosa stiamo costruendo alla fine con tutti questi tutorial e so che mi piacerà abbastanza da non voler togliere il chip.
Nota, guardando il retro del tabellone, il modo in cui abbiamo attaccato le intestazioni. Ho usato lunghi pin header e li ho piegati orizzontalmente in modo che non sporgessero dal tabellone. Questo è così che posso eventualmente coprire la scheda fino al livello dei pulsanti e dei LED con un contenitore e non avere intestazioni che si frappongono. Abbiamo un'intestazione per Tx, Rx in modo da poter programmare il chip, abbiamo un'intestazione per SDA, SCL in modo da poter utilizzare la comunicazione a 2 fili in seguito. e abbiamo un'intestazione a 3 pin per AVCC, AREF, GND sull'altro lato della scheda. Ho tutti i pin di terra e i pin VCC collegati insieme sul chip, quindi abbiamo bisogno solo di un ingresso di alimentazione.
Infine, una volta che tutto è cablato, colleghiamo il die 1 al die2 come abbiamo fatto sulla breadboard in modo da poter controllare entrambi i dadi con solo 9 pin.
Ora dobbiamo modificare il nostro codice in modo che controlli questa nuova configurazione.
Passaggio 4: codice di montaggio e video
Ho allegato il codice di montaggio e il video del rullo di dadi in funzione. Tutto quello che ho fatto è stato prendere il codice per il nostro rullo di dadi dal Tutorial 6, modificare i pin in modo che corrispondano al nuovo layout e rimuovere la subroutine di comunicazione poiché scriveremo una nuova nel Tutorial 10. La prossima volta sbloccheremo di nuovo la nostra tastiera e impareremo a controllare i display a 7 segmenti. Ci vediamo allora!
Consigliato:
Tutorial Assembler AVR 2: 4 passaggi
AVR Assembler Tutorial 2: questo tutorial è una continuazione del "AVR Assembler Tutorial 1" Se non hai seguito il Tutorial 1, dovresti fermarti ora e farlo prima. In questo tutorial continueremo il nostro studio sulla programmazione in linguaggio assembly di atmega328p u
Tutorial Assembler AVR 1: 5 passaggi
AVR Assembler Tutorial 1: Ho deciso di scrivere una serie di tutorial su come scrivere programmi in linguaggio assembly per l'Atmega328p che è il microcontrollore utilizzato nell'Arduino. Se le persone rimangono interessate, continuerò a pubblicarne una a settimana o giù di lì fino a quando non finirò
Tutorial Assembler AVR 6: 3 passaggi
AVR Assembler Tutorial 6: Benvenuto nel Tutorial 6! Il tutorial di oggi sarà breve in cui svilupperemo un metodo semplice per comunicare dati tra un atmega328p e un altro utilizzando due porte che li collegano. Prenderemo quindi il rullo di dadi dal Tutorial 4 e dal Registro
Tutorial Assembler AVR 7: 12 passaggi
Tutorial AVR Assembler 7: Benvenuto nel Tutorial 7! Oggi mostreremo prima come eseguire lo scavenging di una tastiera, quindi mostreremo come utilizzare le porte di ingresso analogiche per comunicare con la tastiera. Lo faremo utilizzando interruzioni e un singolo filo come ingresso. Collegheremo la tastiera in modo che
Tutorial Assembler AVR 9: 7 passaggi
AVR Assembler Tutorial 9: Benvenuti al Tutorial 9. Oggi mostreremo come controllare sia un display a 7 segmenti che un display a 4 cifre utilizzando il nostro codice in linguaggio assembly ATmega328P e AVR. Nel fare ciò dovremo prendere deviazioni su come usare lo stack