WEBVTT

00:01.740 --> 00:08.020
Sappi che abbiamo sconfitto i microcontrollori fino alla morte, si spera che tu possa vedere il potere del microprocessore.

00:08.020 --> 00:11.410
Ora voglio presentarti il Do lo sappiamo.

00:11.610 --> 00:17.470
Ora probabilmente ne hai sentito parlare perché è stato di gran moda e dovrebbe essere.

00:18.110 --> 00:24.650
Ma quello che è Arduino Arduino è uno standard open source.

00:24.760 --> 00:27.770
C'è quello che significa open source.

00:27.770 --> 00:31.620
Non è uno standard proprietario o protetto.

00:31.620 --> 00:38.920
È reso pubblico e chiunque può aggiungerlo o svilupparlo ulteriormente.

00:38.940 --> 00:44.770
Ad esempio, puoi scaricare i progetti di circuiti stampati e crearne uno tuo.

00:44.830 --> 00:53.990
È uno standard in quanto il design specifica cose come la posizione del tipo e la spaziatura dei

00:55.110 --> 00:58.220
connettori e quale pin fa cosa.

00:58.440 --> 01:04.710
In questo modo è possibile progettare il proprio componente di massa da produrre e

01:04.710 --> 01:13.620
chiunque sia in grado di farlo può utilizzare la scheda di espansione in quanto compatibile e consente di vedere come i

01:13.620 --> 01:21.870
microcontrollori hanno dato la possibilità di prototipare rapidamente circuiti complicati di grandi dimensioni sostituendo il circuito con un circuito

01:21.930 --> 01:26.010
più semplice e un programma molto più piccolo.

01:26.220 --> 01:33.450
Questo ti ha anche dato la possibilità di apportare importanti modifiche al circuito semplicemente riprogrammandolo.

01:33.450 --> 01:35.970
Nessuna modifica hardware necessaria.

01:36.240 --> 01:43.610
Arduino è stato specificamente progettato per consentire la prototipazione rapida in modo simile.

01:43.710 --> 01:51.660
Ora nel tuo kit hai ricevuto una scheda Arduino uno così questa scheda è stata costruita secondo uno standard Arduino.

01:51.660 --> 02:00.680
Lo standard di progettazione uno di tutti questi connettori sono distanziati esattamente alla stessa distanza su tutte le schede.

02:00.680 --> 02:05.750
Ha un microcontrollore a bordo che puoi riprogrammare.

02:05.750 --> 02:13.820
Ora ho appositamente ottenuto le schede Arduino di vecchio stile con il microcontroller a immersione in modo da poter

02:13.910 --> 02:16.280
vedere e capire da soli.

02:16.310 --> 02:22.830
Ora usiamo il microcontrollore pic che è stato realizzato da una società chiamata microchip.

02:22.910 --> 02:29.780
Questo Arduino usa un microcontrollore molto simile alla foto ma è stato realizzato da una società diversa chiamata

02:29.900 --> 02:30.750
a Mehl.

02:30.920 --> 02:39.710
Ed ecco il microcontrollore proprio qui questa scheda utilizza il 18 mega 3:28 pezzo.

02:40.040 --> 02:42.500
Ora queste schede stanno diventando sempre più difficili da trovare.

02:42.500 --> 02:49.370
Quindi, se stai prendendo le tue parti o sono stato semplicemente in grado di ottenere queste schede uno

02:49.370 --> 02:51.910
originali, probabilmente ne hai ricevuto uno.

02:52.000 --> 02:58.840
Una delle nuove schede Eunoe che utilizza un microcontrollore a montaggio superficiale che puoi vedere proprio qui.

03:00.600 --> 03:08.880
In particolare, ho specificamente afferrato le schede più vecchie con il microcontrollore in modo che tu

03:08.880 --> 03:17.810
sappia che se vuoi puoi estrarre quel microcontroller dalla sua presa sulla scheda e usarlo in una

03:18.440 --> 03:28.300
breadboard proprio come abbiamo fatto con le immagini ora usa diversi comandi di programmazione perché è realizzato da un'azienda completamente

03:28.300 --> 03:31.600
diversa che utilizza un'architettura completamente diversa.

03:31.780 --> 03:36.600
Ma sono gli stessi principi di programmazione del plettro.

03:36.820 --> 03:40.880
Ha un registro funzionante, uno stack, sai tutto quel che ti serve.

03:40.890 --> 03:49.630
Un punto rapido o menzionare ogni marca di microcontrollore ha i suoi pro e contro la scelta.

03:49.630 --> 03:54.750
I micros hanno quella funzione di selezione bancaria su cui devi stare attento.

