0
\$\begingroup\$

I have a simple project planned for which the electronics component boils down to a clock unit triggering a 555 timer twice a day. The DS3231 seems perfect for this but seemingly requires including a microcontroller for no purpose beyond resetting the alarm after it's triggered.

Is it possible to use an off the shelf RTC unit with two alarms without I2C or another communication protocol after I've initially set the time? It seems like all I actually need is a DS3231 that only triggers the interrupt pin once instead of continually until it's acknowledged but this doesn't seem to exist.

Do I need to find another product or is there no way to work around burning an Arduino on a simple clock circuit?

\$\endgroup\$
2
  • 1
    \$\begingroup\$ You could design one with a MCU, many have built-in RTC. It depends which Arduino you are talking about. \$\endgroup\$
    – Justme
    Commented Apr 13 at 15:05
  • \$\begingroup\$ Does the alarm clear when the reset is asserted? \$\endgroup\$
    – Andy aka
    Commented Apr 13 at 15:47

1 Answer 1

1
\$\begingroup\$

You are correct that if you use a DS3231, you will need to turn an alarm off by communicating with the RTC using I2C. Once you have the DS3231 programmed (correct time, alarms and whatever else), you do not have to use an Arduino UNO in the circuit. You could use a Picaxe, for example, - see https://www.allaboutcircuits.com/projects/build-programmable-time-based-switches-using-a-real-time-clock/.

You have not stated how accurate the twice a day alarm has to be. I would suggest that you consider a simple PIC10F chip and program a long delay using the sleep and WDT characteristics. You can easily get a calculated 12 hour delay. Basically you set the prescaler for the WDT to the longest interval (2.304 s). The PIC is put to sleep and wakes up every 2.304 s and counts the number of intervals until it has reached the target value. In your case your program would count 18750 of the 2.304s intervals. When the count is up, ~12 h has passed and the chip can then trigger the 555, clear the counter and go back to sleep.

I am leaving details out but this is an established method and you can find much information online. Of course, the interval is not going to be as precise as a DS3231, but it may suit your needs.

Finally, you have not said what the 555 is doing, but you can, conceivably, use the PIC10F to do the same thing - potentially getting rid of the I2C RTC and the 555 timer.

\$\endgroup\$
1
  • \$\begingroup\$ Sorry I didn't explain the 555 timer, what I meant was that if the alarm was a single interrupt signal, or even a short burst square wave, I could use a 555 timer as a latching circuit to run my entire circuitry, which just needs a square wave, but as the pin never turns back off without an I2C signal it seems I have to use an entire microcontroller. It make me wonder what actual alarm clocks use 🤔 Presumably they have chips that are dedicated to this kind of thing. \$\endgroup\$ Commented Apr 16 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.