Bene, abbiamo visto solo un esempio di un loop in Arduino che era effettivamente necessario nello sketch
di Arduino per la funzione loop.
Quindi diciamo che il mio robot è lì in piedi a fare i piatti e io ottengo il grande bottone rosso.
Dovrebbe smettere di fare i piatti correre in cerchio tre volte urlando al grande bottone rosso.
E poi forse avere un gioco da ragazzi.
Fai fuoco un paio di volte.
Abbiamo un problema.
Come posso farlo eseguire un ciclo.
Solo un certo numero di volte.
Ora, se lo inseriamo nella funzione di loop, finiamo con il nostro robot che corre continuamente in cerchio,
urlando che ha colpito il grosso pulsante rosso e ha sparato al fuoco.
I piatti non saranno mai fatti perché Dio sa che non li farò mai.
Mai aver paura.
Arduino hai coperto.
Esistono più tipi di loop che è possibile riconoscere come simili ad altri linguaggi di programmazione.
Se hai avuto esperienza nella programmazione di altre lingue, il primo è il ciclo while.
È la parola mentre si accorge che non c'è una lettera maiuscola.
Assicurati che il testo cambi quel colore kaki indicando che è riconosciuta l'istruzione seguita da
una condizione da spuntare tra parentesi.
E poi alcune delle parentesi graffe che contengono tutte le istruzioni che si desidera eseguire mentre la condizione da
controllare è stata soddisfatta o trovata vera.
Nota anche l'unica cosa che può essere al di fuori di una funzione è la dichiarazione delle variabili.
Quindi assicurati che questa istruzione sia all'interno di una funzione come la funzione di loop o la funzione di setup
su come funziona, quando incontra D durante il ciclo eseguirà tutto all'interno delle parentesi graffe.
Finché questa condizione è vera, verrà ripetuta continuamente all'interno di questo ciclo mentre la condizione è vera.
Nel momento in cui la condizione non viene soddisfatta, salta le parentesi graffe e continua con
il programma che esegue qualsiasi codice venga dopo le parentesi graffe.
Quindi apri uno schizzo minimo e usiamo i nostri pin interni appena scoperti e scrivi un
ciclo while.
Impostiamo il pin come input pull up e configureremo anche una connessione seriale in modo da poter utilizzare il monitor seriale come indicatore
di ciò che sta accadendo.
Daremo uno schiaffo al nostro ciclo while nella funzione di setup.
In questo modo sappiamo che legge questo ciclo solo una volta che leggerà l'input digitale e fintanto che
viene tenuto in alto da quel resistore pullup, valuta la stampa della linea seriale dicendo qualcosa che indica che siamo
effettivamente in loop all'interno del ciclo while.
Poi, dopo il funzionamento, tutto ciò che accade è qui quando il pintu si è abbassato
e quindi la nostra condizione non è soddisfatta, quindi salterà questa funzione e scenderà qui.
Che cosa succede se vogliamo fare una semplice stampa veloce sul monitor seriale che indica che siamo
fuori dal ciclo il ciclo while in modo da poter semplicemente mettere un filo da pintu e usarlo come un interruttore collegando il pin a
fare uno qualsiasi dei collegamenti a terra tirando l'ingresso verso il basso.
O se lo desideri, puoi mettere un pulsante tra pintu e terra.
Ora qualcosa che ho omesso di menzionare in precedenza.
Mi scuso per poter configurare il monitor seriale come mostrato in precedenza attraverso i menu.
Tuttavia questo pulsante qui sopra è un rapido clic del pulsante su di esso per far apparire il monitor
seriale in modo da caricare il tuo schizzo e quindi aprire il monitor seriale e lo vedrai in loop lo vedrai seduto
lì in loop continuo nel ciclo while.
Non abbiamo scritto il nostro codice nella funzione loop.
L'abbiamo scritto nella sottofunzione.
Così lo abbiamo fatto in modo che sappiamo che sta solo leggendo quel ciclo e correndo contemporaneamente.
Quindi questo è in realtà in loop con il ciclo while stesso.
Ora, nell'istante in cui collego pintu a terra, tirando giù l'input, salta fuori dal ciclo while all'interno di R un messaggio che indica che
ha lasciato il loop e lo fa solo una volta perché abbiamo scritto il codice
nella funzione di setup.
Quindi esegue il codice solo una volta che un'altra forma del ciclo while è il do mentre le
istruzioni sono scritte come fanno le parentesi graffe con tutte le
istruzioni che vuoi che faccia.
Poi mentre e la condizione in cui la differenza sta qui, prima farà tutto ciò che vuoi fatto nelle
parentesi graffe almeno una volta che verificherà la condizione.
E se la condizione è soddisfatta, farà di nuovo il lavoro e le parentesi graffe.
Ovviamente continuerà a farlo mentre le condizioni sono soddisfatte.
Quindi la differenza principale qui è che eseguirà tutte le istruzioni presenti nelle parentesi graffe almeno una
volta.
A prescindere dal fatto che le condizioni siano soddisfatte o meno, controllerà la condizione.
E se la condizione non fosse soddisfatta lascerebbe il ciclo se la condizione è
soddisfatta, allora salterà di nuovo in alto e salterà di nuovo su per fare e continuare a fare il ciclo fino a quando la condizione non è soddisfatta.
Si noti il punto e virgola dopo il bianco la linea del tempo.
Questo è fuori e dopo le parentesi graffe.
Quindi dobbiamo indicare la fine della linea.
Il ciclo successivo è il ciclo for.
Ora questo è il mio preferito perché questo richiama i miei giorni di programmazione di base
quando avevo 12 anni.
Quindi mi ricordo dei giorni in cui programmavo i videogiochi su tutti i miei Vic 20.
Quelli erano i giorni in cui Lou è molto potente in quanto mantiene un conteggio e puoi usare quel
conteggio nelle istruzioni che programmi ma il conteggio viene mantenuto in una variabile.
Quindi è qui che diventa davvero potente perché puoi modificare il conteggio in qualsiasi modo tu
voglia eseguire matematica sia con che con la variabile stessa.
Puoi farlo contare fino al conto alla rovescia in passi di tre ecc.
Quindi funziona così.
La parola per e quindi tra parentesi l'inizializzazione quindi un punto e virgola la condizione che indica quando si desidera terminare il
ciclo e l'altro punto e virgola.
E infine come vuoi arrivare a quella condizione.
Quindi nelle parentesi graffe hai messo le istruzioni che avresti voluto eseguire durante il conteggio.
Voglio che tu veda quanto questo loop possa essere potente.
Quindi useremo un'uscita modulata a larghezza d'impulso per guidare in profondità.
Usiamo il pin tre salti di fili dal pin 3 e macinati alla breadboard e colleghiamo un LCD
e un resistore in serie.
Manterremo il filo o il pulsante su pintu e continueremo a usarlo come modo per fornire input al tuo
programma.
Quindi vai avanti ed elimina la funzione WOW dal tuo setup e imposta il pin 3 per P. W. quando.
Programmeremo 2 cicli per loop e lo faremo nella funzione loop.
Quindi li esegue continuamente.
Quello che faremo è impostare due diversi quattro anelli.
Il primo aumenta il WMO fino a raggiungere il massimo e quindi aumenta la luminosità dello schermo LCD
fino al massimo.
Quindi lascerà quel ciclo e passerà al ciclo successivo per il quale diminuirà la luminosità del display LCD
finché non sarà completamente spento.
Lasceranno quindi quello per loop e loop all'interno della funzione loop di nuovo al primo ciclo.
Quindi facciamolo prima.
Configurare un programma come questo.
La parola per poi impostiamo la nostra variabile che sono variabili che la data è giusta in tutte le lettere
minuscole e iniziamo il conteggio a zero.
Questo è il conteggio per il ciclo for continuerà a eseguire il ciclo for fintanto che la
variabile bright è inferiore a 256.
Questo finché la variabile non raggiunge il conteggio di 255.
Stiamo andando a contare aggiungendo un 1 alla variabile ogni volta che il ciclo viene eseguito con le parentesi graffe.
All'interno delle parentesi graffe utilizziamo semplicemente la stessa variabile, una scrittura analogica che imposta sul pin 3
il pin che guida il set che abbiamo configurato.
Dedichiamo un brevissimo ritardo altrimenti il D sembrerà pulsante perché il conto alla rovescia
è così veloce.
Se sei come me e hai una cronologia di programmazione di base normalmente ti aspetteresti la parola
Avanti che incrementerebbe il conteggio.
Ma in programmazione C è in realtà la parentesi graffa di chiusura che lo fa.
Questo è l'indicatore per tornare all'istruzione 4.
Quindi fintanto che la condizione è soddisfatta in questo caso il nostro conteggio è ancora inferiore a 256.
Quindi aumenterà il conteggio di 1 e il ciclo tornerà all'istruzione 4, quindi scriveremo il secondo ciclo
per questo modo.
Quindi molte cose che voglio che tu noti qui.
Abbiamo iniziato a contare su un numero completamente diverso.
Abbiamo iniziato a contare a 255.
Conto alla rovescia che è dove sono i due simboli di sottrazione.
Sottrarrà 1.
Ogni volta che passa attraverso il ciclo for continuerà a sottrarre 1 finché la variabile è
maggiore o uguale a zero quando raggiunge zero.
Quindi lascerà il ciclo proprio come prima dell'analogico.
Destra.
La variabile da pin 3 vie a una frazione di secondo, poi torna ai quattro avanti e scrivi questa nota e
fai lampeggiare con Dwina e controlla che funzioni.
Dovresti avere un LCD che impiega circa tre secondi per aumentare alla massima luminosità.
Poi altri tre secondi circa per raggiungere la luminosità minima, facciamo tutte le scimmie con le quattro impostazioni in modo da poter
vedere tutto in azione.
E abbiamo un ritardo decente in corso, ma voglio rallentare ancora di più il ritardo perché ci
sposteremo su grandi gradini che sono visibili ad occhio nudo se i tuoi occhi hanno indumenti.
Togliti quei vestiti.
Abbiamo bisogno dei tuoi occhi nudi ok era un cattivo gioco di parole mi dispiace.
Andiamo avanti come se fossimo normali.
Bene, faremo aumentare il ritardo a
mezzo secondo o più.
Puoi impostarlo su qualsiasi cosa desideri, ma qualcosa di lungo.
Quindi puoi vedere i cambiamenti in atto.
Invece di aggiungerne uno ogni volta che si passa a quattro, aumenteremo o diminuiremo di 51.
Ora ho ottenuto quel numero semplicemente prendendo il numero massimo di 255 e l'ho diviso per cinque.
Quindi abbiamo cinque passi uguali nella luminosità che saremo in grado di vedere.
Vai avanti e fai il
flash o lo sappiamo e speriamo che questo si mostri bene sulla fotocamera.
Il P. W. M potrebbe rovinare la fotocamera perché regolerà l'iride sulla fotocamera.
Quindi quello che stai vedendo è il ciclo for che passa attraverso il conteggio in passi di 51.
Ora puoi cambiare quel numero con quello che vuoi.
Ricorda solo che se il tuo conteggio supera 255, il diritto analogico scriverà solo 255 perché è il più
alto possibile.
E può andare solo a zero.
Quindi programmiamo il nostro modifichiamo il nostro programma in un altro modo, giriamo il ritorno a uno in entrambi i loop e poi lanciamo
questa linea subito dopo il ritardo della funzione di ritardo in ogni ciclo, quindi ora stiamo trattando il conteggio
proprio come qualsiasi altra variabile.
E facendo un po 'di matematica su di esso.
Ora può essere matematica molto complessa o matematica molto semplice.
Lo lascerò a te.
Tutto quello che ho fatto qui è stato il conteggio più o meno del 51 di nuovo.
Quindi ogni volta che esegue il ciclo for, fa un passo di 51 sul flind count arduino e vedrai che si comporta fondamentalmente allo stesso modo
in cui è stato.
Ma ora lo sta facendo con un metodo completamente diverso.
Non facciamo un ulteriore passo avanti.
Se mi sbarazzo di questa linea diciamo commentando,
ci vuole un passo di uno sull'impulso con la modulazione ogni 500 millisecondi di mezzo secondo, quindi contare fino a
mezzo secondo finché arriveremo a 255 impiegherà circa due due minuti e 15 secondi.
Questo è un passo molto lento e visibile che dura per sempre.
Quindi modifichiamo questa linea in modo tale che quando spingiamo il
nostro pulsante o connettiamo un filo dal pin di ingresso a quello di massa, allora il nostro conteggio segna per 51.
Quindi qui puoi vedere l'azione che si verifica quando collego il pin 2 in
basso influenzando il passaggio nel conteggio nel ciclo for, eventualmente cogli la potenza di questi loop con questi semplici esperimenti di programmazione.