03:55.060 --> 03:58.870
Ti dimenticherai di selezionare la tua banca e il tuo programma non funzionerà.

03:59.060 --> 04:02.310
Ora è un dolore, ma è così che l'hanno progettato.

04:03.370 --> 04:07.940
I micros di Mehl non hanno banche del genere.

04:08.140 --> 04:14.920
Comunque ti ricordi solo le immagini se avessi pensato che se avessi usato le istruzioni estese impostate erano

04:14.920 --> 04:18.020
come 49 istruzioni o qualcosa del genere.

04:18.310 --> 04:27.700
L'Atmel ha oltre 130 opzioni Il convertitore Ayittey è in genere più veloce, ma l'Atmel di solito esegue le

04:27.700 --> 04:29.610
istruzioni più velocemente.

04:29.860 --> 04:35.460
Quindi sai che ci sono pro e contro con entrambi i controller come il plettro.

04:35.530 --> 04:40.330
Hai bisogno di un modo per programmare il mega con il plettro.

04:40.330 --> 04:49.980
Abbiamo usato il nostro adattatore Pequod per connetterci al nostro computer per programmare il microcontroller nel caso del

04:49.980 --> 04:55.370
o sappiamo che l'interfaccia è incorporata nella scheda Twitter.

04:55.390 --> 05:05.520
Questo è ciò che gli USPS per alcuni sono schede di questo tipo come questa mini scheda Arduino che non ha

05:05.520 --> 05:06.970
un'interfaccia integrata.

05:07.110 --> 05:09.500
Questa è una scheda separata.

05:09.660 --> 05:18.030
Si acquista in questo modo e si collega in modo da poterlo programmare dalla porta USP del computer una volta che è

05:18.050 --> 05:24.810
stato programmato, è possibile rimuovere l'interfaccia USP ei vantaggi che si hanno con un computer incredibilmente piccolo per

05:25.200 --> 05:26.650
il proprio robot.

05:28.600 --> 05:36.050
Quindi lasciatemi prendere un momento per spiegare un'altra parte del circuito che non vedi è il bootloader.

05:36.170 --> 05:42.260
Se ricordi che potremmo programmare o scegliere anche quando è stato costruito in un circuito.

05:42.680 --> 05:48.680
Quando abbiamo applicato la potenza al Pick, è stato avviato il programma che si trovava nella

05:48.740 --> 05:58.110
sua memoria flash a partire dalla posizione zero no se si ricorda che abbiamo dovuto applicare specifiche tensioni a specifici pin sulla foto per dirlo

05:58.110 --> 06:01.040
Ehi, ti sto mandando un nuovo programma.

06:01.170 --> 06:05.700
Metti questo nuovo programma nei tuoi banchi di memoria ora.

06:05.710 --> 06:15.290
Anche se non ci sono riuscito ancora, puoi anche programmare la memoria flash dal programma stesso.

06:15.290 --> 06:20.450
La memoria del programma è solo registri di memoria.

06:20.450 --> 06:24.790
Possono essere letti e scritti come qualsiasi altro registro.

06:25.190 --> 06:30.920
L'Arduino non ha i circuiti sulla scheda come quello che hai in tasca.

06:31.220 --> 06:36.950
Questo ci permette di programmare i media.

06:37.130 --> 06:42.700
Ha la programmazione seriale in-circuit disponibile come la nostra scelta.

06:42.830 --> 06:45.630
E qui il connettore qui.

06:46.740 --> 06:53.960
Ma abbiamo bisogno di un programmatore esterno proprio come abbiamo fatto con il plettro.

06:54.050 --> 06:58.880
Quindi quello che stanno facendo non è stato geniale per i designer.

06:58.930 --> 07:03.550
Hanno sostituito l'hardware con il programma.

07:03.550 --> 07:10.900
Ora questo programma è simile a dire il sistema operativo Windows sul tuo computer desktop o Linux se

07:10.910 --> 07:13.020
è quello che stai facendo.

07:13.020 --> 07:17.290
È un programma ma il tuo computer non può funzionare senza di esso.

07:18.520 --> 07:25.280
Ora chiamano questo firmware perché è una specie di incrocio tra hardware e software.

07:26.320 --> 07:32.820
Così efficacemente i progettisti hanno sostituito l'hardware con il software.

07:32.820 --> 07:35.600
Questo è esattamente quello che hanno fatto con il mega.

07:35.830 --> 07:43.390
Quando accendi il tuo Arduino per la prima volta, c'è un programma già installato nel primo

07:43.390 --> 07:47.770
2K di memoria flash nell'80 Mega questo firmware.

07:47.950 --> 07:56.230
Si chiama boot loader e come il pick quando si accende per la prima volta il mega inizia a girare qualunque programma si trovi

