WEBVTT

00:01.260 --> 00:04.430
OK, devo dire che voi ragazzi siete super intelligenti.

00:04.620 --> 00:11.660
Tuttavia questo ti farà male al cervello se non hai un caffè in mano per prenderne uno.

00:11.970 --> 00:22.350
E mentre ci sei, vai avanti e scarica il codice di esempio e lo schema nel video

00:23.230 --> 00:28.100
del puzzle della sezione download o attendi.

00:29.150 --> 00:37.100
Utilizzeremo il convertitore HD a nostra scelta usando solo un partitore di tensione con qualsiasi resistore

00:37.100 --> 00:46.440
variabile che vuoi un vaso o un sig. Una matrice di pulsanti foto resistore con una luce di resistenza o altro.

00:46.440 --> 00:55.410
Basta fare un partitore di tensione attraverso l'alimentatore in modo da poter alimentare una tensione variabile nel convertitore da

00:55.620 --> 00:58.370
A a D delle foto.

00:58.380 --> 01:05.640
Ora, se ti ricordi di tornare indietro nel corso dell'elettronica analogica nella lezione sui divisori di tensione, ho menzionato un

01:05.640 --> 01:13.310
uso di un partitore di tensione che il convertitore A D non può tollerare una tensione superiore alla tensione di alimentazione

01:13.350 --> 01:16.050
ma qualunque sia la tensione di alimentazione.

01:16.290 --> 01:25.920
Quindi tienilo sempre a mente quando utilizzi il convertitore nel nostro caso divideremo la tensione di alimentazione.

01:26.040 --> 01:32.370
Quindi ovviamente non supereremo la tensione di alimentazione sul pin di ingresso.

01:33.860 --> 01:39.850
Ciò ci fornirà una tensione di ingresso variabile nella parte più profonda della nostra scelta.

01:39.860 --> 01:47.720
Ora sia l'immagine che l'Arduino ne hanno solo uno integrato nel convertitore da A a D, ma hanno

01:47.810 --> 01:49.500
più ingressi analogici.

01:49.920 --> 01:57.200
I microcontrollori collegano semplicemente il convertitore all'ingresso appropriato che si designa nelle

01:57.200 --> 01:58.110
impostazioni.

01:58.340 --> 02:07.940
Useremo il NOSTRO a 4, ma in precedenza avevamo utilizzato solo il nostro a 4 per la nostra linea R S che controlla

02:07.940 --> 02:09.670
il nostro display LCD.

02:09.710 --> 02:15.770
Ora vogliamo ancora utilizzare il display LCD, quindi dobbiamo ricablare il nostro set up e apportare alcune modifiche al

02:15.770 --> 02:16.760
nostro programma.

02:16.820 --> 02:23.630
Quindi ogni istanza nel nostro programma in cui abbiamo fatto un cambio di segnale sulle linee di controllo, dobbiamo

02:23.630 --> 02:26.820
passare alla linea appropriata sul nostro c per.

02:27.200 --> 02:36.850
Ma poiché usavamo anche la porta C per inviare i nostri dati ogni volta che inviamo dati dalla porta C, dobbiamo assicurarci

02:36.850 --> 02:43.630
che i bit di controllo rimangano impostati o cancellati in base alle nostre esigenze.

02:43.630 --> 02:49.690
Quindi nel tuo codice di esempio ho fatto tutto il lavoro per te solo perché sono un ragazzo

02:49.690 --> 02:54.660
così simpatico che vedrai cosa ho fatto qui alla linea 84 per esempio.

02:54.660 --> 03:04.290
Dopo aver inviato i dati nibble sulla porta C I, ho semplicemente emesso un comando bit set su bit per

03:04.290 --> 03:08.340
Vlach C prima di pulsare la riga E.

03:08.340 --> 03:12.770
Ora lo ha fatto per tutto il programma e lo vedremo sapere qui e là.

03:18.560 --> 03:27.790
Ora che abbiamo questo display LCD molto utile possiamo utilizzarlo per darci informazioni su cosa faremo

03:27.790 --> 03:35.530
usare il convertitore analogico-digitale integrato per dare un segnale molto forte e sputare

03:35.530 --> 03:39.860
il vero digitale numero sul display.

03:39.880 --> 03:48.670
Abbiamo un paio di sfide, anche se se si richiama dipinge il convertitore da a a D ha un output a 10 bit

