Thanks for posting this code, is there a way to edit it so it works as a countdown from 59.59 (mm.ss)
posably like this
#include "LedControl.h" // Include the LedControl library
LedControl lc=LedControl(12,11,10,1); // Set up an LED object on pins 12,11,10
int seconds_ones;
int minutes_ones;
int seconds_tens; // Initialise values for tens and ones units of m,s
int minutes_tens; // these are the values actually sent to the LEDs
volatile unsigned char tick;
unsigned char seconds = 0;
unsigned char minutes = 60; // Inititialise actual values for mm,ss
ISR (TIMER2_OVF_vect) { // When timer2 overflows...
tick++; // increment tick
display_time (); // send the time to the LEDs to be displayed
}
void display_time () { // Function to display the time
seconds_ones = seconds % 10; // Get the 1's digit of seconds
if (seconds>=10){ // If seconds greater than 10
seconds_tens = seconds / 10;} // Get 10's digit of seconds
else {
seconds_tens = 0;} // Otherwise 10s is 0
minutes_ones = minutes % 10; // Repeat for minutes
if (minutes>=10){
minutes_tens = minutes / 10 ;}
else {
minutes_tens = 0;}
lc.setDigit(0,0,(byte)seconds_ones,false); // Send digits to LEDs
lc.setDigit(0,1,(byte)seconds_tens,false);
lc.setDigit(0,2,(byte)minutes_ones,false);
lc.setDigit(0,3,(byte)minutes_tens,false);
}
void loop () {
if (tick) { // If a tick has occured
seconds = seconds - 1; // Increment the seconds
tick = 0; // reset the tick flag
if (seconds>59){ // If a minute has passed
seconds = 0; // Send seconds back to 0
minutes = minutes - 1; // Increment the minutes
minutes = 0; // Send the minutes back to 0
}
}
}
}
}