HOME     STORE     BLOG     SCHEMATICS     TUTORIALS     DOWNLOADS     CONTACT

Animated Christmas Star
 


 

Animated Christmas Star

 


The star is about 35cm across and designed to be displayed indoors in a window. I originally created the star three years ago using a 16F872 controller. The original version worked ok - but had no spare memory for adding more features. This new version uses a 18F2620 because I now prefer the 18F series and decided it would be a good general purpose 28 pin chip to use. It has more than enough memory (64K) so I can add as many features as I want now. (It should also work using a PIC18F2525 instead if you find it easier or cheaper to obtain) Since, I made the first version, brighter LEDs are now available and cost is much lower - this project currently uses a total of 60 comprising of 25 Blue, 15 Green and 20 Red.




Features
An ever changing animated display, Patterns and speed chosen at random.
It can fade from one pattern to the next
Low power consumption
Currently 32 different patterns have been coded - and plenty of space available for more.

Circuit Description
The circuit has been kept as simple as possible. The microcontroller uses portB to control the matrix columns through a cheap ULN2803 octal darlington transistor array.
This has the advantage of being compact,designed to work with logic levels without extra components and each output can carry 500mA, easily enough for this project.

The matrix rows are driven by portA directly and series resistors are used to limit the current supplied to each LED. Each port pin can only supply 25mA, with the multiplexing the effective current is even lower - but still bright enough.

PortC is eventually going to be used for a serial data link to control other stars, enabling the pushbuttons to make configuration changes etc. and three pins will control a colour changing effect to go in the centre of the star.
The microcontroller is clocked at 32Mhz using it's internal oscillator to save port pins - a timer function has been added, it is not very precise,but it can be adjusted to be good enough for use over the Christmas period though.

Operation
On power-up, it lights all of the leds for several seconds as a diagnostic feature. Then it chooses patterns at random, also choosing a random speed for animating each pattern plus a random number of repeats for some patterns. Some patterns are enhanced by fading the leds - others are more appealing with no fade.
Settings options
The star works ok without any settings, although some features can now be set-up using the two pushbuttons.
Configuring the centre RGB led.

If you have used an RGB led with a common cathode (negative) lead, then it will work ok.

If you want to use an RGB led instead with a common ANODE (positive) lead, then you must connect the anode lead to +5V instead of 0V and enable it by holding the UP button pressed while applying power (this setting will then be retained in eeprom memory).
Enabling the timer function
(All settings are best made by viewing the star from behind)

This allows the star to turn-off at a chosen time. First, set the current time by pressing the SET button. The hours (12 hour time) are shown in a line of 12 leds across the star and the led at the top point lights for PM.

Press the UP button to step up the hours. Then press the SET button again to show Tens of minutes on the five blue leds in the middle of the star and Ones of minutes on the nine leds at the base of the star.

Press the UP button to count-up the minutes.
Press the SET button again when you have finished setting the time.

Setting the ON time
Hold the SET button pressed for several seconds until the centre RGB led lights RED.

Now set the ON time (just like setting the time as before) When done, press the set button and the centre RGB led will light GREEN for setting the OFF time.

Set the OFF time as before.
Press the set button again and the RGB led will light BLUE for adjusting the clock timing.

