WEBVTT

00:01.250 --> 00:02.080
Tutto ok.

00:02.100 --> 00:07.470
Andiamo alla parte più amata e odiata del kit.

00:07.470 --> 00:10.730
Il touchscreen TFT a colori.

00:10.770 --> 00:13.970
Questi sono amati perché sono economici.

00:14.040 --> 00:16.040
Sono estremamente utili.

00:16.050 --> 00:22.230
Si inserisce istantaneamente nella tua scheda Arduino Uno.

00:22.330 --> 00:23.930
Guarda quello.

00:24.080 --> 00:25.050
Si.

00:25.360 --> 00:28.790
E aggiunge un tocco immediato di professionalità.

00:28.900 --> 00:35.110
Sono odiati perché c'è molta confusione là fuori su come usare anche queste schede.

00:35.110 --> 00:44.170
Una varietà di produttori produce schede identiche con chip di driver diversi e quindi non esiste

00:44.440 --> 00:53.050
compatibilità incrociata tra gli schizzi e sembra che ci siano molte informazioni contraddittorie su Internet su

00:53.050 --> 00:55.290
tutte queste schede.

00:55.300 --> 00:56.820
Alcune persone li fanno funzionare.

00:56.830 --> 00:57.970
Altri no.

00:57.970 --> 01:05.440
Quindi sono qui per sperare di dissipare molta confusione e mistero dato che anche io ho lottato per guadare tutto

01:05.440 --> 01:10.540
e battere queste schede in sottomissione per convincerli a fare quello che volevo.

01:10.540 --> 01:15.910
Ora li adoro personalmente in quanto sono così economici e prontamente disponibili che puoi acquistarli

01:15.910 --> 01:17.800
per meno di tre dollari.

01:17.800 --> 01:27.190
Quindi hanno almeno un display da 240 per 320 pixel e ogni pixel può visualizzare oltre

01:27.190 --> 01:29.710
duecentosessanta duemila colori diversi.

01:29.710 --> 01:34.430
E ha un touch screen incorporato.

01:34.600 --> 01:37.660
Cosa potresti chiedere di più nei tuoi progetti.

01:37.660 --> 01:42.200
Quindi suddividiamolo e iniziamo mantenendolo semplice.

01:42.280 --> 01:49.300
Sfortunatamente la più grande fonte di confusione sono stati i molti tipi diversi

01:49.570 --> 01:56.140
di chip driver per gli schermi che sono disponibili su schede identiche.

01:56.140 --> 02:00.980
Di solito puoi andare dal tuo produttore e ti diranno quali chip driver hai.

02:01.060 --> 02:03.160
Ma anche questo non è coerente qui.

02:03.160 --> 02:04.040
Controllalo.

02:04.060 --> 02:12.130
Questa è la tavola che ho distribuito nei bambini che ho visto.

02:12.560 --> 02:15.290
È stato progettato dall'amico MCU.

02:15.290 --> 02:21.200
E quando vai sul sito web e trovi la scheda ti danno informazioni di base.

02:21.200 --> 02:25.990
Ma anche qui hanno due driver diversi elencati per questa scheda.

02:26.030 --> 02:32.570
Quindi quale avete a un fondo Spark Fruit e altri hanno anche creato schede che a

02:32.660 --> 02:38.670
prima vista sembrano identiche a questa scheda ma usano ancora chip driver diversi.

02:38.720 --> 02:39.880
Ed ecco il trucco.

02:39.980 --> 02:45.770
Non puoi semplicemente guardare i numeri sui gettoni sul tabellone per capire quali chip driver hai.

02:46.100 --> 02:47.090
Perché.

02:47.090 --> 02:54.050
Perché i chip dei driver sono stati costruiti utilizzando una straordinaria tecnologia chiamata Chip on glass.

02:54.590 --> 02:55.280
Giusto.

02:55.280 --> 03:01.430
I chip del driver sono incisi su uno degli strati di vetro dello schermo.

