2
\$\begingroup\$

I'm designing a very simple led light timer based on the Pomodoro time management technique. For those of you unfamiliar, you work for a set amount of time, take a short break, and repeat.

My end result is to have a 5v USB powered device that lights a green LED for 25 minutes, then switches to a red LED for 5 minutes over and over again. This does not at all need to be accurate...+/- 5-7% isn't going to kill me. Ideally, it'd be small enough of a device, like one of the smaller Altoid tins, to sit on my desk unobtrusively. Though an Arduino-controlled Nixie tube countdown timer does have its charm....

I've found and re-read this q&a, as a start but there are so many options that I'm not sure where I need to start.

From my understanding of the 555, it pulses (I'm thinking of it in astable mode), and triggers something. I'd originally thought I'd need a decade counter to keep TRACK of the pulses, but the page noted above seems to indicate that I can control the time between triggers with resistor and capacitor combinations. Of course, that suggests I'll need some formula to determine proper capacitance and resistance...which I've been unable to find.

Other solutions suggest relays, which I've not worked with yet...so I don't know what I don't know about relays in this solution.

Can someone point me in a good starting direction, or perhaps recommend which schematic on the above page would be most appropriate for my purposes, if any?

\$\endgroup\$
1

4 Answers 4

5
\$\begingroup\$

This is a very simple thing to do for a small microcontroller. Even the smallest of them all, the PIC 10F200 can easily to this job. It has a internal oscillator that is well within your accuracy requirements. Otherwise, it only has to control 2 outputs, which is fine since it has 3.

A nice thing about a micro is that you can customize things a bit. For example, you might realize after a while that you don't always notice when the light turns color. It would be easy to have the micro flash the new state at 2 Hz for the first 5 seconds or something.

\$\endgroup\$
2
  • \$\begingroup\$ So if I were to go with something like the PIC10F200 or PIC12F675 mentioned by @Leon Heller, how do those get programmed? I'm going to ask a separate question for that. :) \$\endgroup\$
    – dwwilson66
    Commented Apr 3, 2013 at 1:13
  • \$\begingroup\$ and I just asked this: electronics.stackexchange.com/questions/64187/… \$\endgroup\$
    – dwwilson66
    Commented Apr 3, 2013 at 1:24
2
\$\begingroup\$

A suitable MCU would be a much better solution - lower power, better accuracy, easier to design, and simpler hardware. Something like a PIC12F675 would be ideal (it has a factory-calibrated 1% oscillator). A piezo buzzer could also be incorporated.

\$\endgroup\$
1
\$\begingroup\$

25 minutes is probably a bit too much for a simple 555 circuit due to leakage currents and the like. By far easiest would be small Arduino (Micro, Nano), especially because of the fact that you don't need any extra hardware to program it. An Arduino Mini only requires a USB-serial interface, they're pretty common to obtain. Otherwise pretty much any microcontroller can do the job, but requires a programmer.

If you surf around a bit you can get pretty good prices for Arduino or compatibles.

http://arduino.cc/en/Main/Products

\$\endgroup\$
1
  • \$\begingroup\$ I've got my Arduino as a backup plan, but was looking to make something a lot smaller--or at least with less unused pins. Of course, there is the learning curve of something other than Processing and Arduino's nifty plug & play interface...choices, choices... \$\endgroup\$
    – dwwilson66
    Commented Apr 3, 2013 at 1:11
0
\$\begingroup\$

If you want to make it USB controlled, the simplest way is to purchase one of those super cheap USB to serial converters. Installing the converter will install a virtual COM port driver. You can then use the DTR or RTS data flow control lines to switch your LED. These lines can be controlled from either Win32 API or the SerialPort class in .NET

The first circuit on this page shows a similar example. It controls a relay from a serial port. When I have time I can draw up another circuit that demonstrates just an LED being controlled.

\$\endgroup\$

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.