03:48.670 --> 03:50.150
consegnato in byte.

03:50.590 --> 03:58.300
Quindi suddivideremo questo in tre Annabelle separate visualizzate come tre numeri esadecimali sul

03:58.300 --> 04:00.240
nostro display LCD.

04:00.640 --> 04:01.980
Ecco il trucco però.

04:01.990 --> 04:07.250
Ricordare che il display LCD utilizza il carattere ASCII sat a destra.

04:07.360 --> 04:15.910
Quindi lasciamo il nostro elegante set di caratteri ASCII ad alta tecnologia e notiamo alcune cose.

04:15.910 --> 04:20.900
Diciamo che il nostro convertitore A D ha generato il numero esadecimale tre a 2.

04:20.980 --> 04:27.920
Spostiamo il cursore sulla linea in prima posizione e vogliamo inviare un tre al display LCD.

04:27.940 --> 04:32.740
Non possiamo semplicemente prendere quel tre dal convertitore A / D e inviarlo al display.

04:32.740 --> 04:33.970
Perché.

04:34.000 --> 04:35.410
Perché tre

04:38.490 --> 04:46.990
in ASCII mostrerebbero sul comando e t x che non sarebbe nemmeno visualizzato come un personaggio.

04:46.990 --> 04:55.920
È un comando speciale per le macchine da scrivere elettroniche, quindi non mostrerebbe un tre per visualizzarne tre.

04:55.960 --> 05:07.360
Dobbiamo inviare 0 0 1 1 0 0 1 1 quindi dobbiamo convertire il nostro numero tre in un valore ASCII.

05:07.390 --> 05:15.430
Facciamo questo semplicemente aggiungendo un numero ad esso un numero che compensa il nostro valore nei numeri sul nostro grafico

05:15.490 --> 05:16.290
ascii.

05:17.450 --> 05:23.620
Ora il numero 0 è il codice ASCII 0 0 1 1 0 0 0 0.

05:23.870 --> 05:34.940
Quindi aggiungendo questo numero a qualunque numero otteniamo ci darà il codice ASCII per quel numero.

05:34.940 --> 05:41.060
Se aggiungiamo 0 otteniamo 0 0 1 1 0 0 0 0 aggiungiamo 1.

05:41.060 --> 05:45.980
Otteniamo 0 0 1 1 0 0 0 1.

05:46.120 --> 05:53.160
Aggiungiamo per ottenere 0 0 1 1 0 0 1 0 ecc.

05:55.200 --> 06:03.660
Quindi, una volta che abbiamo matematicamente aggiunto il nostro valore di offset, ora è un carattere ASCII e possiamo quindi inviarlo

06:03.660 --> 06:11.160
al nostro display nel solito modo di inviare prima il morso superiore poi il morso inferiore Secondo il nostro

06:12.000 --> 06:17.110
cursore si sposta su una forza pronta a ricevere il seconda cifra

06:17.400 --> 06:27.660
Ma ora andiamo ad inviare la nostra seconda cifra e non possiamo semplicemente aggiungere lo stesso offset

06:27.660 --> 06:36.540
perché guardiamo ci sono tutti questi caratteri speciali tra i numeri e le lettere.

06:36.620 --> 06:40.910
Quindi dobbiamo aggiungere un offset diverso per le lettere esadecimali.

06:40.970 --> 06:43.980
A è un valore decimale di 10.

06:44.000 --> 06:46.330
Quindi torniamo indietro di 10 caratteri.

06:46.400 --> 06:53.820
Dieci nove otto sette sei cinque quattro tre due uno zero.

06:54.350 --> 07:02.440
Quindi questo è l'offset di cui abbiamo bisogno per visualizzare lettere esadecimali sul nostro pannello LCD.

07:02.510 --> 07:08.300
Dobbiamo aggiungere un offset di 0 0 1 1 0 1 1 1.

07:08.340 --> 07:09.420
Confuso ancora.

07:09.560 --> 07:12.670
Prendi un sorso di caffè e lascia che questo affondi per un minuto.

07:16.620 --> 07:20.330
Quindi abbiamo diversi passaggi che dobbiamo eseguire qui.

07:20.520 --> 07:26.020
Abbiamo bisogno di ottenere i bocconcini individuali dai due registri analogici a digitali.