03:01.430 --> 03:09.350
Non ci sono numeri da consultare e questo connettore piatto di dozzine e dozzine di connessioni è

03:09.350 --> 03:12.410
effettivamente collegato ai chip del driver.

03:12.410 --> 03:21.020
Questi chip sul retro della scheda sono semplicemente buffer o fondamentalmente chip di amplificazione che collegano il touch screen o

03:21.020 --> 03:25.040
le funzioni sulla scheda con i pin di connessione.

03:25.040 --> 03:30.110
Non è possibile identificare i bit del driver da quelli perché non hanno nulla a che fare con il modo in

03:30.110 --> 03:31.500
cui la scheda è controllata.

03:31.500 --> 03:40.430
Ora fortunatamente o sfortunatamente perché questo può creare molta confusione una volta che un chipset del driver

03:40.460 --> 03:48.680
è stato prodotto, altri chipset tendevano a seguire la convenzione di quel chipset originale.

03:48.680 --> 03:55.270
Quindi le istruzioni di un chipset possono ancora funzionare su un chipset completamente diverso.

03:55.280 --> 04:02.390
Questo diventa davvero confuso, perché a volte un chipset avrà registri che non esistono nemmeno

04:02.390 --> 04:11.690
su un altro chipset o che i due chipset hanno lo stesso registro per la stessa funzione allo stesso

04:11.690 --> 04:12.690
indirizzo.

04:12.950 --> 04:17.840
Ma i bit di registro sono impostati in modo diverso tra i due chipset.

04:17.840 --> 04:25.610
Quindi questo è il motivo per cui alcuni hanno segnalato una schermata di lavoro con le librerie che sono là fuori

04:25.610 --> 04:29.000
ma lo schermo è come all'indietro o lateralmente.

04:29.000 --> 04:37.100
Inoltre, molte delle diverse impostazioni o funzioni del chipset vengono effettivamente impostate

04:37.100 --> 04:41.990
saldando fisicamente determinati fili sul chip.

04:41.990 --> 04:49.240
Quindi questo è ovviamente fatto dal produttore dello scudo stesso e non hai voce in capitolo.

04:49.430 --> 04:54.450
Ad esempio, normalmente questa scheda ha una larghezza di duecentoquaranta pixel.

04:54.650 --> 04:57.740
Trecentoventi pixel di altezza.

04:57.740 --> 05:06.980
Quindi è una schermata in modalità ritratto con pixel zero la virgola zero appare nell'angolo in alto a

05:07.040 --> 05:15.430
sinistra alcuni display come questo sono 480 pixel di larghezza per trecentoventi pixel di altezza.

05:15.570 --> 05:18.230
E questo è stato cablato su questa scheda particolare.

05:18.750 --> 05:24.570
Quindi è la modalità orizzontale di default con pixel zero virgola zero qui.

05:24.570 --> 05:33.000
Quindi la prima e la cosa più importante che devi capire è quali chip driver hai sul tuo TFT sul

05:33.120 --> 05:34.810
tuo display TFT.

05:34.920 --> 05:36.420
Quindi, come lo scopri?

05:36.420 --> 05:44.190
Bene, i produttori di chip inseriscono permanentemente il numero ID nella memoria RAM sui chip in modo da poter leggere un indirizzo

05:44.190 --> 05:51.870
specifico sulla scheda e sputerà un I. D. e quindi ci imbattiamo nel nostro primo problema.

05:51.960 --> 06:00.600
Devi comunicare con la scheda collegandola al tuo Guido e per scoprire anche come

06:00.600 --> 06:01.530
guidarla.

06:02.580 --> 06:08.760
Quindi per quelli di voi che hanno ottenuto il kit di elettronica digitale e

06:08.760 --> 06:19.830
probabilmente la maggior parte di voi là fuori che procurano le proprie parti avete una scheda che si inserisce semplicemente nell'Arduino che conoscete il boom delle connessioni.

06:19.860 --> 06:21.350
Fatto ora.

