I got a request, to design and build an electronic metronome. You can find several on the market, but the problem it is ether producing voice or the classical mechanical metronome. The requirement here was a visual effect. To be precise four LEDs for 4/4 beat. It is required for drumming where you have no chance to hear the clicking (or maybe just through headphones).
The defacto ‘hello world’ for microcontrollers is blink a LED at a steady rate. This is exactly what I’m going to do today. I made a small 5×5 development board, soldered it up and started programming. In this first example we not gonna use fancy IRQs or timers to blink at a steady rate, but we insert NOPsas delay. This would give an idea of the RAW performance of the chip. The used code is simple; set up the maximum available clock available and then toggle RA0 for ever.
When debugging algorithms in an autonomous vehicle a light that can show algorithm state in real time was proven to be effective for easier debugging and additional insight to what is going on in the code.
Because all existing signal light were either to bulky or too expensive we decided to build our own. It was actually quite simple with few key elements:
In my post Driving a SparkFun 48-Segment RGB LED Bar Graph, I stated that the hardware built there could be used to drive the LED bar graph with any combination of hardware and software that could drive one of the common 32×32 or 32×16 RGB LED matrices. Today I’m back to prove that point. In this post, I ditch the FPGA and drive the 48-segment RGB LED bar graph using a Teensy 3.2 board and the Pixelmatix SmartMatrix 3 library.
Another white paper from Lumileds about LED thermal resistance. Link here (PDF)
Thermal performance is the most critical factor of a well-designed LED lighting system. A lighting system with proper thermal design has higher efficacy, meaning more light can be extracted using less energy, and better long term reliability.
Effective front facing camera flash discussed in this white paper from Lumileds. Link here (PDF)
Smartphones are ubiquitous in everybody’s daily lives, a trend that shows no sign of slowing. A key component of the smartphone is the camera, which has gained market share over Digital Still Cameras due to its convenience.
As the demand for smartphone cameras increases, sensor makers are continuously working to improve the resolution and while 20MPix capability gained in importance for the main camera of the smartphone, the resolution race has begun for the front camera. With the rise in popularity of “selfies” and the 5 to 8 Mpix resolution for the front camera, it is not surprising that camera flash is starting to be more readily implemented for front cameras also. However, to make a successful front flash that captures an ideal “selfie,” there are certain illuminance requirements and shorter flash pulses that are recommended.
While building my zombie containment unit, I decided I wanted some LED displays or bar graphs to complement the containment status video running on the smaller secondary video monitor. Some other containment units used LED air pressure gauges from eBay. I wanted to achieve a similar look, but I also wanted my gauge to be software controllable so I could change the number of segments lit in response to events in the playback of the two videos. I decided it was time to build my own LED bar graphs.
Around one and a half years ago I’ve designed and built various LED dimmers for both white and RGB LEDs. Then late last year someone approached me asking if I could make an RGB dimmer for him, too. But my designs were really tailored to their specific applications and built with home-made, i.e. milled PCBs which are time-consuming to make. So I decided to make a more universal version based on a proper, etched board which could be built in a small series and used for all kind of applications, both white and RGB. The result is this versatile, programmable 4-channel dimmer.
The design is based on my previous RGB dimmer but with a number of improvements.
Michael wrote an article on controlling a bunch of lamps individually with WS2811 drivers and Arduino:
I simply used the same technology as LED strips to allow communication between lamp modules. LED strips have RGB LEDs with an embedded driver chip which uses PWM (pulse width modulation) to control the duty cycle on the red, green, and blue LEDs. This combined LED/chip is called WS2812 or WS2812B. On older LED strips, the driver chip was not embedded into the LED itself, but was a separate chip called WS2811. These standalone driver chips are somewhat obsolete now which means they are cheap! I got 50 of them on eBay for $5.00. Since these modules use the same technology as LED strips, the same code can be used. Adafruit’s NeoPixel library is a very simple way to control LEDs, so we can control each lamp easily. The lamp is controlled by the “blue” pin on the WS2811 so that is the value to set.