#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <iarduino_RTC.h>
#include <Max72xxPanel.h>
uint8_t h,m,s;
int pinCS=10;
int numberOfHorizontalDisplays = 1;
int numberOfVerticalDisplays = 4;
Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);
iarduino_RTC watch(RTC_DS1307);
void setup() {
Serial.begin(9600);
matrix.setIntensity(1);
matrix.setRotation(0,4);
matrix.setRotation(1,4);
matrix.setRotation(2,4);
matrix.setRotation(3,4);
matrix.setRotation(matrix.getRotation()+1);
watch.begin();
watch.settime(0,0,0);
#define BSET_PIN 7
#define BPLUS_PIN 6
#define BMINUS_PIN 5
#define LEDH_PIN 9
#define LEDM_PIN 8
void setup() {
Serial.begin(9600);
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(digitalRead(BSET_PIN)) {
digitalWrite(LEDM_PIN,LOW);
digitalWrite(LEDH_PIN, HIGH);
delay(1000);}
if(digitalRead(BSET_PIN)) {
digitalWrite(LEDM_PIN, HIGH);
digitalWrite(LEDH_PIN, LOW);
delay(1000);}
if(digitalRead(BSET_PIN)){
digitalWrite(LEDM_PIN, HIGH);
digitalWrite(LEDH_PIN, HIGH);
delay(1000);}
Serial.print(regim);
if(regim==1)
{
if(button_plus==1){
h++;
if(h>23) h=0;
watch.settime(0,m,h);
delay(10);
}
if(button_minus==1) {
h--;
if(h<=0) h=24;
watch.settime(0,m,h);
delay(10);
}
}
if(regim==2)
{
if(button_plus==1){
m++;
if(m>59) m=0;
watch.settime(0,m,h);
delay(10);
}
if(button_minus==1) {
m--;
if(m<=0) m=59;
watch.settime(0,m,h);
delay(10);
}
}
}
void Display(){
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);
}
}