I need a little help trying to make a timer a little fuzzy. I want to use a fixed interval of timing like this:

```
____|_______|____|_____|_________|_____|___|_______|
```

where the pipe is the event occurrence and the underscore is the delay in an array like this:

```
int myIntervals = { 1000, 2000, 750, 850, 1200, 850, 500, 1000};
```

but the values are arbitrary.

I would like to create a slight randomness to the event, but not allow the randomness to affect the overall timing:

```
___*|*_____*|*__*|*___*|*_______*|*___*|*_*|*_____*|
```

where the randomness is described as the time contained by asterisks.

So the event always happens at the interval +- a random delay:

```
int fuzzyPeriod = random(-75, 75);
```

I've experimented around this but to no avail... I'm finding myself in a recursion when the fuzzy period is negative:

```
{
if(millis() - lastMillis >= nextInterval)
{
//do something
if(index >= numIntervals) // reset the counter for the interval array
{
index = 0;
}
lastMillis += myInterval[index]; allways add a fixed, predefined segment of time
index++;
fuzzyPeriod = random(-75, 75); // the constant is arbitrary but assume alway less than myInterval when multiplied by 2
nextInterval = myInterval[index] + fuzzyPeriod;
}
}
```

I hope I've done a good job explaining... I cannot for the life of me get this done and I know I'm to the point where I need a little help!