#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <iarduino_RTC.h>
#include <Max72xxPanel.h>
int H=0;
int M=0;
uint8_t h,m,s;
int pinCS=10;
int numberOfHorizontalDisplays = 1;
int numberOfVerticalDisplays = 4;
Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);
iarduino_RTC time(RTC_DS1307);
#define BSET_PIN 7
#define BPLUS_PIN 6
#define BMINUS_PIN 5
#define LEDH_PIN 9
#define LEDM_PIN 8
void setup() {
matrix.setIntensity(1);
matrix.setRotation(0,4);
matrix.setRotation(1,4);
matrix.setRotation(2,4);
matrix.setRotation(3,4);
matrix.setRotation(matrix.getRotation()+1);
Serial.begin(9600);
time.begin();
time.settime(0,0,0);
pinMode (BSET_PIN, INPUT);
pinMode (BPLUS_PIN, INPUT);
pinMode (BMINUS_PIN, INPUT);
pinMode (LEDH_PIN, OUTPUT);
pinMode (LEDM_PIN, OUTPUT);
digitalWrite(LEDM_PIN, HIGH);
digitalWrite(LEDH_PIN, HIGH);
}
void loop() {
if(millis()%1000==0){
h=time.Hours;
m=time.minutes;
s=time.seconds;
Serial.println(time.gettime("H:i:s"));
delay(2);
}
Serial.println(time.gettime("H:i:s"));
if(digitalRead(BSET_PIN)) {
digitalWrite(LEDM_PIN,LOW);
M=1;
digitalWrite(LEDH_PIN, HIGH);
H=0;
delay(500);}
if(digitalRead(BSET_PIN)) {
digitalWrite(LEDM_PIN, HIGH);
M=0;
digitalWrite(LEDH_PIN, LOW);
H=1;
delay(500);}
if(digitalRead(BSET_PIN)){
digitalWrite(LEDM_PIN, HIGH);
M=0;
digitalWrite(LEDH_PIN, HIGH);
H=0;
delay(500);}
if(digitalRead(BPLUS_PIN)&&H==1) {
h++;
if(h>23) h=0;
time.settime(h);
delay(100);
}
if(digitalRead(BMINUS_PIN)&&H==1) {
h--;
if(h<=0) h=24;
time.settime(h);
delay(100);
}
if(digitalRead(BPLUS_PIN)&&M==1) {
m++;
if(m>59) m=0;
time.settime(m);
delay(100);
}
if(digitalRead(BMINUS_PIN)&&M==1) {
m--;
if(m<=0) m=59;
time.settime(m);
delay(100);
}
matrix.fillScreen(0);
String hour1 = String (h/10); // преобразовываем числа для вывода
String hour2 = String (h%10);
String min1 = String (m/10);
String min2 = String (m%10);
String sec1 = String (s/10);
String sec2 = String (s%10);
matrix.drawChar(1,1,min2[0],HIGH,LOW,1);
matrix.drawChar(10,1,min1[0],HIGH,LOW,1);
matrix.drawChar(17,1,hour2[0],HIGH,LOW,1);
matrix.drawChar(26,1,hour1[0],HIGH,LOW,1);
matrix.write();
matrix.drawPixel(6, 0,HIGH);
matrix.drawPixel (25, 7,HIGH);
matrix.drawPixel(22, 0,HIGH);
matrix.drawPixel(22, 7,HIGH);
matrix.drawPixel(6, 7,HIGH);
matrix.drawPixel(9, 0,HIGH);
matrix.drawPixel(9, 7,HIGH);
matrix.drawPixel(25, 0,HIGH);
matrix.write();
delay(500);
matrix.drawPixel(6, 0,LOW);
matrix.drawPixel(9, 0,LOW);
matrix.drawPixel(22, 0,LOW);
matrix.drawPixel(25, 0,LOW);
matrix.drawPixel(25, 7,LOW);
matrix.drawPixel(6, 7,LOW);
matrix.drawPixel(9, 7,LOW);
matrix.drawPixel(22, 7,LOW);
matrix.write();
delay(500);
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
matrix1:V+
matrix1:GND
matrix1:DIN
matrix1:CS
matrix1:CLK
matrix1:V+.2
matrix1:GND.2
matrix1:DOUT
matrix1:CS.2
matrix1:CLK.2
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
rtc1:GND
rtc1:5V
rtc1:SDA
rtc1:SCL
rtc1:SQW
led1:A
led1:C
led2:A
led2:C
r4:1
r4:2
r5:1
r5:2