07:26.220 --> 07:29.400
Abbiamo bisogno di dividere i tre bocconcini l'uno dall'altro.

07:29.580 --> 07:37.480
Dobbiamo quindi convertire ciascun nibble in un valore ASCII per visualizzarne il valore sul display LCD.

07:37.530 --> 07:44.850
Per fare questo dobbiamo capire se è necessario convertire numeri numerici o lettere in

07:45.030 --> 07:51.230
numeri ASCII. Le lettere devono essere convertite separatamente in lettere ASCII.

07:51.360 --> 07:56.520
Quindi dobbiamo inviare ogni carattere al display in due bocconcini.

07:56.580 --> 08:00.230
Sposta il cursore sulla prima posizione sulla seconda riga.

08:00.660 --> 08:08.580
Pronti a scrivere i nuovi numeri, ora faremo una breve pausa tra ogni Rita.

08:15.110 --> 08:20.550
Inoltre ti ricordi che il convertitore di Ayittey richiede tempo.

08:20.600 --> 08:28.040
Abbiamo bisogno di impostare il convertitore A-D per dirgli di iniziare la conversione e poi continuare a controllarlo per vedere se

08:28.040 --> 08:29.820
è finito o meno.

08:31.030 --> 08:39.340
Una volta fatto, afferreremo i due morsi e li memorizzeremo in registri di uso generale e imposteremo

08:39.340 --> 08:47.770
il convertitore HDD sulla sua strada di nuovo per iniziare la conversione successiva mentre suoniamo con i numeri

08:47.830 --> 08:49.350
e li visualizziamo.

08:49.690 --> 08:52.090
OK, sorseggia un caffè.

08:52.120 --> 08:53.400
Ne avrai bisogno.

08:53.570 --> 09:00.590
E diamo un'occhiata al codice.

09:00.640 --> 09:05.040
Gran parte del codice è in realtà esattamente ciò che abbiamo usato prima.

09:05.050 --> 09:14.950
Ho letteralmente copiato e incollato lo stesso set up con quello con gli orologi megahertz che sono abbastanza

09:14.980 --> 09:17.810
lenti per il display LCD.

09:17.950 --> 09:27.280
Configuriamo il registro Tristate per tutti gli ingressi tranne il bit 5 che stiamo ancora utilizzando per la linea

09:27.610 --> 09:29.090
sul display LCD.

09:29.500 --> 09:34.380
Quindi procedere alla configurazione del convertitore da analogico a digitale.

09:34.390 --> 09:43.330
Ora questo è impostato con pochi registri diversi e quindi a è il registro di selezione analogico per la porta a.

09:43.600 --> 09:47.610
C'è un altro registro e cella C per Port C.

09:47.830 --> 09:57.510
Se date un'occhiata alle note dei pin sulla vostra scheda tecnica a pagina 8 o pagina 8 noterete che

09:57.510 --> 10:03.920
potete collegare più pin di uscita in ingresso al convertitore analogico.

10:04.200 --> 10:05.570
Pin 3.

10:05.850 --> 10:09.150
Dieci nove otto e sette.

10:09.250 --> 10:15.470
E ricorda che hai solo un convertitore analogico-digitale a bordo, quindi devi collegare il pin che

10:15.470 --> 10:18.940
desideri utilizzare al convertitore da A a D.

10:19.210 --> 10:23.710
Ora puoi cambiarlo al volo, naturalmente, nel bel mezzo del tuo programma.

10:23.930 --> 10:25.830
Ma non abbiamo bisogno di farlo.

10:26.210 --> 10:35.770
Leggeremo solo un ingresso analogico di pin letti che è il nostro a 4.

10:35.780 --> 10:49.480
Quindi se vai a pagina 133 della tua scheda tecnica troverai e vendi un registro c'è solo un possibile ingresso

10:49.480 --> 10:52.700
analogico sulla porta a.

10:52.870 --> 10:55.510
E questo è tutto per.

10:55.560 --> 11:04.320
Quindi se guardi qui puoi vedere che se è impostato su 1 vedrai che se è impostato su uno

11:04.320 --> 11:12.080
non puoi più usare quel pin come output e ora è impostato come input analogico.

11:12.510 --> 11:20.070
Quindi dai un'occhiata alle linee di codice 24 e 25 vedrai che è esattamente quello che facciamo.

