Proper class syntax for a specific library

Hello, guys. I am a beginner in Arduino programming, and I am really struggling with this error. So I used this library called "RTC by Makuna" for my DS1302, and I really don't know how to deal with the proper syntax when it comes to the instance of the class for this kind of RTC. I'd be grateful if you guys can help me with this for my project.

Here is a "simple" example for that RTC library. You have to copy the relevant declarations (hardware wire) :

This is the complete code of my system. I am still trying to figure out my connection if it is correct, though. I'd be grateful for your help.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

#include <MFRC522.h> // for the RFID
#include <SPI.h> // for the RFID and SD card module
#include <SD.h> // for the SD card
#include <ThreeWire.h>
#include <RtcDS1302.h> // for the Rtc

ThreeWire myWire(6,7,8);
RtcDS1302 Rtc(myWire);

// define pins for RFID
#define CS_RFID 10
#define RST_RFID 9
// define select pin for SD card module
#define CS_SD 4

// Create a file to store the data
File myFile;

// Instance of the class for RFID
MFRC522 rfid(CS_RFID, RST_RFID);

// Variable to hold the tag's UID
String uidString;

// Instance of the class for Rtc
RtcDS1302 Rtc;

// Define check in time
const int checkInHour = 9;
const int checkInMinute = 5;

//Variable to hold user check in
int userCheckInHour;
int userCheckInMinute;

// Pins for LEDs and buzzer
const int redLED = 6;
const int greenLED = 7;
const int buzzer = 5;

void setup() {

// Set LEDs and buzzer as outputs
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(buzzer, OUTPUT);

// Init Serial port
Serial.begin(9600);
lcd.begin(16,2);
while(!Serial); // for Leonardo/Micro/Zero

// Init SPI bus
SPI.begin();
// Init MFRC522
rfid.PCD_Init();

// Setup for the SD card
Serial.print("Initializing SD card...");
lcd.print("Initializing ");
lcd.setCursor(0, 1);
lcd.print("SD card...");
delay(3000);
lcd.clear();
if(!SD.begin(CS_SD)) {
Serial.println("initialization failed!");
lcd.print("Initializing ");
lcd.setCursor(0, 1);
lcd.print("failed!");
return;
}
Serial.println("initialization done.");
lcd.print("Initialization ");
lcd.setCursor(0, 1);
lcd.print("Done...");

// Setup for the Rtc
if(!Rtc.begin()) {
Serial.println("Couldn't find Rtc");
lcd.clear();
lcd.print("Couldn't find Rtc");
while(1);
}
else {
// following line sets the Rtc to the date & time this sketch was compiled
Rtc.adjust(DateTime(F(DATE), F(TIME)));
}
if(!Rtc.isrunning()) {
Serial.println("Rtc is NOT running!");
lcd.clear();
lcd.print("Rtc Not Running!");
}
}

void loop() {
//look for new cards
if(rfid.PICC_IsNewCardPresent()) {
readRFID();
logCard();
verifyCheckIn();
}
delay(10);
}

void readRFID() {
rfid.PICC_ReadCardSerial();
lcd.clear();
Serial.print("Tag UID: ");
lcd.print("Tag UID: ");
uidString = String(rfid.uid.uidByte[0]) + " " + String(rfid.uid.uidByte[1]) + " " +
String(rfid.uid.uidByte[2]) + " " + String(rfid.uid.uidByte[3]);
Serial.println(uidString);
lcd.setCursor(0, 1);
lcd.print(uidString);
delay(2000);

// Sound the buzzer when a card is read
tone(buzzer, 2000);
delay(200);
noTone(buzzer);

delay(200);
}

void logCard() {
// Enables SD card chip select pin
digitalWrite(CS_SD,LOW);

// Open file
myFile=SD.open("DATA.txt", FILE_WRITE);

// If the file opened ok, write to it
if (myFile) {
Serial.println("File opened ok");
lcd.clear();
lcd.print("File opened ok");
delay(2000);
myFile.print(uidString);
myFile.print(", ");

// Save time on SD card
DateTime now = Rtc.now();
myFile.print(now.year(), DEC);
myFile.print('/');
myFile.print(now.month(), DEC);
myFile.print('/');
myFile.print(now.day(), DEC);
myFile.print(',');
myFile.print(now.hour(), DEC);
myFile.print(':');
myFile.println(now.minute(), DEC);

// Print time on Serial monitor
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.println(now.minute(), DEC);
Serial.println("sucessfully written on SD card");

lcd.clear();
lcd.print(now.year(), DEC);
lcd.print(':');
lcd.print(now.month(), DEC);
lcd.print(':');
lcd.print(now.day(), DEC);
lcd.print(' ');
lcd.setCursor(11, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.setCursor(0, 1);
lcd.print("Written on SD...");
delay(2000);

myFile.close();

// Save check in time;
userCheckInHour = now.hour();
userCheckInMinute = now.minute();

}
else {

Serial.println("error opening data.txt");  
lcd.clear();
lcd.print("error opening data.txt");

}
// Disables SD card chip select pin
digitalWrite(CS_SD,HIGH);
}

void verifyCheckIn(){
if((userCheckInHour < checkInHour)||((userCheckInHour==checkInHour) && (userCheckInMinute <= checkInMinute))){
digitalWrite(greenLED, HIGH);
delay(2000);
digitalWrite(greenLED,LOW);
Serial.println("You're welcome!");
lcd.clear();
lcd.print("You're Welcome!");
}
else{
digitalWrite(redLED, HIGH);
delay(2000);
digitalWrite(redLED,LOW);
Serial.println("You are late...");
lcd.clear();
lcd.print("You are Late...");
delay(3000);
lcd.clear();
lcd.print("Put RFID to Scan");

}
}

Look at the example @6v6gt gave you and you see this:

RtcDS1307<TwoWire> Rtc(Wire);

Your version of the declaration is what the compiler is complaining about.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.