Режимы свечения RGB ленты на Arduino+ mosfet
- Войдите на сайт для отправки комментариев
Втр, 10/12/2019 - 10:11
Привет!
Я Новичок и прошу Вашей помощи.
нужно накидать пару эффектов свечения для rgb ленты (пульсация, плавное изменение яркости, и еще парочку). Почитал про циклы for и while в общих чертах понятно, НО мне нужно что бы цикл выполнялся постоянно, а во всех примерах эти два цикла находятся внутри loop. Мне такой Вариант не подходит(
Плата nodemcu + модули mosfet. Думаю для знающих людей данный код не составит сложности, Надеюсь на Вашу Помощь)))
BLYNK_WRITE(V10) { switch (param.asInt()) { case 1: { // Пункт 1 analogWrite (pinR, LOW); analogWrite (pinG, LOW); analogWrite (pinR, random(100, 1023)); analogWrite (pinG, random(100, 1023)); Serial.println("Выбран кейс 1"); break; } case 2: { // Пункт 2 analogWrite (pinR, LOW); analogWrite (pinG, LOW); for (int asd = 0; asd < 1023; asd += 102) { Blynk.virtualWrite(V4, asd); analogWrite(pinR, asd); Serial.println(asd); Serial.println("Выбран кейс 2"); delay(10); }; break; } case 3: { // Пункт 3 analogWrite (pinR, LOW); analogWrite (pinG, LOW); Serial.println("Выбран кейс 3"); break; } } } В каждом Кейсе хотелось бы какой то эффект свечения, и при выборе другого кейса эффект менялся. Нужно что бы при выборе кейса эффект бесконечно повторялся (плавно разгорается после плавно Гаснет, так бесконечно).
А где Вам надо, чтобы они находились?
Чем именно не подходит? Что не устраивает?
НО мне нужно что бы цикл выполнялся постоянно, а во всех примерах эти два цикла находятся внутри loop*. Мне такой Вариант не подходит
* - (примечание: значит выполняются постоянно)
Ничего не понял. Противоречие самого себя в одной строке.
ну не читал ТС про Loop
http://arduino.ru/Reference/Loop
Loop - петля, виток
Ну, мало-ли. ТС не нравится loop() по религиозным или лингвистическим соображениям. Я могу предложить main() и сменить среду программирования.
Обрати внимание что внутри цикла loop кроме Blynk.run ничего нету.
Я пытаюсь сделать что бы например цикл пульсации светодиодной Ленты непрерывно выполнялся в case 1: или case 2: или case 3:.
То есть каждый эффект свечения был внутри КЕЙСА
Мне не устраивает Вариант когда Код который ниже, будет Заключен в LOOP
Давайте пока отойдем от блинка. Вы можете написать код эффектов чтобы он выполнялся в loop, а выбор осуществлялся пока статически (при компиляции) . Примерно так:
Компилируете, добиваетесь чтобы эффект 1 работал как вам надо. Потом ставите byte effect = 2 и добиваетесь чтобы работал эффект 2
Когда все 3 эффекта будут работать сделайте чтобы значение для effect получалось через Blynk. А код эффектов так и оставте в лупе
Понял, СПАСИБО. попробую
Дружище Спасибо!!!
Все Получилось.
Вместо
Можно просто
effect = param.asInt()
ДА все Огонь!)
Может еще подскажешь как можно сделать задержку не используя deley ()б чет я не понял как использовать millis()
ДА все Огонь!)
Может еще подскажешь как можно сделать задержку не используя deley ()б чет я не понял как использовать millis()
От конкретного варианта зависит и от цели замены.