11:20.820 --> 11:31.590
Impostiamo il bit quattro alla fine in modo da registrare i registri successivi che dobbiamo impostare i nostri conteggi di annunci 0 e

11:31.600 --> 11:35.820
1 AD per il controllo da analogico a digitale.

11:36.160 --> 11:41.910
E ci sono due registri di controllo necessari per configurare il convertitore A D.

11:41.920 --> 11:51.400
Torniamo alla nostra scheda tecnica a partire da pagina centosessanta.

11:51.570 --> 11:54.880
E diamo un'occhiata a quei registri.

11:54.960 --> 12:03.330
Ora il primo che chiamerei zero controlla quale ingresso analogico viene collegato al convertitore da A a D.

12:03.540 --> 12:09.570
Anche in questo caso puoi cambiarlo tutte le volte che vuoi durante il tuo programma, ma lo installiamo solo una

12:09.570 --> 12:11.890
volta e lo lasciamo in quel modo.

12:12.390 --> 12:17.700
Quindi qui puoi vedere che il bit da sei a due imposta

12:20.230 --> 12:22.600
quale canale viene connesso.

12:22.600 --> 12:24.760
Tuttavia non fatevi ingannare.

12:24.760 --> 12:32.830
Guarda di nuovo l'elenco del pianoforte a pagina otto per un secondo.

12:32.940 --> 12:40.890
Usiamo il nostro A che si trova sul pin 3 e utilizza i canali 8 e 3.

12:41.160 --> 12:47.250
Non è l'8 e il 4 anche se si potrebbe pensare che, perché si sa, si allineano di solito

12:47.520 --> 12:54.060
i numeri dei canali con i numeri di porta e cose che si conoscono, ma non ci si deve preoccupare di questo.

12:54.060 --> 13:00.030
Quindi abbiamo bisogno di impostare Channel 4 8 e il RE torna a pagina 160.

13:03.900 --> 13:06.600
Quindi qui per impostare

13:11.210 --> 13:17.220
un due e tre bit 1:54 ottenere 2 000 1 1.

13:17.270 --> 13:24.740
Ora il primo bit che il 7 non è implementato, quindi inseriremo uno zero lì solo per l'intrattenimento.

13:24.740 --> 13:25.750
Quindi, crea questo morso.

13:25.760 --> 13:32.180
Finora abbiamo 0 0 0 0 1 1.

13:32.450 --> 13:35.270
Il prossimo bit è il bit del go-go.

13:35.270 --> 13:40.660
Questo è il punto di cui ti ho parlato nell'ultimo paio di lezioni in cui abbiamo impostato questo punto.

13:40.990 --> 13:47.060
Il convertitore avvia il processo di conversione che richiede tempo.

13:47.120 --> 13:53.270
Quando completa la conversione e viene trovato il numero magico del mistero, cancella quel bit in modo

13:53.270 --> 13:54.420
che si abbassi.

13:54.980 --> 14:02.540
Ora possiamo controllarlo e quando vediamo che l'offerta è scesa, sappiamo che possiamo

14:02.570 --> 14:11.610
recuperare il numero analogico dal nostro buffer put, l'ultimo bit è Adey on o analogico su bit.

14:11.640 --> 14:19.410
Questo è ciò che attiva il circuito del convertitore analogico-digitale lasciandolo inutilizzato, ma

14:19.410 --> 14:25.070
ovviamente dobbiamo accenderlo per poter eseguire le nostre conversioni.

14:25.110 --> 14:33.810
Noterai altrove nella scheda tecnica che dicono di accendere prima il bit add on ma non di impostare

14:33.900 --> 14:37.780
il bit Go alto nello stesso comando.

14:37.780 --> 14:39.310
Ora non è la fine del mondo.

14:39.350 --> 14:42.780
Se lo fai, ma incasina quella conversione.

14:43.020 --> 14:49.160
Quindi applicheremo il componente aggiuntivo impostandolo su un valore alto, ma lasciandolo un po 'basso.

14:49.680 --> 15:04.020
Quindi imposteremo l'ADD chiamando 0 per byte 2 0 0 0 0 1 1 0 1 che ha senso.

15:04.200 --> 15:05.070
Portaci con il tuo caffè.

15:05.070 --> 15:06.170
So che questo

