Yes flickering is just like blinking. This sketch was for a small Christmas tree, change the on / off times to make it look like it is flickering.
/* Random blinking lights
for use on a christmas tree
By Mike Cook
*/
#define numberOfLights 16
byte pins[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18};
byte pinState[numberOfLights];
long int changeTime[numberOfLights];
int flashRate[numberOfLights];
long flashChange; // how often to change the flashing patterns
void setup() {
for(int i = 0; i< numberOfLights; i++) {
pinMode(pins[i], OUTPUT);
changeTime[i] = millis() + random(1000, 200);
pinState[i] = LOW;
}
setFlashTime();
}
void loop() {
for(int i = 0; i < numberOfLights; i++) {
if(changeTime[i] <= millis()) {
pinState[i] = ~pinState[i];
digitalWrite(pins[i], pinState[i]);
changeTime[i] = millis() + flashRate[i];
}
}
if(flashChange <= millis()) setFlashTime();
}
void setFlashTime(){
for(int i=0; i<numberOfLights; i++){
flashRate[i] = random(200, 1500);
}
flashChange = millis() + 100000; // next time to change pattern
}