06:21.450 --> 06:22.510
Stai attento però.

06:22.530 --> 06:36.180
Notare questo grosso brutto pezzo di metallo che copre la porta USB che tocca il retro del display TFT in modo da poter cortocircuitare

06:36.180 --> 06:38.730
eventuali connessioni esposte lì.

06:38.740 --> 06:45.810
Ora la maggior parte dei produttori ne ha tenuto conto e non ci sono connessioni esposte sul retro del

06:45.900 --> 06:47.350
display TFT qui.

06:47.400 --> 06:54.360
Ma per sicurezza basta attaccare un pezzo di nastro isolante di qualche tipo sulla custodia in metallo della porta USB.

06:54.360 --> 06:56.190
Qualsiasi nastro lo farà.

06:56.190 --> 07:00.960
Alcuni di voi potrebbero essere saliti a bordo con connessioni come questa.

07:00.960 --> 07:06.900
Una rapida occhiata alle etichette dei pin ti dirà molto su come comunicare con la tua scheda.

07:06.900 --> 07:17.370
Questa è una connessione seriale probabilmente SBI o io per vedere che sei da solo per capire la comunicazione su quelli che temo

07:17.370 --> 07:24.000
mentre mi concentrerò sulle schede e sui kit che hanno il bus parallelo.

07:24.150 --> 07:30.780
Quindi, se guardi il retro di queste schede, probabilmente riconoscerai anche alcune delle etichette e quindi potresti probabilmente

07:30.780 --> 07:36.700
capire rapidamente come far funzionare la scheda solo in base alla tua esperienza e conoscenza.

07:36.720 --> 07:43.810
Quindi guarda questo che le linee da D 0 a D 7 e su questo lato riconoscerai i

07:43.810 --> 07:52.600
pin di controllo con una terribile somiglianza con il chip di reset della scheda Hitoshi seleziona registra seleziona scrivi e leggi in

07:52.600 --> 08:01.150
modo che i tuoi ingranaggi cerebrali possano già girare presumendo che questi pin seguono la convenzione e lo fanno quindi i pin

08:02.260 --> 08:09.850
di controllo saranno probabilmente tutti pin attivi bassi e inviamo semplicemente i nostri dati ai pin dei dati mantenendo

08:10.450 --> 08:18.940
la linea RS bassa se è un'istruzione o alta se sono dati e quindi pulsano la linea giusta con un piccolo

08:18.940 --> 08:20.500
impulso e basta.

08:20.500 --> 08:22.060
Vai tranquillo.

08:22.240 --> 08:27.780
La domanda ovviamente ora diventa solo quali dati vengono inseriti nel database.

08:27.820 --> 08:29.320
Adesso ci arriveremo tra un minuto.

08:29.380 --> 08:35.830
Per prima cosa dobbiamo capire quali chip driver ha la tua scheda per capire quali dati

08:35.830 --> 08:36.870
dobbiamo inviare.

08:36.880 --> 08:43.270
Fortunatamente molte persone hanno gentilmente messo insieme un piccolo schizzo che mostrerà il chip

08:43.300 --> 08:45.140
driver I. D ..

08:45.610 --> 08:56.560
Dovrai installare le librerie così nel tuo Arduino I. D. andiamo allo sketch includendo il gestore della

08:56.560 --> 09:05.720
libreria della libreria e una volta popolato nella casella di ricerca digita un amico MCU e dovrebbe essere

09:05.720 --> 09:07.830
la prima libreria elencata.

09:07.940 --> 09:16.530
Fai clic su più informazioni e installa la versione più recente.

09:16.640 --> 09:31.660
Ora vai agli esempi di file e fino in fondo vedrai l'amico MCU volare fuori per cercare LCD I. D.

09:31.930 --> 09:34.660
leggi Reg e aprilo.

09:34.660 --> 09:43.970
Questo schizzo leggerà tutti i registri ricchi di idee pertinenti e li sputerà nel monitor seriale.

