нужно сделать ленту синий розовый и желтый
- Войдите на сайт для отправки комментариев
Ср, 17/07/2019 - 22:26
как сделать ленту синя переход на розовій и потом на жолтій закруглить цикл
//обзавём каналы
int RedPin = 9;
int GreenPin = 10;
int BluePin = 11;
//заведём переменные текущих значений каналов, и сразу их забьём рандомными значениями
int ValRed = random(0, 255);
int ValGreen = random(0, 255);
int ValBlue = random(0, 255);
void setup() {
pinMode(RedPin, OUTPUT); //настроим пины каналов на выход
pinMode(GreenPin, OUTPUT);
pinMode(BluePin, OUTPUT);
analogWrite(RedPin, ValRed); //и сразу запихает туда первую пачку значений
analogWrite(GreenPin, ValGreen);
analogWrite(BluePin, ValBlue);
}
void loop() {
int NewValRed = random(10, 255); //сгенерим новые значения
int NewValGreen = random(10, 255);
int NewValBlue = random(10, 255);
//будем крутить пока новые не сравняются с текущими
while ((ValRed != NewValRed)&(ValGreen != NewValGreen)&(ValBlue != NewValBlue)) {
//для красного канала
if (ValRed < NewValRed){ //если новое больше текущего
analogWrite(RedPin, ValRed++ ); //то текущий увеличиваем
};
if (ValRed > NewValRed) { // если меньше уменьшаем
analogWrite(RedPin, ValRed-- );
};
//для зелёного канала
if (ValGreen < NewValGreen){
analogWrite(GreenPin, ValGreen++ );
};
if (ValGreen > NewValGreen) {
analogWrite(GreenPin, ValGreen-- );
};
//для синего канала
if (ValBlue < NewValBlue){
analogWrite(BluePin, ValBlue++ );
};
if (ValBlue > NewValBlue) {
analogWrite(BluePin, ValBlue-- );
};
delay(10); //чтоб в глазах не рябило подождём
}
}
Пишите ydom@mail.ru . Напишу код, проверю на макете, так что Вы получите на 100% проверенный, полностью рабочий код. ydom@ mail.ru
Р е а л и з у е м о - maslachenko767@mail.ru , консультации, подбор компонентов бесплатно, гарантии имеются