15:09.780 --> 15:15.740
è difficile e che scorrere verso il basso la pagina e vedrete l'annuncio su un unico registro.

15:15.750 --> 15:18.500
Diamo un'occhiata per vedere cosa fanno i vari bit qui.

15:18.570 --> 15:25.980
Ora il bit 7 è il bit h d f m per il formato da analogico a digitale.

15:26.070 --> 15:28.360
Scorri fino a

15:30.860 --> 15:41.490
pagina 157 vedrai che i due morsi in cui il convertitore A D sparge i suoi risultati indirizzano

15:41.910 --> 15:49.970
un indirizzo l abbreviato per il risultato analogico-digitale alto e il risultato analogico-digitale basso.

15:50.310 --> 15:54.930
Ora come puoi vedere puoi formattare l'output di uno dei due modi.

15:54.930 --> 16:02.400
Il bit più significativo nei bit sette del bit alto con solo i due bit

16:02.400 --> 16:10.480
superiori del byte inferiore in uso o il bit meno significativo nel bit 0 del byte basso.

16:10.560 --> 16:15.900
In entrambi i casi il risultato utilizza solo 10 bit.

16:15.900 --> 16:22.270
Quindi gli altri bit restanti non saranno usati.

16:22.320 --> 16:31.820
Ora vogliamo questo formato, quindi vedrai che il bit FM dell'ADF deve essere impostato su 1 per questo formato.

16:32.040 --> 16:43.560
Quindi torna a pagina 161 c'è quell'ambientale ADFA che ora sappiamo di voler impostare in alto.

16:43.600 --> 16:50.320
Chiamano questo bit giustificato a 64 per la selezione dell'orologio.

16:50.330 --> 16:55.110
Ora ricordate che la conversione analogica è stata eseguita utilizzando i cicli di clock.

16:55.510 --> 17:03.010
Puoi rallentarlo ancora di più mettendo un partitore di clock davanti agli impulsi di clock che

17:03.010 --> 17:04.660
entrano nel convertitore.

17:04.660 --> 17:07.690
Ora ci possono essere delle volte in cui vuoi farlo adesso.

17:07.720 --> 17:09.640
Non ci interessa nulla di tutto ciò.

17:09.670 --> 17:13.560
Vogliamo convertirci al massimo passo il più velocemente possibile.

17:13.840 --> 17:24.880
Quindi, piuttosto che dividere il clock per 2 o 8 o 32, andremo a fare il clock RC completo generato nell'immagine in

17:24.880 --> 17:35.630
modo che possiamo impostare questi bit su 0 1 1 o 1 1 1 o 1 imposta la conversione dell'orologio su nessuna

17:35.630 --> 17:36.500
conversione.

17:36.620 --> 17:39.580
E alimenta semplicemente l'orologio direttamente nel convertitore.

17:39.620 --> 17:47.420
Useremo 1 1 1 bit da 3 a 2 o non implementati.

17:47.520 --> 17:51.950
Quindi non importa cosa li inseriremo, inseriremo uno 0 0 là dentro.

17:52.260 --> 17:58.740
Infine i bit 1 3 0 configurano la tensione di riferimento.

17:58.880 --> 18:05.900
Ora è possibile fornire una tensione di riferimento, se lo si desidera, e collegarlo ai

18:06.560 --> 18:14.590
pin designati sul PIC o ci sono anche riferimenti di tensione precalibrati incorporati nel PIC che è possibile utilizzare.

18:14.600 --> 18:16.310
Ora non ci interessa nulla di tutto ciò.

18:16.340 --> 18:25.700
Divideremo solo la nostra tensione di alimentazione, quindi collegheremo la tensione di riferimento dell'alimentazione

18:25.970 --> 18:28.720
di riferimento all'alimentazione positiva.

18:29.050 --> 18:32.730
Conosciuto altrimenti noto come d d.

18:32.870 --> 18:41.680
Quindi per fare quel bit zero e r bit 1 e 0 sono entrambi impostati su zeri.

18:42.160 --> 18:44.560
Quindi passiamo

18:47.010 --> 19:00.570
in rassegna questo byte a 1 1 1 0 0 0 0 perché ciò ha senso.

19:01.460 --> 19:05.660
Fai un sorso per un caffè, poi saliamo sul nostro codice segreto.
