Stwierdziłem ostatnio, że mam za dużo podzespołów
czekających na wykorzystanie w większych projektach, które leżą w szafie i się
marnują :(
Trzeba było więc coś z tym zrobić.
Co leżało u mnie w szafie:
- moduł matryc dwukolorowych 32x16
- modulik z DS1307
- oczywiście arduino
Co z tego zrobiłem – prosty zegarek – przyda się zawsze –
leży sobie teraz nad „kącikiem warsztatowym” całość w stylu amerykańskiego DIY –
wszystko luźno na przewodach.
Wszystkie informacje są w tych dwóch linkach:
Cały kod prezentuje się w ten sposób:
#include "myMATRIX.h"
#include <Wire.h>
#include <DS1307.h>
#define RowA_Pin 2
#define RowB_Pin 3
#define RowC_Pin 4
#define RowD_Pin 5
#define OE_Pin 6
#define Red_Pin 7
#define Green_Pin 8
#define CLK_Pin 9
#define STB_Pin 10
DS1307 clock;
RTCDateTime dt;
void setup ()
{
myMatrix.Init(Red_Pin, Green_Pin, CLK_Pin, RowA_Pin, RowB_Pin, RowC_Pin, RowD_Pin, OE_Pin, STB_Pin);
clock.begin();
// If date not set
if (!clock.isReady())
{
// Set sketch compiling time
clock.setDateTime(__DATE__, __TIME__);
}
}
char tablica[20];
void loop()
{
dt = clock.getDateTime();
String napis = "";
if ( dt.hour < 10 )
{
napis += "0";
}
napis += String(dt.hour);
napis += ":";
if ( dt.minute < 10 )
{
napis += "0";
}
napis += String(dt.minute);
napis.toCharArray(tablica, 20);
myMatrix.printString(2, 4, red, black, tablica);
myMatrix.drawVLine(0, 3, 11, green);
myMatrix.drawVLine(31, 3, 11, green);
myMatrix.drawHLine(0,31,11,green);
myMatrix.drawHLine(0,31,3,green);
delay(1000);
}
Całość od pomysłu do zakończenia wraz z wykonywaniem
połączeń zajęła mniej niż 30 minut, a moduły nie nudzą się w oczekiwaniu na ich docelowe wykorzystanie :)

