Cosa significa la funzioni millis Arduino

La funzione millis() di Arduino IDE svolge un ruolo importante quando si scrive un programma multitasking. Sono molti i DIY progetti Arduino pubblicati sul nostro sito web che utilizzano la funzione millis(), quando è necessario fare il conto alla rovescia o utilizzare il multitasking. Vediamo come usare millis Arduino per controllare il tempo nella programmazione dei microcontrollori Arduino e come usare millis senza delay in un programma.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LED e resistenza
  • breadboard
  • cavi di collegamento

Come si usa funzione millis di Arduino IDE?

La funzione millis del linguaggio di programmazione Arduino IDE restituisce il numero di millisecondi trascorsi dall’avvio del programma. Il contatore di tempo viene azzerato quando il valore della variabile unsigned long trabocca (dopo circa 50 giorni). La funzione millis di Arduino consente al microcontrollore di lavorare in multitasking, in quanto l’esecuzione del programma non si interrompe e si possono eseguire altre operazioni in parallelo.

Gestione del tempo con la funzione millis Arduino

Schema di collegamento del LED alla scheda Arduino
Schema di collegamento del LED alla scheda Arduino

Quando si utilizza la funzione delay in un programma, l’esecuzione di tutti i comandi si interrompe per un determinato numero di millisecondi. Questa è la differenza principale tra millis() e delay(). Quando si collegano i sensori, è necessario ottenere dati continui, quindi la funzione delay viene sostituita da millis. Nell’esempio con il LED lampeggiante, mostriamo come creare un ritardo senza funzione delay() Arduino.

Programma Arduino con la funzione millis() e LED




unsigned long timer;
boolean ledState = 0;

void setup() {
  pinMode(13, OUTPUT);
  Serial.begin(9600);
  timer = millis();
}
 
void loop() {
  if (millis() - timer > 1000) {
    ledState=!ledState; // changer l'état de la LED
    digitalWrite(13, ledState);
    timer = millis();
  }

  Serial.print("Time: ");
  Serial.println(timer);
}

Spiegazione del codice per utilizzare funzione millis significato



  1. il monitor della porta seriale visualizza il numero di ms trascorsi dall’avvio del programma.

Conclusione. Il comando millis() di Arduino IDE non interrompe l’esecuzione del programma, ma avvia un conto alla rovescia dall’inizio del contatore dei millisecondi. D’altra parte, delay e delayMicroseconds arrestano l’esecuzione del programma per un numero specifico di millisecondi o microsecondi, rispettivamente. L’applicazione di uno o dell’altro ritardo nello sketch del microcontrollore Arduino dipende dal compito da svolgere.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.