Expanding Attiny microcontroller with shift register

Attiny microcontrollers have small footprint leading to smaller number of I/Os available. These microcontrollers are meant to control simple things like reading sensors, driving relays and so on. If you come to the point where you need more I/O pins then there are two options – use bigger microcontroller or expand number of pins with port expanders or with simple shift registers. For smaller microcontrollers port expanders may be too costly solution, because of limited memory it may require to much of driving like I2C or SPI expanders. In this case better solution is to use shift registers that can be driven pretty easily with not much overhead code and you can get as many pins as you want by connecting them in cascades. silentbogo wrote a simple instructable on how to interface shift register to Attiny microcontroller (same apply to other micros like PIC12). Register of choice here is standard 74HC595 which is cheap and available everywhere. Depending on what level control you want, there can be various control scenarios. You may want to have master reset(MR) or output… Continue reading

Eye catching LED ring display

There is always a dilemma on how to build an indicator for your next project. There are many options like LCDs, LEDs, VFD. Sometimes one or another is enough, but eventually you want something eye catching and obvious that could be seen from distance. For instance for water meter a dial based display probably is better than LCD. IT can be seen from distance and is informative to tell how mutch water is in tank. John simply built a LED ring display out of 16 single color LEDs. He needed to use shift register, but he thought that popular 74xx595 chip is very current limited. Total current draw shouldn’t exceed 50mA which is like 2 more powerful LEDs at a time. So he looked for more proper shift register and came op with better one – TLC59282 16-bit shift register which is capable of sinking 30mA on each pin. Neat feature of this chip is that it comes with current setting pin, meaning that you only need single resistor for setting current for all LEDs. This saves space on the… Continue reading

Interfacing shift register with AVR

74HC595 shift register

The shift register is one of the vital things to learn while designing an embedded system. Using shift registers, one can increase the number of input and output pins available in any microcontroller. There are situations where you want to interface many peripherals together and keep the low system cost and reliable. This is where the shift register come into the picture. For example, in a joystick used to play games, instead of running all the pins from the console to the joystick buttons, a shift register reduces the number of pins almost by half.  This increases the reliability of the joystick and has helped in saving a lot of money in the long run. Another advantage of using shift register is that only three pins mainly control, latch and serial input/output can drive virtually any number of outputs or take inputs from a large number of the device. You might have seen different led cubes available in sizes of 4×4 or 6×6. The LED’s in those cubes are all driven by using shift registers. Continue reading

The Colorful Ceiling Fan LED Display – A Huge Sparkling Star in the Dark!

Everyone must be very familiar with this nursery rhyme, no matter what ages you are… “Twinkle, twinkle little star, how I wonder what you are! Up above the world so high, like a diamond in the sky!”… Well, even though you cannot reach the stars in the sky, but you can always built something similar with it, such as this Colorful Ceiling Fan LED Display, which is in a star shape! If you look on the above picture, you’ll see a huge red color star in the middle of it. Actually, it’s the effect of POV (Persistence of Vision). Yep, with the help of POV technology, you can easily create a ceiling fan led display! Before you hop into project, you have to make sure that you’re using performing the following task thoroughly, which as: The right types of motors to drive the display, The appropriate use of right microcontroller, Choose the Atmel ATMega328 for the extra memory, while the 74HC595 shift registers to permanently drive the LEDs! Hope you will try this out and feel free to give some… Continue reading