Improve Charlieplexing Performance With Interrupts

single_chip_led_matrix

[Dmitry] was shopping for LEDs and accidentally pulled the trigger on the wrong type. Since he didn’t want to be wasteful, he figured he should at least take the time to build something with them.

A LED matrix display was the obvious project choice, but he only had a PIC16F688 at his disposal. Since the micro controller only has 11 output pins, charlieplexing was the only way he would be able to light the entire matrix.

While testing his LED array, he found charlieplexing to be a bit disappointing. The fact that the LEDs can get relatively dim, depending on the number of units lit at any particular time struck him as annoying.

In order to improve the performance of his charlieplexed array, he first decided to scan through all of the LEDs rather than just those that needed to be lit. This ensured that all of his LEDs had the same 1/110 duty cycle and were always as bright as possible. He also chose to use interrupts when lighting the LEDs. This meant that his code does not need to take into consideration any specific timing requirements to maintain persistence of vision. He also double-buffers the display to help reduce flicker.

He says that he ran into certain constraints with the PIC chip he chose, so he used a handful of lookup tables to ensure smooth operation of his display. He was quite satisfied with the results, and we think that the interrupt-driven display looks like it works just fine from where we’re standing as well.

Be sure to stick around for a quick video explaining and demonstrating his single-chip LED matrix.

Continue reading “Improve Charlieplexing Performance With Interrupts”

DIY Sunrise Alarm Clock

sunrise_alarm_clock

As a project for an embedded systems class, [Alan] recently built himself a sunrise-simulating alarm clock. You are probably familiar with these sorts of timepieces – they gradually light up the room to awaken the sleeping individual rather than jarring them awake with a buzzer or the radio. Since many commercial units with this feature are sold for $70 and up, his goal was to replicate the functionality at a fraction of the cost, using only open source components.

An Arm Cortex M3 processor runs the show, displaying the time via a pair of 8×8 LED matrix panels on the front of the device. The clock is programmed to gently wake up its user by simulating a sunrise over a period of 5, 15, 30, 45, or 60 minutes. If the user has not woken up before the sunrise simulation is complete, the clock resorts to a traditional piezo alarm to rouse the heavy sleeper.

The project is nicely done, and after looking at his bill of materials it seems to be far cheaper than many sunrise alarm clocks you will find in stores.

A Weighted Companion Cube Worth Saving From The Incinerator

companion_cube

It’s honestly sad that Valve has not released any official Portal-related items to the masses, as a market for them clearly exists. As the saying goes, “necessity is the mother of invention”, and [Jamie] needed a Weighted Companion Cube in the worst way.

Actually he constructed his Companion Cube in order to test out some modifications and upgrades he performed on his homebrew CNC Mill. Judging by how the cube turned out, and the fact that he was able to keep tolerances within .005”, we would say that his mill is working just fine.

The cube was designed in Solidworks, and passed through the BobCAD plugin to generate the GCode for the mill. The base of the cube was machined out of a 3” solid block of aluminum, hollowed out on one side to give him access to the cube’s innards. He milled out heart shaped openings on each side, covering them with frosted Lexan.

He added a BlinkM to the mix, mounting it on the cover plate he milled for the open side of the cube. Once lit it cycles through several colors, including the pinkish tone anyone who has played Portal is quite familiar with.

We would say that it’s a great job, but it doesn’t do his work justice – it’s absolutely stunning. We’re not just saying that because we want one, though we do want one…badly.

Large Remote-controlled Game Of Life Display

game_of_life

Sometimes it’s just plain fun to over-engineer. [Stephanie] gets a warm fuzzy feeling when she successfully adds way more electronics components to a project than she really needs – just because she can. We can’t really argue with her if that is the intended goal, nor can we find fault with the sweet Game of Life display she put together.

