Еще одни часики, на этот раз используем модуль из 8-ми 7-ми сегментных индикаторов на базе MAX7219

http://s3.uploads.ru/t/3WBga.jpg

Код:
// Выводим на дисплей (8 x 7DIG MAX7219) ЧАСЫ
// Версия: 2.06.2015
// В формате:
// ЧЧ .ММ .СС
// 76 543 210 <- знакоместо на дисплее
// Ч-часы М-минуты С-секунды
// Железо:
// Arduino Uno + дисплей модуль 8CHAR 7DIG MAX7219 + RTC

#include "LedControl.h"
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
// Подключение модуля RTC
// SDA - A4
// SCL - A5
// 5v  - Vcc
// GND - GND

// Подключение дисплея
LedControl lc=LedControl(7,6,5,1);
// LedControl(dataPin, clkPin, csPin, numDevices=1);
                 
void setup() {
  lc.shutdown(0,false); // Иниц дисплей
  lc.setIntensity(0,0); // яркость дисплея
  lc.clearDisplay(0);  // очистить дисплей
  Wire.begin();
  RTC.begin();
  // Установка текущего времени PC в модуль RTC
  // после установки закоментировать и зашить скетч в контроллер
  // RTC.adjust(DateTime(__DATE__, __TIME__));
   Serial.begin(9600);
//   Serial.println(__DATE__);
//   Serial.println(__TIME__);
   DateTime now = RTC.now();
   Serial.print(now.hour());
   Serial.print(':');
   Serial.print(now.minute());
   Serial.print(':');
   Serial.print(now.second());
   Serial.println();
}

void clock_hours(int ch) {

// Разобьем число на 2 разряда

  int ch1=ch/10;  // Первая цифра числа
  int ch2=ch%10; // Вторая цифра числа
    lc.setDigit(0,7,ch1,false);
    lc.setDigit(0,6,ch2,false);
    lc.setChar(0,5,'.',false);  
}  
void clock_minutes(int cm) {

  int cm1=cm/10;  // Первая цифра числа
  int cm2=cm%10; // Вторая цифра числа
    lc.setDigit(0,4,cm1,false);
    lc.setDigit(0,3,cm2,false);
    lc.setChar(0,2,'.',false);   
} 

void clock_sec(int cs) {

  int cs1=cs/10;  // Первая цифра числа
  int cs2=cs%10; // Вторая цифра числа
    lc.setDigit(0,1,cs1,false);
    lc.setDigit(0,0,cs2,false);
}  

void loop() {
  
  DateTime now = RTC.now();
  int THour=now.hour();
  int TMinutes=now.minute();
  int TSeconds=now.second(); 
  clock_hours(THour);
  clock_minutes(TMinutes);
  clock_sec(TSeconds); 

}