как сделать ленту синий розовый и желтый
- Войдите на сайт для отправки комментариев
Пнд, 15/07/2019 - 23:02
пытался сделать ну чтота не то если кто может подскажите
//обзавём каналы 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); //чтоб в глазах не рябило подождём } }
Условие цикла никогда не выполнится, так как новые значения присваются до цикла в основном лупе. Нужно или логику переработать или отказаться от while цикла. Или в нем их присваивать, но это все чем то дурным попахивает... В чем основная суть задачи то?
просто сделать при включения наченала работать лайтбокс переходил сини>розовы>желтый и так цикл круговорот
Уверены, что из синего можно просто попасть в желтый без промежуточных цветов?
А зачем тогда рандом? И что за лента вообще? Для плавного перехода не нужен рандом и цикл с непонятными условиями. Вы пытаетесь угадать рандомные числа трёх переменных в одном проходе - это маловероятно, почти невозможно. И зачем вы так делаете? Переработайте логику, учитывая что сама функция loop - это и есть бесконечный цикл.
друг а можеш написать правельно
друг а можеш написать правельно
можно - но это в разделе "Ищу исполнителя"
ваша задача простая - думаю рублей за 500 найдется....
как сделать ленту синий розовый и желтый
Боюсь, что с таким программированием - никак.
Но, способ есть!
жёлтый = синий + зелёный
розовый = красный +белый
белый = красный + синий +зеленый
синий = синий