LEDuino is a series of "smart" four-digit seven segment LED display boards, using Arduino-compatible ATmega microcontrollers with lots of available user I/O, for just about any application you can imagine! The standard version comes with a 16MHz ATmega328P MCU and Arduino Duemilanove bootloader, for hassle-free use in the Arduino environment.
An example application would be a simple tachometer that uses a Hall-effect sensor to send pulses to the display, and directly read-out RPM. The applications can be as simple, or complex, as you desire! (A tachometer with; peak, average, and power-down memory perhaps? Voltmeter, marble counter, bean counter? ;) )
For a completely different application, check out the project page where an LEDuino controls a Robosapien toy robot! See: http://cal-eng.com/?page_id=681
These boards are most likely going to be used for a fixed purpose once the application code is finished, so due to unnecessary cost and complexity, we didn't include a USB-UART serial transceiver on the board. You'll need to have a separate serial programming board such as our FTDIbridge or any other commonly available USB-serial converter, or you can use the standard AVR-ISP connection with an AVR programmer, like our USBasp board. (Arduino fully supports programming by ISP)
A display will need to be either socketed, or soldered in place, depending on personal preference. Machine-pin female sockets are available in the "Wires, Headers & Plugs" section.
For those with a keen eye, you've noticed that the example high-intensity 4-digit display looks a lot like two normal displays, with one inverted! That's right, the 4-digit display is just two standard 2-digit 0.56" displays!
As with most of our boards, we don't install or include headers or plugs, since the choice will vary greatly depending on the application and personal preferences. They are available (at a very low cost!) in the "Wires, Headers & Plugs" category.
Here's a simple Arduino sketch that displays 1/100th of a second increments (as seen in the video). The program has two distinct functions; the first is to continuously update display using a multiplexing technique with a Timer1 overflow interrupt, the second is to simply display the "millis()" value divided by 10 on the display (the last line of the "loop()"). See: LEDuino_count_328.pde
To adapt this code to your application, simply leave the first "if" statement in the main "loop()" function, and add whatever code you need to manipulate the value of the "ledDisplayValue" variable after the if statement (removing "ledDisplayValue = millis()/10;"). As you change the value of ledDisplayValue, the background code will automatically update the display. Currently, the code assumes ledDisplayValue is an integer between 0 and 9999, but decimals could be done fairly easily.
Here's a video showing the code sample above. The right-hand digit appears to act oddly due to the 1/100 second counting rate and the much slower video capture rate.
Here's a video showing a simple tachometer application. The sensor is a high-speed Hall-effect breakout board with a tiny rare-earth magnet mounted on the spindle pulley.
The corresponding Arduino sketch is here: LEDuino_tachometer.pde