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).
Get Arduino Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.