OK, devo dire che voi ragazzi siete super intelligenti.
Tuttavia questo ti farà male al cervello se non hai un caffè in mano per prenderne uno.
E mentre ci sei, vai avanti e scarica il codice di esempio e lo schema nel video
del puzzle della sezione download o attendi.
Utilizzeremo il convertitore HD a nostra scelta usando solo un partitore di tensione con qualsiasi resistore
variabile che vuoi un vaso o un sig. Una matrice di pulsanti foto resistore con una luce di resistenza o altro.
Basta fare un partitore di tensione attraverso l'alimentatore in modo da poter alimentare una tensione variabile nel convertitore da
A a D delle foto.
Ora, se ti ricordi di tornare indietro nel corso dell'elettronica analogica nella lezione sui divisori di tensione, ho menzionato un
uso di un partitore di tensione che il convertitore A D non può tollerare una tensione superiore alla tensione di alimentazione
ma qualunque sia la tensione di alimentazione.
Quindi tienilo sempre a mente quando utilizzi il convertitore nel nostro caso divideremo la tensione di alimentazione.
Quindi ovviamente non supereremo la tensione di alimentazione sul pin di ingresso.
Ciò ci fornirà una tensione di ingresso variabile nella parte più profonda della nostra scelta.
Ora sia l'immagine che l'Arduino ne hanno solo uno integrato nel convertitore da A a D, ma hanno
più ingressi analogici.
I microcontrollori collegano semplicemente il convertitore all'ingresso appropriato che si designa nelle
impostazioni.
Useremo il NOSTRO a 4, ma in precedenza avevamo utilizzato solo il nostro a 4 per la nostra linea R S che controlla
il nostro display LCD.
Ora vogliamo ancora utilizzare il display LCD, quindi dobbiamo ricablare il nostro set up e apportare alcune modifiche al
nostro programma.
Quindi ogni istanza nel nostro programma in cui abbiamo fatto un cambio di segnale sulle linee di controllo, dobbiamo
passare alla linea appropriata sul nostro c per.
Ma poiché usavamo anche la porta C per inviare i nostri dati ogni volta che inviamo dati dalla porta C, dobbiamo assicurarci
che i bit di controllo rimangano impostati o cancellati in base alle nostre esigenze.
Quindi nel tuo codice di esempio ho fatto tutto il lavoro per te solo perché sono un ragazzo
così simpatico che vedrai cosa ho fatto qui alla linea 84 per esempio.
Dopo aver inviato i dati nibble sulla porta C I, ho semplicemente emesso un comando bit set su bit per
Vlach C prima di pulsare la riga E.
Ora lo ha fatto per tutto il programma e lo vedremo sapere qui e là.
Ora che abbiamo questo display LCD molto utile possiamo utilizzarlo per darci informazioni su cosa faremo
usare il convertitore analogico-digitale integrato per dare un segnale molto forte e sputare
il vero digitale numero sul display.
Abbiamo un paio di sfide, anche se se si richiama dipinge il convertitore da a a D ha un output a 10 bit
consegnato in byte.
Quindi suddivideremo questo in tre Annabelle separate visualizzate come tre numeri esadecimali sul
nostro display LCD.
Ecco il trucco però.
Ricordare che il display LCD utilizza il carattere ASCII sat a destra.
Quindi lasciamo il nostro elegante set di caratteri ASCII ad alta tecnologia e notiamo alcune cose.
Diciamo che il nostro convertitore A D ha generato il numero esadecimale tre a 2.
Spostiamo il cursore sulla linea in prima posizione e vogliamo inviare un tre al display LCD.
Non possiamo semplicemente prendere quel tre dal convertitore A / D e inviarlo al display.
Perché.
Perché tre
in ASCII mostrerebbero sul comando e t x che non sarebbe nemmeno visualizzato come un personaggio.
È un comando speciale per le macchine da scrivere elettroniche, quindi non mostrerebbe un tre per visualizzarne tre.
Dobbiamo inviare 0 0 1 1 0 0 1 1 quindi dobbiamo convertire il nostro numero tre in un valore ASCII.
Facciamo questo semplicemente aggiungendo un numero ad esso un numero che compensa il nostro valore nei numeri sul nostro grafico
ascii.
Ora il numero 0 è il codice ASCII 0 0 1 1 0 0 0 0.
Quindi aggiungendo questo numero a qualunque numero otteniamo ci darà il codice ASCII per quel numero.
Se aggiungiamo 0 otteniamo 0 0 1 1 0 0 0 0 aggiungiamo 1.
Otteniamo 0 0 1 1 0 0 0 1.
Aggiungiamo per ottenere 0 0 1 1 0 0 1 0 ecc.
Quindi, una volta che abbiamo matematicamente aggiunto il nostro valore di offset, ora è un carattere ASCII e possiamo quindi inviarlo
al nostro display nel solito modo di inviare prima il morso superiore poi il morso inferiore Secondo il nostro
cursore si sposta su una forza pronta a ricevere il seconda cifra
Ma ora andiamo ad inviare la nostra seconda cifra e non possiamo semplicemente aggiungere lo stesso offset
perché guardiamo ci sono tutti questi caratteri speciali tra i numeri e le lettere.
Quindi dobbiamo aggiungere un offset diverso per le lettere esadecimali.
A è un valore decimale di 10.
Quindi torniamo indietro di 10 caratteri.
Dieci nove otto sette sei cinque quattro tre due uno zero.
Quindi questo è l'offset di cui abbiamo bisogno per visualizzare lettere esadecimali sul nostro pannello LCD.
Dobbiamo aggiungere un offset di 0 0 1 1 0 1 1 1.
Confuso ancora.
Prendi un sorso di caffè e lascia che questo affondi per un minuto.
Quindi abbiamo diversi passaggi che dobbiamo eseguire qui.
Abbiamo bisogno di ottenere i bocconcini individuali dai due registri analogici a digitali.
Abbiamo bisogno di dividere i tre bocconcini l'uno dall'altro.
Dobbiamo quindi convertire ciascun nibble in un valore ASCII per visualizzarne il valore sul display LCD.
Per fare questo dobbiamo capire se è necessario convertire numeri numerici o lettere in
numeri ASCII. Le lettere devono essere convertite separatamente in lettere ASCII.
Quindi dobbiamo inviare ogni carattere al display in due bocconcini.
Sposta il cursore sulla prima posizione sulla seconda riga.
Pronti a scrivere i nuovi numeri, ora faremo una breve pausa tra ogni Rita.
Inoltre ti ricordi che il convertitore di Ayittey richiede tempo.
Abbiamo bisogno di impostare il convertitore A-D per dirgli di iniziare la conversione e poi continuare a controllarlo per vedere se
è finito o meno.
Una volta fatto, afferreremo i due morsi e li memorizzeremo in registri di uso generale e imposteremo
il convertitore HDD sulla sua strada di nuovo per iniziare la conversione successiva mentre suoniamo con i numeri
e li visualizziamo.
OK, sorseggia un caffè.
Ne avrai bisogno.
E diamo un'occhiata al codice.
Gran parte del codice è in realtà esattamente ciò che abbiamo usato prima.
Ho letteralmente copiato e incollato lo stesso set up con quello con gli orologi megahertz che sono abbastanza
lenti per il display LCD.
Configuriamo il registro Tristate per tutti gli ingressi tranne il bit 5 che stiamo ancora utilizzando per la linea
sul display LCD.
Quindi procedere alla configurazione del convertitore da analogico a digitale.
Ora questo è impostato con pochi registri diversi e quindi a è il registro di selezione analogico per la porta a.
C'è un altro registro e cella C per Port C.
Se date un'occhiata alle note dei pin sulla vostra scheda tecnica a pagina 8 o pagina 8 noterete che
potete collegare più pin di uscita in ingresso al convertitore analogico.
Pin 3.
Dieci nove otto e sette.
E ricorda che hai solo un convertitore analogico-digitale a bordo, quindi devi collegare il pin che
desideri utilizzare al convertitore da A a D.
Ora puoi cambiarlo al volo, naturalmente, nel bel mezzo del tuo programma.
Ma non abbiamo bisogno di farlo.
Leggeremo solo un ingresso analogico di pin letti che è il nostro a 4.
Quindi se vai a pagina 133 della tua scheda tecnica troverai e vendi un registro c'è solo un possibile ingresso
analogico sulla porta a.
E questo è tutto per.
Quindi se guardi qui puoi vedere che se è impostato su 1 vedrai che se è impostato su uno
non puoi più usare quel pin come output e ora è impostato come input analogico.
Quindi dai un'occhiata alle linee di codice 24 e 25 vedrai che è esattamente quello che facciamo.
Impostiamo il bit quattro alla fine in modo da registrare i registri successivi che dobbiamo impostare i nostri conteggi di annunci 0 e
1 AD per il controllo da analogico a digitale.
E ci sono due registri di controllo necessari per configurare il convertitore A D.
Torniamo alla nostra scheda tecnica a partire da pagina centosessanta.
E diamo un'occhiata a quei registri.
Ora il primo che chiamerei zero controlla quale ingresso analogico viene collegato al convertitore da A a D.
Anche in questo caso puoi cambiarlo tutte le volte che vuoi durante il tuo programma, ma lo installiamo solo una
volta e lo lasciamo in quel modo.
Quindi qui puoi vedere che il bit da sei a due imposta
quale canale viene connesso.
Tuttavia non fatevi ingannare.
Guarda di nuovo l'elenco del pianoforte a pagina otto per un secondo.
Usiamo il nostro A che si trova sul pin 3 e utilizza i canali 8 e 3.
Non è l'8 e il 4 anche se si potrebbe pensare che, perché si sa, si allineano di solito
i numeri dei canali con i numeri di porta e cose che si conoscono, ma non ci si deve preoccupare di questo.
Quindi abbiamo bisogno di impostare Channel 4 8 e il RE torna a pagina 160.
Quindi qui per impostare
un due e tre bit 1:54 ottenere 2 000 1 1.
Ora il primo bit che il 7 non è implementato, quindi inseriremo uno zero lì solo per l'intrattenimento.
Quindi, crea questo morso.
Finora abbiamo 0 0 0 0 1 1.
Il prossimo bit è il bit del go-go.
Questo è il punto di cui ti ho parlato nell'ultimo paio di lezioni in cui abbiamo impostato questo punto.
Il convertitore avvia il processo di conversione che richiede tempo.
Quando completa la conversione e viene trovato il numero magico del mistero, cancella quel bit in modo
che si abbassi.
Ora possiamo controllarlo e quando vediamo che l'offerta è scesa, sappiamo che possiamo
recuperare il numero analogico dal nostro buffer put, l'ultimo bit è Adey on o analogico su bit.
Questo è ciò che attiva il circuito del convertitore analogico-digitale lasciandolo inutilizzato, ma
ovviamente dobbiamo accenderlo per poter eseguire le nostre conversioni.
Noterai altrove nella scheda tecnica che dicono di accendere prima il bit add on ma non di impostare
il bit Go alto nello stesso comando.
Ora non è la fine del mondo.
Se lo fai, ma incasina quella conversione.
Quindi applicheremo il componente aggiuntivo impostandolo su un valore alto, ma lasciandolo un po 'basso.
Quindi imposteremo l'ADD chiamando 0 per byte 2 0 0 0 0 1 1 0 1 che ha senso.
Portaci con il tuo caffè.
So che questo
è difficile e che scorrere verso il basso la pagina e vedrete l'annuncio su un unico registro.
Diamo un'occhiata per vedere cosa fanno i vari bit qui.
Ora il bit 7 è il bit h d f m per il formato da analogico a digitale.
Scorri fino a
pagina 157 vedrai che i due morsi in cui il convertitore A D sparge i suoi risultati indirizzano
un indirizzo l abbreviato per il risultato analogico-digitale alto e il risultato analogico-digitale basso.
Ora come puoi vedere puoi formattare l'output di uno dei due modi.
Il bit più significativo nei bit sette del bit alto con solo i due bit
superiori del byte inferiore in uso o il bit meno significativo nel bit 0 del byte basso.
In entrambi i casi il risultato utilizza solo 10 bit.
Quindi gli altri bit restanti non saranno usati.
Ora vogliamo questo formato, quindi vedrai che il bit FM dell'ADF deve essere impostato su 1 per questo formato.
Quindi torna a pagina 161 c'è quell'ambientale ADFA che ora sappiamo di voler impostare in alto.
Chiamano questo bit giustificato a 64 per la selezione dell'orologio.
Ora ricordate che la conversione analogica è stata eseguita utilizzando i cicli di clock.
Puoi rallentarlo ancora di più mettendo un partitore di clock davanti agli impulsi di clock che
entrano nel convertitore.
Ora ci possono essere delle volte in cui vuoi farlo adesso.
Non ci interessa nulla di tutto ciò.
Vogliamo convertirci al massimo passo il più velocemente possibile.
Quindi, piuttosto che dividere il clock per 2 o 8 o 32, andremo a fare il clock RC completo generato nell'immagine in
modo che possiamo impostare questi bit su 0 1 1 o 1 1 1 o 1 imposta la conversione dell'orologio su nessuna
conversione.
E alimenta semplicemente l'orologio direttamente nel convertitore.
Useremo 1 1 1 bit da 3 a 2 o non implementati.
Quindi non importa cosa li inseriremo, inseriremo uno 0 0 là dentro.
Infine i bit 1 3 0 configurano la tensione di riferimento.
Ora è possibile fornire una tensione di riferimento, se lo si desidera, e collegarlo ai
pin designati sul PIC o ci sono anche riferimenti di tensione precalibrati incorporati nel PIC che è possibile utilizzare.
Ora non ci interessa nulla di tutto ciò.
Divideremo solo la nostra tensione di alimentazione, quindi collegheremo la tensione di riferimento dell'alimentazione
di riferimento all'alimentazione positiva.
Conosciuto altrimenti noto come d d.
Quindi per fare quel bit zero e r bit 1 e 0 sono entrambi impostati su zeri.
Quindi passiamo
in rassegna questo byte a 1 1 1 0 0 0 0 perché ciò ha senso.
Fai un sorso per un caffè, poi saliamo sul nostro codice segreto.