Chapter 12. Using Time and Dates
12.0. Introduction
Managing time is a fundamental element of interactive computing. This chapter covers built-in Arduino functions and introduces many additional techniques for handling time delays, time measurement, and real-world times and dates.
12.1. Creating Delays
Problem
You want your sketch to pause for some period of time. This may be some number of milliseconds, or a time given in seconds, minutes, hours, or days.
Solution
The Arduino delay function is used in many sketches throughout this book.
delay pauses a sketch for the
number of milliseconds specified as a parameter. (There are 1,000
milliseconds in one second.) The sketch that follows shows how you can use delay to get almost any interval:
/*
* delay sketch
*/
const long oneSecond = 1000; // a second is a thousand milliseconds
const long oneMinute = oneSecond * 60;
const long oneHour = oneMinute * 60;
const long oneDay = oneHour * 24;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("delay for 1 millisecond");
delay(1);
Serial.println("delay for 1 second");
delay(oneSecond);
Serial.println("delay for 1 minute");
delay(oneMinute);
Serial.println("delay for 1 hour");
delay(oneHour);
Serial.println("delay for 1 day");
delay(oneDay);
Serial.println("Ready to start over");
}Discussion
The delay function has a
range from one one-thousandth of a second to around 25 days (just less
than 50 days if using an unsigned long variable type; see Chapter 2 for more on variable
types).
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access