09:44.050 --> 09:56.470
Quindi, con lo scudo inserito nel caricamento dello schizzo su un monitor seriale seriale aperto, sputerà il contenuto di

09:56.470 --> 10:00.060
un gruppo di registri diversi.

10:00.130 --> 10:07.330
Quindi la lettura dei contenuti registrati è in qualche modo soggetta a interpretazione e congetture.

10:07.330 --> 10:11.210
Diamo un'occhiata a un paio di letture di alcune bacheche misteriose.

10:11.230 --> 10:14.940
Molte fiches mantengono le loro idee proprio all'indirizzo 0.

10:15.230 --> 10:21.250
Altre chips tengono il loro I. D. informazioni in più byte in più indirizzi,

10:21.250 --> 10:28.760
ad esempio questo è l'ISI novanta tre venticinque e l'I. D. sembra essere memorizzato nel primo registro.

10:28.780 --> 10:34.130
Questo è il modo in cui è stato originariamente fatto, ma è da molto tempo che non ne vedo uno simile.

10:34.150 --> 10:36.220
Questo è lo scenario migliore.

10:36.250 --> 10:41.080
Le idee nel primo registrano tutte le altre I. D. i registri sono zeri.

10:41.080 --> 10:42.660
Vai tranquillo.

10:42.790 --> 10:45.550
Questo è un novantatre 0 2.

10:45.790 --> 10:51.280
Questo I. D. sembra essere memorizzato all'indirizzo tuo, ma questo è ancora chiaro come il giorno.

10:51.280 --> 10:57.820
Ha il chip I. D. nel registro che dovrebbe essere il produttore I. D. ma ha

10:57.820 --> 11:07.420
anche il chip I. D. quaggiù dove la compagnia alla quale ho alleato la tecnologia di solito mette il chip I. D. questi altri registri come la modalità di

11:07.420 --> 11:16.030
alimentazione o il formato pixel sono registri di inizializzazione non I. D. registri.

11:16.030 --> 11:25.700
Quindi ignoriamo solo quelli I. D. i registri contengono un numero specifico come questo mentre tutti

11:25.700 --> 11:29.720
gli altri I. D. i registri sono zeri.

11:29.810 --> 11:34.990
Se hai un kit per me, ci sono buone probabilità che questa sia la tua lettura.

11:35.000 --> 11:42.440
Questo è il novantatre quarantuno e puoi vedere l'Io. D. quaggiù nel registro D 3.

11:42.540 --> 11:50.960
Ora, come hai visto, anche se ero sicuro di procurarsi costantemente gli scudi per i miei figli dallo stesso

11:51.440 --> 11:55.950
fornitore, il produttore cambia spesso i chip sulla stessa scheda.

11:56.120 --> 12:00.980
Quindi se hai il tuo display TFT e un kit per me c'è una possibilità.

12:00.980 --> 12:09.220
Questa è la lettura che otterrai è strano che invece di zero come tutti i registri vuoti.

12:09.220 --> 12:18.430
Tende ad avere sessantasei zero finché non scorri fino in fondo qui fino all'I. D. per la serie ILI non c'è

12:18.490 --> 12:28.410
nessuno I settantuno sessantanove, tuttavia mi capita di sapere che questa scheda funziona almeno con le istruzioni di mentire novantatre

12:28.620 --> 12:34.950
quaranta uno e le novantatre quarantuno sono state dichiarate il driver per

12:34.950 --> 12:42.960
queste schede, quindi io in questa lezione guiderà in particolare l'IO novantatre quarantuno e dovrete capire

12:42.960 --> 12:49.710
quale chipset avete trovato il foglio dati per esso e capire quali cambiamenti dovrete

12:49.710 --> 12:57.540
apportare alle istruzioni che avete detto se non sai o non riesci a capire quale sia

12:57.540 --> 12:59.370
la tua scheda.

12:59.370 --> 13:06.540
Basta provare altri driver comuni perché i chip successivi copiano quelli precedenti che tendono a seguire le stesse

