Помогите с написанием кода (RGB-светодиод)

Пользуясь книгой написал код (arduino UNO), при котором RGB-светодиод по нажатию кнопки меняет цвета (всего 7 цветов).
Но очень хотелось бы изменить его так, чтобы каждый цвет еще и мигал. Подскажите пож , как это сделать, сам уже пробовал, но не получилось!

Вот код:

const int BUTTON=2;
const int GLED=10;
const int RLED=11;
const int BLED=9;


boolean lastButton = LOW;
boolean currentButton = LOW;
int ledMode=0;

void setup() 
{
  
  pinMode (BLED, OUTPUT);
  pinMode (GLED, OUTPUT);
  pinMode (RLED, OUTPUT);
  pinMode (BUTTON, INPUT);

}


boolean debounce(boolean last)
{
  boolean  current = digitalRead(BUTTON);
if (last != current)
{
  delay(5);
  current = digitalRead (BUTTON);
  return current;
}
}

void setMode( int mode)
{
  // КРАСНЫЙ
  if (mode ==1)
  {
 digitalWrite(RLED, HIGH);     
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
  }
  
 
// зеленый
else if( mode==2)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED,HIGH );
digitalWrite(BLED, LOW);
}

// синий
else if( mode==3)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, HIGH);
}
//ПУРПУРНЫЙ КР+С
else if( mode==4)
{
digitalWrite(RLED, 127);
digitalWrite(GLED, 0);
digitalWrite(BLED, 127);
}
//бирюзовый с+зел
else if( mode==5)
{
digitalWrite(RLED, 0);
digitalWrite(GLED, 200);
digitalWrite(BLED, 90);
}
//ОРАНЖЕВЫЙ ЗЕЛ+КР
else if( mode==6)
{
digitalWrite(RLED, 224);
digitalWrite(GLED, 1);
digitalWrite(BLED, 0);
}
// БЕЛЫЙ  ЗЕЛ+КР+С
else if( mode==7)
{
digitalWrite(RLED, 127);
digitalWrite(GLED, 127);
digitalWrite(BLED, 127);
}

 else 
 {
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
 }
}
void loop() 
{
currentButton = debounce(lastButton);
if (lastButton == LOW &&  currentButton== HIGH) 
{
ledMode++;
}
lastButton=currentButton;
if (ledMode==8)
ledMode=0;
setMode(ledMode);
}

Вам надо что то типа так

void loop() 
{

setMode(yourcolor);
delay(100) 
setMode(off);
delay(100);

}