The clock speed is at default to begin with (shown by a single led at the middle-base of the star.

Pressing the UP button lights leds to the right to increase the speed and then to the left to decrease the speed.

The clock oscillator is factory preset to an accuracy of about 1 or 2% and this option allows it to be adjusted up or down in steps of 0.4%.

Press the set button again to end all settings.
The on/off times and speed adjustments are now stored in eeprom memory.

Resetting back to defaults
If you ever need to reset the chip back to defaults (removing saved timer and rgb led settings) it can be done by holding both SET and UP buttons pressed while applying power.
Toggling the display on/off
Press the UP button to to toggle the display off/on without using the timer function.
Several Stars can sync together.
To sync two or more stars together you just need a pair of wires.

You choose one star to be the Master and connect a wire from it's TX terminal to the RX terminal of one or more other stars. Then also link the Ground wires (0V)
For the possibility of longer distance links, I have used a slow speed serial data (2400bps) "Manchester" encoded protocol.

This may make it possible to link stars using short range RF data modules (Although I have not tested it because I don't have any!)
When using the serial link, the option to turn on/off the star's leds at preset times is controlled by the master star. (no need to configure it on any other Stars)

Files/Firmware
You will need a PIC programmer compatible with the PIC18F2620 microcontroller.

If you don't have one - there are various articles on the web for constructing a simple serial port "JDM" type programmer. Good Freeware programmer software is easily available - such as "IC-Prog" or "WinPic800".

I shall update the file version here as features are added/bugs fixed etc.

PCB Layout
The circuit is simple enough to construct on stripboard, Or use the single sided pcb layout design provided.
The microcontroller should be fitted in a socket. Connections to the pcb can be made either directly or use rows of connector pins. Power can be provided by a 9V DC wall-wart adapter rated at 300mA or better.

Star construction
Drawing a five pointed star accurately can be time consuming - so I have made some templates to print-out and transfer to plastic sheet.

Making the star and wiring-up all the LEDs does take the most time, you need to be patient, it is very easy to make mistakes when doing the wiring.






Accurate LC Meter Capacitance Inductance Meter with 16F628 and LCD
Volt Ampere Meter with 16F876 Microcontroller and LCD display
 
Accurate LC Meter

Build your own Accurate LC Meter (Capacitance Inductance Meter) and start making your own coils and inductors. This LC Meter allows to measure incredibly small inductances making it perfect tool for making all types of RF coils and inductors. LC Meter can measure inductances starting from 10nH - 1000nH, 1uH - 1000uH, 1mH - 100mH and capacitances from 0.1pF up to 900nF. The circuit includes an auto ranging as well as reset switch and produces very accurate and stable readings.
PIC Volt Ampere Meter

Volt Ampere Meter measures voltage of 0-70V or 0-500V with 100mV resolution and current consumption 0-10A or more with 10mA resolution. The meter is a perfect addition to any power supply, battery chargers and other electronic projects where voltage and current must be monitored. The meter uses PIC16F876A microcontroller with 16x2 backlighted LCD.

50MHz 60MHz Frequency Meter / Counter with 16F628 & LCD
1Hz - 2MHz XR2206 Function Generator
60MHz Frequency Meter / Counter

Frequency Meter / Counter measures frequency from 10Hz to 60MHz with 10Hz resolution. It is a very useful bench test equipment for testing and finding out the frequency of various devices with unknown frequency such as oscillators, radio receivers, transmitters, function generators, crystals, etc.
1Hz - 2MHz XR2206 Function Generator

1Hz - 2MHz XR2206 Function Generator produces high quality sine, square and triangle waveforms of high-stability and accuracy. The output waveforms can be both amplitude and frequency modulated. Output of 1Hz - 2MHz XR2206 Function Generator can be connected directly to 60MHz Counter for setting precise frequency output.

BA1404 HI-FI Stereo FM Transmitter
USB IO Board PIC18F2455 / PIC18F2550
BA1404 HI-FI Stereo FM Transmitter

Be "On Air" with your own radio station! BA1404 HI-FI Stereo FM Transmitter broadcasts high quality stereo signal in 88MHz - 108MHz FM band. It can be connected to any type of stereo audio source such as iPod, Computer, Laptop, CD Player, Walkman, Television, Satellite Receiver, Tape Deck or other stereo system to transmit stereo sound with excellent clarity throughout your home, office, yard or camp ground.
USB IO Board

USB IO Board is a tiny spectacular little development board / parallel port replacement featuring PIC18F2455/PIC18F2550 microcontroller. USB IO Board is compatible with Windows / Mac OSX / Linux computers. When attached to Windows IO board will show up as RS232 COM port. You can control 16 individual microcontroller I/O pins by sending simple serial commands. USB IO Board is self-powered by USB port and can provide up to 500mA for electronic projects. USB IO Board is breadboard compatible.

ESR Meter / Transistor Tester Kit
Audiophile Headphone Amplifier Kit
 
ESR Meter / Capacitance / Inductance / Transistor Tester Kit

ESR Meter kit is an amazing multimeter that measures ESR values, capacitance (100pF - 20,000uF), inductance, resistance (0.1 Ohm - 20 MOhm), tests many different types of transistors such as NPN, PNP, FETs, MOSFETs, Thyristors, SCRs, Triacs and many types of diodes. It also analyzes transistor's characteristics such as voltage and gain. It is an irreplaceable tool for troubleshooting and repairing electronic equipment by determining performance and health of electrolytic capacitors. Unlike other ESR Meters that only measure ESR value this one measures capacitor's ESR value as well as its capacitance all at the same time.
Audiophile Headphone Amplifier Kit

Audiophile headphone amplifier kit includes high quality audio grade components such as Burr Brown OPA2134 opamp, ALPS volume control potentiometer, Ti TLE2426 rail splitter, Ultra-Low ESR 220uF/25V Panasonic FM filtering capacitors, High quality WIMA input and decoupling capacitors and Vishay Dale resistors. 8-DIP machined IC socket allows to swap OPA2134 with many other dual opamp chips such as OPA2132, OPA2227, OPA2228, dual OPA132, OPA627, etc. Headphone amplifier is small enough to fit in Altoids tin box, and thanks to low power consumption may be supplied from a single 9V battery.
 

Arduino Prototype Kit
RF Remote Control 433MHz Four Channel
 
Arduino Prototype Kit

Arduino Prototype is a spectacular development board fully compatible with Arduino Pro. It's breadboard compatible so it can be plugged into a breadboard for quick prototyping, and it has VCC & GND power pins available on both sides of PCB. It's small, power efficient, yet customizable through onboard 2 x 7 perfboard that can be used for connecting various sensors and connectors. Arduino Prototype uses all standard through-hole components for easy construction, two of which are hidden underneath IC socket. Board features 28-PIN DIP IC socket, user replaceable ATmega328 microcontroller flashed with Arduino bootloader, 16MHz crystal resonator and a reset switch. It has 14 digital input/output pins (0-13) of which 6 can be used as PWM outputs and 6 analog inputs (A0-A5). Arduino sketches are uploaded through any USB-Serial adapter connected to 6-PIN ICSP female header. Board is supplied by 2-5V voltage and may be powered by a battery such as Lithium Ion cell, two AA cells, external power supply or USB power adapter.
200m 4-Channel 433MHz Wireless RF Remote Control

Having the ability to control various appliances inside or outside of your house wirelessly is a huge convenience, and can make your life much easier and fun. RF remote control provides long range of up to 200m / 650ft and can find many uses for controlling different devices, and it works even through the walls. You can control lights, fans, AC system, computer, printer, amplifier, robots, garage door, security systems, motor-driven curtains, motorized window blinds, door locks, sprinklers, motorized projection screens and anything else you can think of.
 

Electronics-DIY.com © 2002-2024. All Rights Reserved.