Perché dobbiamo sbattere le palpebre senza usare la funzione Delay () in Arduino
La funzione Delay () produce un ritardo di un tempo definito nell'esecuzione di istruzioni o possiamo dire che la funzione Delay () mettono in pausa l'intero programma e nessuna istruzione verrà eseguita fino a quando il ritardo () non si concluderà.
Significa che non possiamo fare nessun'altra attività fino a quando il ritardo non è completato, questa è la principale preoccupazione per cui a volte è scoraggiato l'utilizzo della funzione di ritardo (). Consideriamo l'esempio di un uomo di corriere, va a casa e non trova nessuno a casa, hanno detto i vicini, la persona interessata tornerà a casa sua tra un'ora. Ora, cosa dovrebbe fare l'uomo del corriere? O può aspettare o può consegnare i pacchi dei clienti vicini e tornare dopo un'ora per consegnare il pacco di quella persona.
Allo stesso modo, nella programmazione non consigliamo di utilizzare la funzione Delay () e mettere in pausa l'intero programma per un po 'di tempo, invece che preferiamo eseguire qualche altro compito mentre il battito del led.
Blink senza usare il codice funzione delay () in Arduino
In Arduino, possiamo battere le palpebre senza utilizzare la funzione Delay () con un codice molto semplice. Prima di passare attraverso il codice, spieghiamo lo scopo di alcune funzioni integrate che vengono utilizzate nel codice:
Funzioni | Scopo |
---|---|
pinMode () | Questa funzione viene utilizzata per definire il pin specifico per agire come output o input |
DigitalWrite () | Questa funzione viene utilizzata per configurare il pin in base agli stati alti o bassi |
Seriale.inizio() | Questa funzione viene utilizzata per la comunicazione seriale |
millis () | Questa funzione viene utilizzata per estrarre il tempo di esecuzione del codice in millisecondi |
Considera il seguente codice:
INT LED = 13;
int x = 1;
D1 lungo non firmato, D2;
void setup ()
pinMode (LED, output);
DigitalWrite (LED, 1);
Seriale.Inizia (9600);
void loop ()
d2 = millis ();
if (d2-d1> = 1000)
x = 1-x;
d1 = millis ();
DigitalWrite (LED, x);
La spiegazione del codice sopra è:
Simulazione
Eseguimo questo codice nella simulazione Proteus, apriremo il Proteus e troveremo i seguenti componenti:
Collegare l'unico terminale del resistore con il pin 13 di Arduino, collegare il terminale positivo del LED con l'altro terminale del resistore e collegare il terreno con il terminale negativo del LED. Una volta completato il circuito, fare doppio clic su Arduino e caricare un file "esadecimale" del codice Arduino in esso.
Gioca al progetto e il LED inizierà a battere le palpebre come mostrato di seguito:
Configurazione hardware
Lo stesso circuito che viene simulato sul Proteus sarà assemblato sulla breadboard. Abbiamo usato fili jumper per collegare i componenti a LED, Arduino e resistenza:
Il filo del jumper nero è collegato al suolo dell'Arduino e al terminale negativo del LED. Quindi un resistore (220 ohm) è collegato al terminale positivo del LED e un'altra gamba del resistore (220 ohm) è collegata al pin 13 di Arduino usando il filo del jumper rosso. Il codice è già caricato su Arduino, il funzionamento del progetto è:
Il LED viene lampeggiato con successo senza usare la funzione Delay ().
Conclusione
La funzione Blink Without Delay () in Arduino è il progetto di livello principiante che viene utilizzato per dimostrare come il progetto può essere eseguito senza utilizzare la funzione Delay (). Senza utilizzare la funzione Delay () non siamo limitati a un'unica attività e possiamo eseguire altre istruzioni del codice. In questo articolo, abbiamo spiegato il LED Blink senza ritardo () in Arduino con l'aiuto di una dimostrazione della sua simulazione e della sua configurazione hardware.