13:06.570 --> 13:17.240
convenzioni, ad esempio il sei D 0 4 8 0 x di Samsung è quasi identico alla tecnologia delle palpebre novantatre quarantuno in realtà la maggior parte

13:17.240 --> 13:22.920
del driver i chip là fuori usano esattamente le stesse istruzioni del novantatre quarantuno,

13:22.980 --> 13:28.350
quindi se non sai quali chip driver hai iniziato assumendo che si

13:28.350 --> 13:36.050
tratti di una convenzione di novantatre quarantuno e quindi usa quel foglio dati che è disponibile nella sezione download.

13:36.660 --> 13:39.020
Altre probabili convenzioni potrebbero essere l'alleato.

13:39.030 --> 13:47.430
Novanta tre novanta tre venti o novanta tre venti cinque o ISI settanta sette ottanta tre.

13:47.550 --> 13:49.560
Ora prima di andare avanti.

13:49.920 --> 13:58.050
Quando colleghi la scheda e fai lampeggiare Arduino con lo schizzo del registro di lettura, guarda lo schermo e

13:58.530 --> 14:00.330
vedi cosa fa.

14:00.390 --> 14:03.550
Alcuni schermi diventano completamente bianchi come questo.

14:03.690 --> 14:09.840
Altri diventano completamente neri o forse la tua è una palla strana e fa qualcosa di diverso non importa.

14:09.840 --> 14:14.060
Prendi nota di ciò che fa il tuo schermo.

14:14.190 --> 14:21.030
Durante questo periodo perché lo schermo è appena stato acceso e questo è come appare

14:21.030 --> 14:29.070
quando è in modalità predefinita all'accensione con lo schermo disabilitato, avrai bisogno di queste informazioni nella prossima lezione.

14:29.100 --> 14:32.570
Ora, come se non fosse abbastanza confuso.

14:32.640 --> 14:34.770
Dai un'occhiata al rovescio della

14:37.790 --> 14:41.530
lavagna e vedrai che le linee dati sono piuttosto strane.

14:41.660 --> 14:48.590
Va D 0 d 1 quindi D 237 o qui.

14:48.690 --> 14:55.260
Sarebbe bello se potessimo semplicemente scrivere il nostro byte su una porta e avere quella porta collegata al database

14:56.070 --> 15:00.030
invece di dover scrivere uno e zero su singoli pin.

15:00.030 --> 15:05.340
Quindi, quando dai un'occhiata alle porte di Arduino Uno, vedrai che avrebbero potuto farlo e collegare

15:05.340 --> 15:07.280
i dati alla porta D.

15:07.800 --> 15:12.280
Invece hanno diviso il database in un modo molto strano.

15:12.480 --> 15:19.440
Di conseguenza ciò aggiunge tutta una serie di complessità e confusione al nostro codice e di conseguenza quando

15:19.440 --> 15:23.120
il display non funziona correttamente potrebbe essere il cablaggio.

15:23.220 --> 15:29.020
Potrebbe essere una configurazione errata dei registri o potrebbe essere il nostro programma.

15:29.040 --> 15:31.760
Ora ci sono ragioni per cui hanno creato le schede in questo modo.

15:31.950 --> 15:40.710
Ma per semplificare notevolmente il nostro programma mentre lo installiamo e funzionerò, collegherò il mio display

15:42.810 --> 15:45.910
TFT all'Arduino con i ponticelli.

15:45.930 --> 15:48.810
Ora potresti non avere abbastanza jumper per farlo.

15:48.810 --> 15:56.910
Puoi collegare alcuni fili solo con ponticelli da maschio a femmina e poi daisy chain da maschio a maschio e

15:56.910 --> 16:04.680
femmina i ponticelli femminili per creare più ponticelli femminili o puoi anche collegare il tuo display alla tua breadboard

16:04.680 --> 16:08.110
e saltare i collegamenti usando i fili.

16:08.220 --> 16:16.690
No, purtroppo perché i pin sono realizzati per essere compatibili con la scheda standard arduino uno.

