Okay, come spero di non urlare contro di me attraverso internet sono sicuro che voi ragazze e ragazzi avete fatto
solo bene però.
Ti mostrerò cosa ho fatto nel caso avessi avuto problemi.
Letteralmente ho preso il programma vuoto e copiato e incollato il moccio fuori di esso.
Per prima cosa devi impostare tutti i pin che userai come output.
Destra.
Quindi puoi vedere qui che ho impostato tutti i pin da 8 a 13 come uscite.
Se non lo fai, avrai un brutto momento.
Ho quindi acceso solo un LHD per iniziare con il display LCD verde sul semaforo numero uno e vedrai perché in un
attimo, ma questo è solo per l'avvio.
Così l'ho messo nella funzione di impostazione perché avevo solo bisogno di eseguirlo una volta al primo avvio.
Allora mi sono chiesto OK cosa è esattamente.
Voglio fare una riflessione su cosa devi fare se il semaforo numero uno è verde e ciò significa
che l'altra luce deve essere rossa mentre il rosso sull'altra luce era collegato al pin 13.
Quindi boom ho appena messo il
pin 13 in alto, ora la Red Lady è attiva.
Allora aspetto cinque secondi.
Ora nella vita reale la luce rimane probabilmente verde per 20 o 30 secondi, ma ho fretta.
Questa è solo una dimostrazione, quindi ho ritardato di cinque secondi.
Ora cosa succede dopo.
In Canada nella U. S. la luce verde passa quindi a un giallo per alcuni secondi poi a un rosso.
L'ho fatto spegnendo prima il display LCD verde e accendendo immediatamente il display LCD giallo.
Ho quindi aspettato un secondo.
Ora, di nuovo, è più veloce che nei semafori della vita reale che probabilmente Boom sarà
più come cinque secondi a seconda della velocità del traffico.
Ma sono andato con un secondo, poi ho spento il display LCD giallo e ho acceso immediatamente il display LCD rosso.
Non c'è nessun ritardo tra loro.
Ho quindi aspettato un secondo.
Perché.
Perché noterai le macchine ai semafori quando stanno aspettando il semaforo rosso.
I piloti sono come cercare di saltare la luce verde quando vedono l'altra luce che diventa rossa e allo stesso tempo
i piloti che hanno una luce verde.
Ora è giallo
Stanno pavimentando il gas cercando di superare l'incrocio prima che diventi rosso.
Quindi se l'altra luce diventasse verde immediatamente.
Bene, quelle persone per il gas devono attraversare l'incrocio proprio quando la luce diventa verde.
E proprio come l'ultimo ragazzo l'ha pavimentata per superare l'incrocio proprio mentre la sua luce diventa rossa e
poi si ha un incidente.
Così ho lanciato un ritardo di 1 secondo tra quando la prima luce diventa rossa e la seconda luce diventa verde una volta che
è trascorso un secondo.
Ora trasformiamo questa luce verde.
Attendi cinque secondi.
Prima di passare attraverso la sequenza di giallo rosso e poi accendere l'altra luce verde.
Ho letteralmente copiato e incollato tutte queste righe dal programma originale di lampeggiamento, le ho aggiunte e
ho solo modificato i numeri che ho modificato, quali spille sono state accese o spente e ho modificato il ritardo con facilità.
Ora voglio sottolineare che ci sono quasi sempre diversi modi per fare lo stesso lavoro.
Molto probabilmente ti sei ritrovato a fare la stessa cosa o qualcosa di simile.
E in parte perché non conosci ancora il codice e le tecniche per farlo in altro modo.
Se hai avuto problemi hai dimenticato di impostare le modalità per i pin.
Hai mescolato i numeri dei pin o hai fatto quello che ho fatto e ho inviato un numero alto anziché uno basso a uno spillo.
Hai dimenticato un punto e virgola alla fine delle righe di un anno.
Quindi questi sono tutti errori comuni.
Ora, prima di andare avanti, voglio sottolineare qualcosa dietro le quinte che rende la
programmazione molto più semplice.
Ora, mentre programmavo in codice macchina, personalmente ritengo che sia importante per l'apprendimento dei sistemi digitali.
Ora capisco che il codice macchina è un orso con cui lottare e spero davvero che io non sapessi giudicare male
e rendere le cose troppo complicate per te è iniziare.
Ora avrei potuto iniziare con l'Arduino e le cose sarebbero molto più semplici ma non
capiresti il funzionamento interno dei microprocessori e dei microcontrollori come hai fatto ora.
Ora ricorderai come i tempi potrebbero essere un problema critico nei microprocessori e nei circuiti digitali.
Hai imparato che i microprocessori possono essere così veloci da poter letteralmente contare i rimbalzi quando premi un
pulsante.
Hai imparato che dovevamo rallentare il microprocessore e l'abbiamo fatto inviando il microprocessore
per farti fare i giri di giri, in pratica vorremmo solo mandarlo per andare a sederci e contare qualche
milione di volte e anche allora era così il conteggio veloce in migliaia lo ritarderebbe solo
di un centesimo di secondo.
E ti ricordi di tutto il codice complesso coinvolto nell'avere il conto alla rovescia tante volte ti ricordi come
abbiamo fatto i nostri ritardi di utilità che l'orologio Arduino non può essere cambiato.
È bloccato con un cristallo saldato fisicamente alla lavagna.
Ora questo ha alcuni svantaggi.
Ad esempio, ricordate che quando stavamo usando il nostro display LCD abbiamo imbrogliato e semplicemente semplicemente rallentato la
velocità del clock sul pick perché l'LCD richiedeva tempo per svolgere i suoi compiti.
Ora non possiamo più rallentare la velocità di clock su Arduino.
Quindi, per mantenere la nostra conoscenza di Duy compatibile con il nostro display LCD, ora dobbiamo programmare ritardi nel
nostro codice, in modo che avere un orologio impostato in modo permanente non abbia svantaggi, ha un paio di grandi vantaggi.
Ora sappiamo esattamente quanto tempo impiegherà il microcontrollore per contare i suoi ritardi.
Quindi, ricordando che il tuo codice qui è tradotto in codice macchina simile a quello
che abbiamo fatto sul plettro.
Ma gli autori del compilatore Arduino hanno svolto un intero casino del lungo lavoro per rendere
la tua vita molto semplice.
Ora sapevano che per ritardare di un millesimo di secondo dovevano avere il conteggio di Arduino esattamente per
l'intero 243 o qualcosa del genere.
Non so quale sia il numero effettivo ma lo fanno perché hanno fatto tutti i
calcoli hanno calcolato esattamente quanti cicli di clock sono stati consumati dal numero di istruzioni che conta l'Arduino
e possono calcolare con sorprendente accuratezza il conteggio che ora devono fare ritardare un millesimo di secondo.
Quindi ora vieni e digita una semplice riga di ritardo del codice e il tempo in millisecondi.
Il compilatore scrive quindi diverse righe di codice macchina per ritardare di un millisecondo e quindi compila un
altro ciclo per chiamare quel ciclo di ritardo.
Tuttavia molte volte hai chiesto di aver chiesto 500 millisecondi.
Il compilatore ha scritto molte righe di codice macchina per te includendo la scrittura di loop multipli di cicli tutti per
ottenere un ritardo di 500 millisecondi.
Ora ti ricordi che il microprocessore pick era così veloce che dovevamo farlo contare fino a 256 256 volte e poi per ottenere
ritardi ancora più lunghi dovevamo codificare quel loop di loop.
Altre 256 volte.
Ricorda tutto questo.
Bene, guardate qui un'anima gentile ha avuto il tempo di scrivere un compilatore per fare tutto quel duro lavoro per voi.
Quindi tutto ciò che devi fare ora è scrivere una riga di codice semplice.
Una linea di ritardo e poi dire esattamente per quanto tempo si desidera ritardare il compilatore fa il resto e tutti i nostri
esercizi precedenti il tempismo era così critico.
Dovevamo essere più lenti di quanto tu non conosca un po 'di tempo, ma ora possiamo essere molto precisi e molto facilmente puoi
dire quel microprocessore.
Ehi, aspetta 16 millisecondi non più di un millisecondo e lo farà.
Quindi queste sono alcune delle cose che accadono in background che non si vedono, di cui sono certo che
tu ora abbia un apprezzamento.
Per quanto riguarda ciò che hanno fatto perché hai scritto che i ritardi del codice macchina sono grandiosi.
Quindi se non hai fatto funzionare i tuoi semafori, puoi lottare con quello ora.
Spero che tu abbia capito da dove sei uscito dai binari se l'hai fatto.
Se non funziona ancora se non funziona ancora e non riesci a capirlo, lascia
una domanda e il tuo codice nei commenti e vedremo se non possiamo aiutarti a risolvere i problemi.
Se vuoi un'altra sfida, crea un sequencer leggero come la nostra auto da kit come facevamo prima con la foto.
Sai come andare avanti e indietro quando torniamo alla prossima lezione.
Passeremo agli input.