She started off with six Game of Life kits from Adafruit, but she quickly caught the LED bug and her collection grew until she had 20 kits (that’s 320 LEDs for those of you keeping count). After piecing them all together, they were mounted in a wooden frame and placed behind a dark piece of acrylic. It looked great and worked just fine, but it wasn’t overdone enough for her tastes.

In the end, she added a small Arduino and Xbee module to the Game of Life display, which enables it to be controlled by her network-enabled thermostat we featured a few weeks back. The thermostat was fitted with an Xbee unit as well, which allows it to turn the Game of Life on and off at whatever times [Stephanie] specifies.

We’ll take two please.

[via Adafruit Blog]

Diagnosing Diseases Like MacGyver

pancratitis_test

If you ever watched MacGyver as a kid, you know that given any number of random objects, he could craft the exact tool he would need to get out of a sticky situation. If he ever made his way into the medical research field, you could be sure that this test for Acute Pancreatitis would be among his list of accomplishments.

Designed by University of Texas grad student [Brian Zaccheo], the Acute Pancreatitis test seen in the image above looks as unassuming as it is effective. Crafted out of little more than foil, jello, and milk, the test takes under an hour to diagnose patients while costing less than a dollar.

The test works by checking the patient’s blood for trypsin, an enzyme present in high concentrations if they are suffering from pancreatitis. Once a few drops of the patient’s blood is placed on the gelatin layer of the test, it is left to sit for a bit, after which sodium hydroxide is added. If elevated trypsin levels are present, it will have eaten through the gelatin and milk protein, creating a pathway for the sodium hydroxide to reach the foil layer. If the foil is dissolved within an hour, a circuit is formed and a small LED lights up, indicating that the patient has acute pancreatitis.

The test really is ingenious when you think about it, and will be a huge help to doctors practicing in developing countries, under less than ideal working conditions.

[via PopSci via Gizmodo]

A Beginner’s Guide To LED Matrices

led_tutorial

[Rajendra Bhatt] wrote in to share a tutorial he put together demonstrating the basics of using LED dot matrix displays. While this subject might be old hat to many out there, his helpful walkthroughs are geared more towards beginners who are exploring various electronics concepts for the first time.

He explains the theory behind LED displays using a PIC-driven 5×7 matrix as an example. He discusses persistence of vision and how tricking the human eye can save you quite a bit of time and a whole lot of pins. Multiplexing is broken down into its most basic steps, which [Rajendra] illustrates by showing how a letter would be drawn on the LED display one column at a time. The use of a ULN2803A Darlington Array is also discussed, and he details why it is used when pulling the five columns of LEDs to ground.

The only portion of the tutorial we thought could be expanded upon was the programming section. While he does show how each letter of the alphabet can be displayed via a series of five hex values, he does not cover the “why” part of the process. Obviously while anyone familiar with binary and hex can figure it out in pretty short order, we think that it would be a great place to pause and expand the readers’ knowledge even more.

Overall it’s a useful tutorial, and most beginners would likely find it quite helpful.

BlinkM Smart Garage Door Opener

garage_indicator

Calling Canada home, Hackaday reader [TheRafMan] has seen his share of bitterly cold winters. He also knows all too well how hard it is to get his cars started in the morning if somebody happens to leave the garage open. After the door was left open overnight for the second time this last winter, he decided that it was time to add an indicator inside the house that would alert him when the garage had not been closed .

Inspired by our BlinkM Arduino coverage a short while back, his circuit incorporates a BlinkM as well as several other components he already had on hand. He disassembled the garage door switch situated in the house and fit the BlinkM into the switch box once he had finished programming it. A set of wires was run to the BlinkM, connecting it to both a power supply located in the garage as well as the magnetic switch he mounted on the door.

The end result is a simple and elegant indicator that leaves plenty of room for expansion. In the near future, he plans on adding an additional indicator strobe to let him know when the mail has arrived, not unlike this system we covered a few months ago.

Stick around to see a quick video demonstration of his garage door indicator in action.

Continue reading “BlinkM Smart Garage Door Opener”