Всем привет. Написал код часов с использованием ds3231 и max7219. Вроде-бы все работает, время на матрицу выводится, но не обновляется.
Скетч:
#define BRIGHTNESS 1 // яркость матрицы (0 - 15)
#define MATR_NUM 4 // количество матриц последовательно
#include <DS3231.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>
Max72xxPanel matrix = Max72xxPanel(10, 4, 1);
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
DS3231 rtc(SDA, SCL);
int wait = 1000;
void setup() {
analogReference(EXTERNAL);
Serial.begin(115200);
matrix.setIntensity(BRIGHTNESS);
for (byte i = 0; i < MATR_NUM; i++) {
// матрицы расположены криво, здесь поворачиваем
matrix.setRotation(i, 1);
}
matrix.fillScreen(LOW);
matrix.write();
{// Initialize the rtc object
rtc.begin();
// The following lines can be uncommented to set the date and time
//rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(1, 1, 2014); // Set the date to January 1st, 2014
}
}
void loop()
{
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Send time
Serial.println(rtc.getTimeStr());
{
// Send time
matrix.print(rtc.getTimeStr());
matrix.write();
}
delay(wait);
}
Буду очень благодарен. Думаю решение проблемы простое, ну а я просто нуб. Пис вам и бобра
Скетч:
#define BRIGHTNESS 1 // яркость матрицы (0 - 15)
#define MATR_NUM 4 // количество матриц последовательно
#include <DS3231.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Max72xxPanel.h>
Max72xxPanel matrix = Max72xxPanel(10, 4, 1);
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
DS3231 rtc(SDA, SCL);
int wait = 1000;
void setup() {
analogReference(EXTERNAL);
Serial.begin(115200);
matrix.setIntensity(BRIGHTNESS);
for (byte i = 0; i < MATR_NUM; i++) {
// матрицы расположены криво, здесь поворачиваем
matrix.setRotation(i, 1);
}
matrix.fillScreen(LOW);
matrix.write();
{// Initialize the rtc object
rtc.begin();
// The following lines can be uncommented to set the date and time
//rtc.setDOW(WEDNESDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
//rtc.setDate(1, 1, 2014); // Set the date to January 1st, 2014
}
}
void loop()
{
// Send Day-of-Week
Serial.print(rtc.getDOWStr());
Serial.print(" ");
// Send date
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
// Send time
Serial.println(rtc.getTimeStr());
{
// Send time
matrix.print(rtc.getTimeStr());
matrix.write();
}
delay(wait);
}
Буду очень благодарен. Думаю решение проблемы простое, ну а я просто нуб. Пис вам и бобра