Go Down

Topic: Помогите с написанием кода!!! (Read 1 time) previous topic - next topic

neznayka_V_shlape

Код, при котором RGB светодиод по нажатию кнопки меняет цвета(всего 7) уже написан и отлично работает(приложу его ниже). Но очень хотелось бы пойти дальше и изменить код так, чтобы каждый цвет еще и мигал.
Подскажите пож, как это сделать?
Сам уже пробовал, но не получается : '(

вот код:

Code: [Select]

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);
}

Go Up