Prezados,
Tenho um módulo hardware RTC modelo DS3231 e estou tentando fazer um teste simples com ele mas estou tendo dificuldade. Vejam se conseguem me ajudar. Sou iniciante.
Baixei a biblioteca referente ao DS3231 no site: www.rinkydinkelectronics.com . Descompactei-a e salvei na pasta Libraries.
Estou usando uma placa de Arduino Uno, na qual conectei o módulo DS3231.
Estou usando o código presente no exemplo DS3231_Serial_Easy fornecido pela biblioteca que foi baixada. Este código deveria permitir que a data e hora fossem setadas e exibidas no Serial Print. Segue abaixo o código do referido exemplo:
// DS3231_Serial_Easy
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
// web: http://www.RinkyDinkElectronics.com/
//
// A quick demo of how to use my DS3231-library to
// quickly send time and date information over a serial link
//
// To use the hardware I2C (TWI) interface of the Arduino you must connect
// the pins as follows:
//
// Arduino Uno/2009:
// ----------------------
// DS3231: SDA pin -> Arduino Analog 4 or the dedicated SDA pin
// SCL pin -> Arduino Analog 5 or the dedicated SCL pin
//
//
// The internal pull-up resistors will be activated when using the
// hardware I2C interfaces.
//
#include <DS3231.h>
// Init the DS3231 using the hardware interface
DS3231 rtc(SDA, SCL);
void setup()
{
// Setup Serial connection
Serial.begin(115200);
// Uncomment the next line if you are using an Arduino Leonardo
//while (!Serial) {}
// 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());
// Wait one second before repeating :)
delay (1000);
}
Até aqui tudo certo, mas na hora de verificar o código, está aparecendo as seguintes mensagens de erros:
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp: In member function 'char* DS3231::getDOWStr(uint8_t)':
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:275:17: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *output = "xxxxxxxxxx";
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:276:99: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *daysLong[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:276:99: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *daysShort[] = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:277:70: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *output= "xxxxxxxxx";
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:290:144: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *monthLong[] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:290:144: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char *monthShort[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
^
C:\Users\PARNA-02\Desktop\arduino-nightly-windows\arduino-nightly\libraries\DS3231\DS3231.cpp:291:106: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
Depois que aparecem esses erros, o software termina a verificação exibindo a seguinte mensagem:
O sketch usa 3710 bytes (11%) de espaço de armazenamento para programas. O máximo são 32256 bytes.
Variáveis globais usam 292 bytes (14%) de memória dinâmica, deixando 1756 bytes para variáveis locais. O máximo são 2048 bytes.
Mesmo aparecendo esses erros, eu carreguei o código no Arduino, pois aparentemente a verificação tinha finalizado corretamente. Porém após carregar o código no Arduino (conectado ao módulo DS3231) o Monitor serial não exibe as informações da Data e Hora como deveria.
Caso alguém possa me ajudar, ficarei muito agradecido em poder contar com essa comunidade e poder avançar em meus conhecimentos com o Arduino.