| Problem | Likely Cause | Solution | |---------|--------------|----------| | Time resets when powering off | No backup battery | Install a CR2032 coin cell in the RTC module | | Wrong time after re-upload | Setting time every boot | Comment out setDS1302Time after first use | | Weird characters on Serial | Baud rate mismatch | Ensure Serial.begin(9600) matches monitor | | Library compile error | Wrong pin order | Check VirtuabotixRTC myRTC(clk, dat, rst) | VirtuabotixRTC vs. RTClib | Feature | VirtuabotixRTC (DS1302) | RTClib (DS1307/DS3231) | |---------|-------------------------|-------------------------| | Interface | 3-wire (any pins) | I2C (A4/A5 on Uno) | | Accuracy | ±2 minutes/month | DS3231: ±2 minutes/year | | Battery life | ~5 years | ~10 years | | Ease of use | Very simple | Simple, more features |
else digitalWrite(ledPin, LOW); if (currentHour == 20 && myRTC.minutes == 0 && myRTC.seconds < 5) Serial.println("Evening – LED is OFF."); virtuabotixrtc.h arduino library
void setup() pinMode(ledPin, OUTPUT); Serial.begin(9600); | Problem | Likely Cause | Solution |
#include <VirtuabotixRTC.h> VirtuabotixRTC myRTC(6, 7, 8); more features | else digitalWrite(ledPin