07:56.230 --> 07:57.910
nella sua memoria flash.

07:58.000 --> 08:00.640
Punto zero di partenza.

08:01.240 --> 08:10.490
Quindi, quando accendi il chip, viene eseguito questo piccolo programma che prima ascolta l'U. S. segnala se c'è qualche

08:11.510 --> 08:17.540
comunicazione proveniente dal programma Arduino sul tuo computer desktop.

08:17.900 --> 08:25.670
Se non c'è comunicazione, dopo un breve ritardo inizia l'esecuzione di qualsiasi programma memorizzato nell'area di

08:25.670 --> 08:32.150
memoria del programma che avvia la posizione di memoria 2000 e 1.

08:32.270 --> 08:39.230
Quindi le tue istruzioni non sono installate nella memoria flash a partire dalla prima posizione di memoria, ma piuttosto in

08:39.230 --> 08:40.690
una posizione diversa.

08:41.850 --> 08:52.200
Le prime 2000 posizioni di memoria sono riservate per questo bootloader del firmware che non viene mai eliminato

08:52.200 --> 09:01.080
se il bootloader si avvia e rileva la comunicazione sulla porta USP, quindi risponderà all'USP

09:01.080 --> 09:02.980
alla comunicazione.

09:03.030 --> 09:10.800
Ora che la comunicazione potrebbe essere la tua Duy nessun software sul tuo computer invierà un nuovo

09:10.800 --> 09:18.930
programma e il bootloader risponderà eliminando il programma precedente già nella memoria flash e quindi lampeggerà la

09:18.930 --> 09:21.690
memoria con il nuovo programma.

09:21.690 --> 09:31.650
Memorizzandolo nel blocco di memoria designato per i tuoi programmi Arduino, il vantaggio è che non

09:31.650 --> 09:36.170
c'è hardware richiesto sulla scheda già affollata.

09:37.020 --> 09:45.140
Se volevi utilizzare tutta la memoria del mega perché hai capito che il vasto programma che hai

09:45.140 --> 09:51.180
scritto puoi eliminare il bootloader e usare anche quello spazio di memoria.

09:51.380 --> 10:01.890
Comunque avresti bisogno di un programmatore hardware esterno, proprio come abbiamo fatto con il pick di tre così anche se

10:03.990 --> 10:11.770
hai un programma o per il Mega puoi estrarre quel chip direttamente dalla lavagna.

10:13.000 --> 10:16.820
E programmare il mega esattamente come hai fatto con il plettro.

10:16.820 --> 10:24.630
Ora normalmente quando acquisti un Arduino il bootloader è già installato sul microcontrollore.

10:24.650 --> 10:32.420
Tuttavia se volessi aggiornare ad un nuovo bootloader o avresti cancellato il tuo e

10:32.420 --> 10:40.400
ora vuoi rimetterlo devi farlo con un programmatore esterno per gli scopi di questo corso.

10:40.410 --> 10:48.660
Programmeremo o utilizzeremo il bootloader in modo rigoroso perché consente di riprogrammare rapidamente e facilmente i

10:48.840 --> 10:58.540
tuoi 80 mega tramite U. S. Porta P integrata nel tabellone.

10:58.610 --> 11:04.770
Il bootloader viene preinstallato su Arduino e noterai che puoi effettivamente acquistare

11:04.770 --> 11:13.610
i megontroller da 18 Meg mega su ebay che sono stati preprogrammati con il bootloader Arduino, quindi tecnicamente

11:14.060 --> 11:17.790
puoi schiaffi quel chip nel tuo breadboard.

11:18.500 --> 11:20.510
E tu starai correndo

11:24.740 --> 11:31.820
su Arduino o se stai creando il tuo Arduino da zero puoi far lampeggiare il tuo microcontrollore con il

11:32.330 --> 11:38.440
bootloader che puoi scaricare dal sito Web di Arduino e utilizzare un altro Arduino come programmatore.

11:38.600 --> 11:42.500
Ti mostrerò come farlo in una lezione successiva.

11:42.500 --> 11:46.730
Ora c'è un altro aspetto importante dello standard Arduino.

11:47.240 --> 11:54.260
Mentre è possibile programmare direttamente il microcontrollore, noi sappiamo che gli sviluppatori vogliono semplificare la

11:54.260 --> 11:59.720
programmazione del codice macchina, così hanno sviluppato un linguaggio di programmazione.

11:59.840 --> 12:04.460
La speranza era di creare un linguaggio di programmazione più semplice per il codice macchina.

12:04.760 --> 12:06.500
Quindi, ecco come funziona.

12:06.560 --> 12:13.460
Scrivi il tuo programma nella lingua Arduino come un file di testo.