16:16.790 --> 16:19.240
I pin non si adattano.

16:19.310 --> 16:21.000
Non stare tutti su un tagliere ora.

16:21.020 --> 16:26.280
Da questo lato i pin di controllo e l'alimentazione.

16:26.580 --> 16:34.440
Questi si collegheranno a una breadboard e quindi potrai collegare ogni pin con un filo per ponticellare alla

16:34.590 --> 16:35.950
tua scheda Arduino.

16:36.060 --> 16:43.080
Sto collegando le linee dati alle corrispondenti linee di uscita di ingresso digitale sull'Arduino, quindi D 0 andrà al pin

16:43.080 --> 16:52.500
0 d 1 andrà al pin 1 D2 andrà al pin 2 ecc. Quindi collegherò le linee di alimentazione e controllo

16:52.500 --> 17:01.040
in quanto tali e questo schema di cablaggio è disponibile nella sezione download. Ricordi le porte

17:01.130 --> 17:02.960
sulle nostre scelte.

17:02.960 --> 17:08.300
Abbiamo scritto su singoli pin su Arduino ma Arduino è esattamente come il

17:08.300 --> 17:13.400
pick in che abbiamo scritto su singoli bit su una delle porte.

17:13.610 --> 17:21.230
Quindi quando abbiamo eseguito un comando di scrittura digitale era in effetti proprio come scrivere quel comando bit

17:21.470 --> 17:23.120
set sul pick.

17:23.150 --> 17:29.720
Quindi, per comodità, possiamo scrivere 8 bit contemporaneamente scrivendo semplicemente un morso su una porta.

17:30.230 --> 17:36.950
Ora purtroppo la scelta particolare che è nei nostri figli non ha una porta a 8 bit se ricorderai

17:36.950 --> 17:46.100
che la porta a aveva solo uno zero uno uno tre tre quattro e una cinque porta C aveva solo i bit da 0 a 5.

17:46.100 --> 17:54.530
L'arduino come l'immagine ha le porte tre di queste in questo caso la porta C ha bit da 0 a

17:54.530 --> 18:04.850
5, quindi non ha bit la porta B ha bit da 0 a 6 ma non 8 bit ma la porta D ha 8 bit.

18:04.850 --> 18:17.210
Quindi è per questo che ho collegato i pin da 0 a 7 due pin di dati da 0 a 7 sul display TFT perché i pin di

18:17.210 --> 18:24.900
Arduino da 0 a 7 corrispondono convenientemente ai bit di porta D da 0 a 7.

18:25.040 --> 18:30.500
C'è un avvertimento che devo menzionare quando uso tutti i bit che ho 40.

18:30.500 --> 18:34.090
Include i pin 0 e 1.

18:34.160 --> 18:42.440
Noterai che sono le connessioni seriali T X e X quei due pin sono direttamente collegati alla porta

18:42.440 --> 18:44.090
USB sulla scheda.

18:44.090 --> 18:50.030
Quindi, se hai qualche circuito collegato a questi, molto probabilmente confonderà la tua connessione

18:50.030 --> 18:58.490
al tuo computer in modo da non poter caricare il tuo schizzo sulla scheda né puoi usare il monitor seriale quindi

18:58.490 --> 19:04.380
per caricare il tuo schizzo dovrai scollegare questi due fili mentre lo lampeggi.

19:04.460 --> 19:14.580
Una volta caricati gli schizzi, puoi ricollegare quei due pin e quindi ripristinare la scheda in modo che inizi

19:17.630 --> 19:20.340
a eseguire lo schizzo all'inizio.

19:20.390 --> 19:27.920
Ma a parte questo inconveniente, ora possiamo semplicemente scrivere direttamente i nostri dati a 8 bit direttamente sulla porta D e

19:27.920 --> 19:32.820
arriveranno sul database sul nostro display TFT e come vedrai nella prossima lezione.

19:32.840 --> 19:35.570
Questo semplifica le cose senza pensare.
