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 :)