with millis()

How to reste millis()


// On and Off Times (as int, max=32secs)


unsigned int onTime = 1000; 

unsigned int offTime = 500; 
// Tracks the last time event fired

unsigned long previousMillis=0; 
// Interval is how long we wait

int interval = onTime; 
// Used to track if LED should be on or off

boolean LED13state = true; 
// Usual Setup Stuff

void setup() 
 pinMode(13, OUTPUT); 

void loop() 
{ // Set Pin 13 to state of LED13state each timethrough loop() // If LED13State hasn't changed, neither will the pin
digitalWrite(13, LED13state); // Grab snapshot of current time, this keeps all timing // consistent, regardless of how much code is inside the next if-statement unsigned long currentMillis = millis(); // Compare to previous capture to see if enough time has passed if ((unsigned long)(currentMillis - previousMillis) >= interval) { // Change wait interval, based on current LED state 
if (LED13state) 
{ // LED is currently on, set time to stay off 
interval = offTime; } else { // LED is currently off, set time to stay on 
interval = onTime; } // Toggle the LED's state, Fancy, eh!? 
LED13state = !(LED13state); // Save the current time to compare "later" 
previousMillis = currentMillis; }