C, See
Pushing the boat out to C, another lanuage which I've somehow avoided becoming familiar with, I decided to re-write my Ruby LED Binary Clock entirely in C. The code isn't brilliant, with a glut of consecutive "if" statements to determine which LEDs should be turned on. But it works!
Here's a snippet outlining a new idea I had whilst working in C, phasing the "off" phase of the LEDs to give a cool, pulsing up/down effect.
slept = 0; for(x = 13;x >= 0;x--) { int status; int led = leds[ x ]; status = digitalRead( led ); if( status == 1 ) { slept += 20000; digitalWrite (led, LOW); usleep( 20000 ); } } usleep( 300000 - slept );
There are 14 LEDs being turned on with a 50ms delay between each one for a maximum time of 700ms (if all LEDs were to be lit) to turn them on. Thus I had 300ms left to turn them all off, so I used a delay of 20ms.
« Back to index Posted on 2012-06-20 by Philip Howard