#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <TM1637Display.h>
// Module connection pins (Digital Pins)
#define CLK 2
#define DIO 3
unsigned long previousMillis;
bool showdot = false;
String SerialGET = "";
TM1637Display display(CLK, DIO);
void setup() {
Serial.begin(9600);
}
void loop() {
tmElements_t tm;
if (!RTC.read(tm)) {
tm.Hour = 0;
tm.Minute = 0;
tm.Second = 0;
RTC.write(tm);
}
display.write(tm.Hour/10, 0);
display.write(tm.Hour%10, 1);
display.write(tm.Minute/10, 2);
display.write(tm.Minute%10, 3);
// Dot blink
unsigned long currentMillis = millis();
if (currentMillis-previousMillis>500){
previousMillis = currentMillis;
display.dotShow(showdot=!showdot);
}
while (Serial.available()) {
char c = Serial.read();
if (c == '\n') {
int Hour, Min, Sec;
if (sscanf(SerialGET.c_str(), "%d:%d:%d", &Hour, &Min, &Sec) == 3) {
tm.Hour = Hour;
tm.Minute = Min;
tm.Second = Sec;
RTC.write(tm);
Serial.print("Set to ");
Serial.print(Hour);
Serial.print(":");
Serial.print(Min);
Serial.print(":");
Serial.print(Sec);
Serial.println();
}else{
Serial.println("Invalid format, Please enter Hour:Min:Sec");
}
SerialGET = "";
}
else
SerialGET += c;
}
}
EEROR
sketch_aug28b:20: error: 'tmElements_t' was not declared in this scope
tmElements_t tm;
^
sketch_aug28b:21: error: expected primary-expression before ')' token
if (!RTC.read(tm)) {
^
sketch_aug28b:22: error: expected unqualified-id before '.' token
tm.Hour = 0;
^
sketch_aug28b:23: error: expected unqualified-id before '.' token
tm.Minute = 0;
^
sketch_aug28b:24: error: expected unqualified-id before '.' token
tm.Second = 0;
^
sketch_aug28b:25: error: expected primary-expression before ')' token
RTC.write(tm);
^
sketch_aug28b:28: error: expected primary-expression before '.' token
display.write(tm.Hour/10, 0);
^
sketch_aug28b:29: error: expected primary-expression before '.' token
display.write(tm.Hour%10, 1);
^
sketch_aug28b:30: error: expected primary-expression before '.' token
display.write(tm.Minute/10, 2);
^
sketch_aug28b:31: error: expected primary-expression before '.' token
display.write(tm.Minute%10, 3);
^
sketch_aug28b:45: error: expected unqualified-id before '.' token
tm.Hour = Hour;
^
sketch_aug28b:46: error: expected unqualified-id before '.' token
tm.Minute = Min;
^
sketch_aug28b:47: error: expected unqualified-id before '.' token
tm.Second = Sec;
^
sketch_aug28b:48: error: expected primary-expression before ')' token
RTC.write(tm);
^
Multiple libraries were found for "TM1637Display.h"
Used: C:\Users\Acer\Documents\Arduino\libraries\TM1637
Not used: C:\Program Files (x86)\Arduino\libraries\TM1637
Not used: C:\Program Files (x86)\Arduino\libraries\TM1637
Not used: C:\Program Files (x86)\Arduino\libraries\TM1637
Not used: C:\Program Files (x86)\Arduino\libraries\TM1637
Multiple libraries were found for "DS1307RTC.h"
Used: C:\Users\Acer\Documents\Arduino\libraries\DS1307RTC
Not used: C:\Program Files (x86)\Arduino\libraries\DS1307RTC
Using library Wire at version 1.0 in folder: C:\Users\Acer\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.20\libraries\Wire
Using library DS1307RTC in folder: C:\Users\Acer\Documents\Arduino\libraries\DS1307RTC (legacy)
Using library TM1637 in folder: C:\Users\Acer\Documents\Arduino\libraries\TM1637 (legacy)
exit status 1
'tmElements_t' was not declared in this scope