I love the five-ten egg. It’s a hard-boiled egg that leaves the yolk just a bit soft and the outside done. Simply boil water, drop your egg, and watch your time. At 5 minutes, ten seconds, pull and ice bath the egg to stop cooking. Peel, enjoy.
I have been relearning my Arduino chops, and one of the ways that I’ve done this is by recreating the Arduino starter kit projects, including one for a digital hourglass.
I decided to repurpose the digital hourglass to light an LED each minute through five minutes, then blink the last LED for ten seconds. Here is the circuit:
Here is the code:
/*
Arduino Starter Kit example
Project 8 – Digital Hourglass, modified to a Five-Ten egg timer.This sketch is written to accompany Project 8 in the
Arduino Starter KitParts required:
10 kilohm resistor
six 220 ohm resistors
six LEDs
tilt switchCreated 13 September 2012
by Scott FitzgeraldModified 13 August 2014
by John LeMasneyhttps://store.arduino.cc/usa/arduino-starter-kit
This example code is part of the public domain
*/// named constant for the switch pin
const int switchPin = 8;unsigned long previousTime = 0; // store the last time an LED was updated
int switchState = 0; // the current switch state
int prevSwitchState = 0; // the previous switch state
int led = 2; // a variable to refer to the LEDs// 60000 = 1 minutes in milliseconds
long interval = 60000; // interval at which to light the next LEDvoid setup() {
// set all of the LED pins as outputs
for(int x = 2;x<8;x++){
pinMode(x, OUTPUT);
}
// set the tilt switch pin as input
pinMode(switchPin, INPUT);
}void loop(){
// store the time since the Arduino started running in a variable
unsigned long currentTime = millis();// compare the current time to the previous time an LED turned on
// if it is greater than your interval, run the if statement
if(currentTime – previousTime > interval) {
// save the current time as the last time you changed an LED
previousTime = currentTime;
// Turn the LED on
digitalWrite(led, HIGH);
// increment the led variable
// in 1 minute the next LED will light up
led++;if(led == 6){
// the 5 minutes is up, light up fifth LED, then blink last LED for ten seconds, then leave solid.
digitalWrite(6,HIGH);
for(int b = 1;b<6;b++){
digitalWrite(7,HIGH);
delay(1000);
digitalWrite(7,LOW);
delay(1000);
}
digitalWrite(7,HIGH);
}
}// read the switch value
switchState = digitalRead(switchPin);// if the switch has changed
if(switchState != prevSwitchState){
// turn all the LEDs low
for(int x = 2;x<8;x++){
digitalWrite(x, LOW);
}// reset the LED variable to the first one
led = 2;//reset the timer
previousTime = currentTime;
}
// set the previous switch state to the current state
prevSwitchState = switchState;
}
Related articles
This content is published under the Attribution 3.0 Unported license.
Discover more from lemsy
Subscribe to get the latest posts sent to your email.




Infinity Table Being Built for Arduino Build Night
Control an IR Device with a Spark Core
Pingback: Photography Quotes For Instagram