Mi rendo conto che questa prossima lezione è solo teoria, ma è
una lezione importante che ti ritroveresti ad usare costantemente quando programmerai nella prossima lezione, useremo il display LCD per
visualizzare effettivamente le informazioni direttamente dal microcontrollore anche se non ha per essere il display LCD.
Diciamo che costruisci un termostato digitale per controllare la temperatura in una stanza.
Ora oltre al display LCD è possibile visualizzare direttamente le impostazioni, ecc. può essere inestimabile nella tua fase di
ricerca e sviluppo.
Diciamo che impostiamo un termistore con un resistore come divisore di tensione attraverso l'alimentazione e il convertitore
analogico-digitale sputa un numero di 10 bit che rappresenta la tensione che esce da quel partitore
di tensione.
Voglio accendere il fuoco quando la temperatura arriva a 20 gradi Celsius e spegnere il fuoco
quando la temperatura arriva a 25 gradi Celsius.
Ora non ho assolutamente idea di quale sia il numero che il convertitore analogico-digitale sputa a 20 gradi.
Non riesco a sapere il peer all'interno dell'immagine e metto un multimetro sulle linee dati che escono dal
convertitore A-D.
Eppure questo è esattamente quello che voglio fare.
In effetti ho bisogno di fare come ho bisogno di guardare dentro l'immagine in qualche modo per scoprire quale numero viene prodotto quando
il termistore è a 20 gradi Celsius.
Ora ci sono un sacco di modi in cui lo fai in modo un po 'più complesso.
Ma d'ora in poi ti ritroverai a eseguire un programma di calibrazione o un programma di utilità o una subroutine
che hai scritto appositamente solo per dirti ciò che il microprocessore vede le immagini. Il convertitore AD è un convertitore a
10 bit con gli 8 bit più bassi memorizzati in 1 8 registro bit e due bit superiori memorizzati in
un altro registro a 8 bit.
Nel nostro caso, quindi, collegheremo il display LCD e mostreremo in realtà i
tre esagoni e tre livelli come tre numeri esadecimali provenienti direttamente dal convertitore A D in tempo reale.
Possiamo quindi misurare la temperatura effettiva.
Il termistore sta vedendo cobby in basso o qualunque numero viene prodotto dal convertitore HDD
e usa quei numeri generati per scrivere il nostro programma finale che controlla effettivamente il calore.
Quindi, se puoi immaginarlo, questo è ricerca e sviluppo.
Stiamo scrivendo un programma che non farà altro che sputare numeri per noi che possiamo usare
per scrivere il nostro programma finale che controlla il calore in una stanza.
Sapremo quale valore viene prodotto dal convertitore ADT a quali temperature otterranno un'intera gamma
di numeri mediante la sperimentazione.
Ora la cosa è che potresti costruire lo stesso circuito esattamente come faccio con le stesse identiche parti
ma non funzionerebbe allo stesso modo a causa delle variazioni nel termistore e nel resistore.
Ora pensaci.
Quindi, utilizzando questa forma di feedback diretto, è possibile calibrare il sistema visualizzando un'alimentazione diretta dal
convertitore A / D.
Ora ecco un altro potente utilizzo del convertitore HD che puoi utilizzare nei tuoi progetti.
Supponiamo che tu abbia 10 pulsanti per il tuo robot controllato da microcontrollore.
Puoi impostarli come ingressi digitali sul tuo plettro ma questo richiederebbe fino a 10 ingressi digitali.
Hai solo così tante uscite in ingresso, quindi vuoi conservarle.
Inserisci il convertitore da A a D creando una scala di resistenze come questa costruisce un divisore di tensione a più livelli.
Sputerà una tensione diversa per ogni pulsante premuto.
Ora si esegue una riga in un convertitore analogico-digitale e il convertitore ADT emetterà un numero
univoco a seconda del pulsante premuto.
Quindi, in realtà, potresti costruire un enorme array come questo, molto più grande di quanto tu possa mai volere, in quanto potresti facilmente
costruire una serie di centinaia di pulsanti come questo.
In questo modo è possibile leggere centinaia di pulsanti utilizzando un solo input sul microcontrollore.
Quindi ora è necessario capire quale numero viene generato per ogni singolo pulsante.
Un modo per farlo è semplicemente visualizzare il risultato sul display LCD e semplicemente premere ciascun pulsante per annotare
ciò che il convertitore legge quando si preme un pulsante specifico.
Usa quei numeri più avanti nello scrivere il tuo programma.
Infatti, premendo due pulsanti contemporaneamente si crea un unico divisore di tensione univoco generato
da un convertitore A-D.
Quando si premono due pulsanti contemporaneamente, è possibile avere pulsanti multifunzione.
Ora ricorda anche come leggi che le informazioni possono essere fatte in diversi modi.
La tua scrittura di un programma di utilità o subroutine al fine di fare tutto questo comunque.
Quindi scegli il tuo metodo.
Un singolo LCD su un'uscita digitale può essere programmato per lampeggiare il numero in modo da poter semplicemente
contare gli impulsi dal display LCD.
Metti una pausa tra ogni numero.
Quindi se fosse il numero esadecimale dì a 5 C vedresti 12 lampi per C una pausa cinque lampeggia una pausa e due lampeggi.
Questo può essere fatto dire che se non avessi un display LCD a portata di mano un altro modo di gestire risultati
e numeri digitali invisibili è quello di costruire una routine di calibrazione nel tuo programma.
Ad esempio, potresti avere un singolo programma Elodie per far lampeggiare un certo codice e un singolo pulsante per la calibrazione.
Hai il tuo manuale di istruzioni che hai scritto per andare insieme al tuo fantastico gadget high tech che
stai creando.
Bene, vediamo che è il nostro robot sottomarino che progetteremo nei prossimi moduli.
È controllato da un joystick.
Ora qui ho aperto questo joystick in modo da poter vedere come funziona.
Sono semplicemente due parti sui due assi che attaccano quei vasi attraverso l'alimentatore e mettono il pin centrale di
ciascuno su due ingressi analogici sul controller della bici.
Ora hai il controllo del joystick ma non hai idea di quali numeri l'analogo al digitale genera quando il joystick
è centrato o pieno a destra oa sinistra o pieno su o giù.
Ecco quindi che quando l'utente legge il tuo manuale di istruzioni su come calibrare quando l'utente
preme il pulsante di calibrazione lampeggia la D tre volte velocemente indicando che è pronto a calibrare il
manuale di istruzioni dice all'utente di spostare il joystick fino ad Andremo in un grande cerchio a scuotere
questa volta.
Il microcontrollore sta cercando i numeri più grandi e più piccoli generati dal convertitore
su ciascun asse e memorizza quei numeri in memoria.
Dopo alcuni cicli, l'Elodie lampeggia due volte rapidamente per indicare che l'utente deve mollare il bastone.
Quindi si concentrerà sul microcontrollore, ora legge gli assi del joystick e registra nella sua memoria i
valori che vede quando il joystick è centrato.
Questi valori ora memorizzati nella memoria vengono quindi referenziati dal tuo programma in modo che sappia quando
l'utente ha il joystick centrato o sta comandando il movimento in una direzione specifica.
Ora un'ultima nota perché la risoluzione è piuttosto alta di mille e 24 valori diversi.
La maggior parte delle mie nuove modifiche nella tensione di ingresso darà un numero diverso.
Quindi con qualsiasi resistore variabile il tuo numero andrà costantemente alla deriva un po 'a causa
delle variazioni microscopiche della tensione.
Quindi quando usi il numero che esce dal convertitore DTA, il convertitore HD nel tuo programma devi
solo tenerne conto.
Diciamo che a 20 ° C i tuoi esperimenti con termistori hanno dimostrato che il
convertitore sputerà un numero compreso tra 234 e 276.
Quindi quando scrivi il tuo programma stai verificando se il numero è maggiore di 233
e meno di 277.
Ora sai che la tua temperatura è a 20 gradi.