ARDUINO Оживляем костюм

akatim

✩✩✩✩✩✩✩
23 Окт 2020
2
2
отредактируйте пост согласно правилам раздела в течении 12 час или БАН
Добрый день.
Задача изменить скетч от Гайвера.
Кто готов взяться за 1 000р., добро пожаловать в личку.

Сделал сыну на утренник костюм по мотивам "Ну Погоди".
Оживил с помощью скетча от Гайвера с кучей эффектов.
Вышло красиво конечно.
Но всегда хочется чего-то большего.
А именно хочется разные эффекты ставить на разные каналы.
На текущий момент у меня все светодиоды подключены параллельно.
Задача доработать скетч от Алекса.
Каналов нужно 6 на светодиоды
4 на сервоприводы.
В каждом канале для светодиодов должна присутствовать возможность указать колличество светодиодов.
А так же указать какие эффекты будут работать именно на этом канале (рэндом чендж)

Добавить 4 канала на сервоприводы. Каждый из которых тоже должен иметь свои собственные настройки.
photo_2021-12-16_13-47-00.jpg
 
  • Красота! +2
Реакции: Lumenjer

bort707

★★★★★★✩
21 Сен 2020
3,025
901
управляющая плата какая? Сколько суммарно всего светодиодов ?

1000р за такую задачу несерьезно, назовите нормальную сумму
 
  • Лойс +1
Реакции: andyparker и Normalek

Normalek

★✩✩✩✩✩✩
6 Авг 2021
140
39
@bort707, ну насчет сумы можно поспорить, ибо можно просто эффекты разделить на определенное количество светодиодов на лете и это не сложно. например
C++:
void random_burst() {                         //-m4-RANDOM INDEX/COLOR
  idex = random(0, LED_COUNT);
  ihue = random(0, 255);
  leds[idex] = CHSV(ihue, thissat, 255);
  LEDS.show();
  delay(thisdelay);
}
//будет
#define LED_COUNT_1 20
#define LED_COUNT_2 20
#define LED_COUNT_3 20
#define LED_COUNT_4 20
struct CRGB leds[LED_COUNT_1+LED_COUNT_2+LED_COUNT_3+LED_COUNT_4];
void random_burst(byte canal  = 0) {                         //-m4-RANDOM INDEX/COLOR
  switch(canal) {
    case 0: {
          idex = random(0, LED_COUNT_1-1);
          break;
    }
    case 1: {
          idex = random(LED_COUNT_1, LED_COUNT_2+LED_COUNT_1);
          break;
    }
    case 2: {
          idex = random(LED_COUNT_2+LED_COUNT_1, LED_COUNT_3+LED_COUNT_2+LED_COUNT_1);
          break;
    }
    case 3: {
          idex = random(LED_COUNT_3+LED_COUNT_2+LED_COUNT_1, LED_COUNT_4+LED_COUNT_3+LED_COUNT_2+LED_COUNT_1);
          break;
    }
  }
  ihue = random(0, 255);
  leds[idex] = CHSV(ihue, thissat, 255);
  LEDS.show();
  delay(thisdelay);
}
а серва и так и так можно не одну подключить
 
Изменено:
  • Лойс +1
Реакции: a.v.kholopov