Marker Lamp 2015.08

// Arc welder routine for an Arduino board

// Flashes the on-board LED attached to digital pin 13

// in a random pattern similar to an arc welder

// To use a different pin change the pinMode and digitalWrite

// lines to the pin you wish to use

// Programmed by Rick Jones and released for public use

// by the model railroading community

// Adding random wait after welding a random number of cycles

// by Gert Muller

// this function tuns only at power up

void setup() {

pinMode( 13, OUTPUT ); // set digital pin 13 as an output,

// the on-board LED is connected to it

} // setup

// this function runs over and over, until power down

void loop() {

int j = random( 0, 100 ); // welding for a random number of cycles

// so i is now a random number between

// -1 and 100, see

// https://www.arduino.cc/en/reference/random

while ( j > 0 ) {

digitalWrite( 13, HIGH ); // LED is on...

delay( random( 0, 100 ) ); // ...for a random number of

// milliseconds between -1 and 100

digitalWrite( 13, LOW ); // LED is then turned off...

delay( random( 0, 100 ) ); // ...for another randomly chosen

// interval between -1 and 100 milliseconds

j--; // reduce j by one, same as j = j - 1;

} // while j

j = random( 0, 8000 ); // now pick a new random number of milliseconds

delay( j ); // and stay off, you need to move to another spot to weld

} // loop