I'm still confused lol. If I try to type in if(hour == etc...) the compiler comes back and says that "hour" was not declared in this scope.
This code prints the correct information to the serial port but I just don't know how to interface with it to use what it's printing...
"hour" was intended to be whatever variable you're using to hold the "hour" part of the current time. I apologize, because I thought your problem was in understanding the hardware, not in understanding the software.
Also, I made a reference to the I2C part because you're including the Wire library -- but you're actually using the SPI part, and probably shouldn't include the Wire library header at all. (The same hardware chip is available in I2C software version as 3231/3232, and SPI version as 3234).
So, if the problem is just a regular programming question about how to understand that particular RTC API, I'm afraid I can't be very helpful, other than to offer the general suggestion that you need to find the part of that library that lets you read the "hour" and "minute" values of the current time, and compare those to the values you want to use for the alarm. Then you need to actually write the pin that you want to control, based on what those values are.
I took a look at that library's implementation, and the values from the DateTime class are in decimal (not BCD) so the code you need to add inside loop() might look something like:
if (now.hour() == 15 && now.minute() == 30) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
}
Also make sure you set pinMode(13, OUTPUT) in the setup() function.