12:13.520 --> 12:22.880
Si esegue quindi tramite un compilatore che converte il codice in codice macchina che traduce il

12:23.420 --> 12:28.180
programma nel codice macchina da 80 mega.

12:28.290 --> 12:33.720
Il linguaggio di programmazione che useremo si basa sul linguaggio di programmazione C.

12:33.870 --> 12:43.090
La lettera C è in realtà un compilatore C disponibile per il ritiro, ma non

12:43.090 --> 12:53.900
è gratuito e open source come il compilatore Arduino, quindi si tiene conto del tema della prototipazione rapida che implica

12:53.900 --> 13:03.840
il cambiamento continuo che chiamano il programma Arduino uno schizzo è un disegno approssimativo che sta cambiando continuamente.

13:04.840 --> 13:12.310
Una volta compilato il programma, il software scarica il programma del codice macchina

13:12.310 --> 13:20.610
sul chip del microcontroller da 18 mega tramite il programmatore SB incorporato nella scheda Arduino Uno.

13:20.860 --> 13:29.810
La scheda ha un cristallo per bloccare l'orologio ad una frequenza precisa e in realtà credo che il microcontrollore da

13:29.810 --> 13:36.570
18 mega richiede un cristallo esterno a differenza della maggior parte dei nuovi microcontrollori pick.

13:36.860 --> 13:44.180
Alcuni dei pick più vecchi richiedevano un cristallo esterno o almeno un orologio esterno è proprio il modo in cui

13:44.180 --> 13:46.150
sono stati progettati i microcontrollori.

13:46.250 --> 13:53.750
E in questo caso perché erano stati aggiunti a un circuito reale, il cristallo era appena

13:53.750 --> 13:55.600
incluso nella scacchiera.

13:55.820 --> 13:58.610
La scheda ha l'interfaccia USP.

13:58.610 --> 14:07.460
Ha un connettore di alimentazione con un regolatore di tensione a bordo in modo da poter fornire da sei a 12 volt

14:07.460 --> 14:16.550
in questo connettore e regolarlo in cinque e in 3. 3 volt sul tabellone.

14:16.560 --> 14:22.980
Raccomandano 11:53 lupi ma possono tollerare fino a sei volt e fino a 20 volt.

14:23.460 --> 14:31.100
Ha queste prese che sono collegate ai vari pin sul microcontrollore.

14:31.290 --> 14:35.900
Questi sono collegati ai pin analogici.

14:37.860 --> 14:42.930
E questi sono collegati ai pin di uscita dell'ingresso digitale.

14:42.930 --> 14:50.410
Questi qui puoi fornire o estrarre cinque o tre. 3 volt.

14:50.580 --> 14:55.780
Ora, poiché tutte queste prese seguono uno standard, chiunque può montare una scheda che si

14:55.780 --> 15:00.220
innalza qui e si adatterà a queste schede di interfaccia chiamate Shields.

15:00.360 --> 15:06.070
E nel tuo kit hai un bel scudo che è quello schermo a colori e potresti vederlo solo

15:08.710 --> 15:09.420
nel tuo

15:21.100 --> 15:21.670
kit.

15:21.670 --> 15:31.810
Hai anche una scheda prototipo appositamente progettata per interfacciarsi con la lavagna.

15:32.040 --> 15:34.910
E ci divertiremo con il progetto.

15:34.920 --> 15:37.550
Stanno progettando il nostro scudo.

15:37.620 --> 15:45.160
La scheda ha anche uno schermo LCD che useremo subito.

15:45.340 --> 15:50.060
Ora ci sono diversi tipi di schede Arduino che hanno caratteristiche diverse.

15:50.080 --> 15:56.230
Arduino Nano e impro mini sono incredibilmente compatti.

15:56.230 --> 16:02.470
Una ragione è perché hanno abbandonato l'interfaccia USP per comprare l'U. S. essere interfacciati separatamente

16:02.470 --> 16:12.830
e usarlo per programmare tutte le tue schede nano o poolhall pro mini, mentre Duy no mega ha un mucchio

16:12.830 --> 16:22.170
di ingressi e uscite extra. Il ninfea è stato specificamente progettato per essere cucito su costumi e vestiti.

16:22.210 --> 16:30.220
E in effetti i progettisti hanno pensato che questo includesse la cucitura con fili conduttivi o creare connessioni

16:30.220 --> 16:37.110
usando Snap come abbiamo fatto con i nostri sensori muscolari nel modulo elettronico analogico.

16:38.700 --> 16:42.820
Quindi un altro abbiamo una maniglia su ciò che sappiamo è.

16:42.910 --> 16:45.820
Andiamo a destra a programmare questo cattivo ragazzo.
