Simple Light Chaser

This light chaser was designed for strings of low wattage bulbs, the type used for Christmas trees. Each 70mA string is made up of forty 6V bulbs in series for a 230VAC mains supply. To get the chaser effects, 4 of these strings are twisted together in a staggered manner to make one rope of 160 bulbs. Individual bulbs in each string are not turned on, the whole strings is. More strings could be twisted together to make more complex patterns, but the bulbs would be closer together. In the original chaser the bulbs in each string were 20cm apart, which meant that the finished rope had bulbs 5cm apart. The original chaser had two of these ropes, or 8 strings altogether, connected to the 8 output bits of one PIC port. The two ropes can have different patterns on them for rotation effects

String 1 P -----0-------0-------0-------0-------0-------0--------- N
String 2 P -------0-------0-------0-------0-------0-------0------- N
String 3 P ---------0-------0-------0-------0-------0-------0----- N
String 4 P -----------0-------0-------0-------0-------0-------0--- N

P -----0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0--- N

The EEPROM in the PIC holds values that are sent out of the port to turn on the triacs that in turn allow current to flow through the bulbs. For a complete sequence in this chaser there are four steps. As an example ;

1000 0100 0010 0001 forward on channel 1
0001 0010 0100 1000 reverse on channel 2

looks like this (showing the 8 strings which make up the 2 ropes)

The effect actually seen is what is on the two centre ropes - dots moving right on rope1 and dots moving left on rope2. Each complete sequence requires 4 bytes of 8-bit EEPROM. More complicated sequences can be made up using more memory

Another example

This LED circuit can be used to mirror what is happening on the light strings. Each gate drives 3 LEDs, as shown in the circuit diagram above. Note that there is a negating (xorlw) instruction in the software that outputs a negative control signal if inverting gates (4011/4049) are used. If non-inverting 4081/4050 gates are used, then this instruction can be removed or replaced with an NOP. Note the orientation of the LEDs. For the small low-wattage bulbs used on the main unit there was no need for any series noise-suppression inductor. If higher wattage bulbs were to be used, although the opto-triac is a zero-crossing type, it may be necessary to add an inductor

My units used HLMP1385 LEDs, which have acceptable brightness and 3 in series draw less than 1mA. Some LEDs have a forward voltage that is too high to use 3 in series at 5V, for example yellow or green or low-efficiency red. One alternative is to put the LEDs from 5V to gate output rather than gate output to 0V. If that doesn't prove bright enough you'll have to use a different driver circuit. For example, put the LEDs in parallel, each with a series resistor (about 470 ohms for 5V, depends on the brightness and efficiency of the LED) and use the gate or PIC port pin to drive the base of a small NPN transistor (eg BC548) through a 1k ohm resistor. The emitter of the transistor goes to ground, the LEDs and their resistors are between the collector and 5V

Download (15kB)
At the time this software was written there was a possibility that patterns may have been changed by the owner so the table is EEPROM-based. However, this never came about, and the patterns could be hard-coded into program memory. At present there are 11 pre-programmed sequences and a random output based on reading the internal timer

If the LED board is not used then it may be possible to power the unit with a transformerless (capacitor dropper) power supply. The majority of the current is used by the LEDs in the opto-triacs, and some low-power high-efficiency types are available. If the LED board is used, it will be probably cheaper to use a small (1.5 - 3VA) transformer for the 5VDC supply.

There's no limit to the number of display elements you can control with a single micro if you expand the number of outputs with, for example, shift registers and external memory but remember -

!!! DISCO'S DEAD !!!