ARDUINO RGB контроллер. Обсуждение проекта

kinac228

✩✩✩✩✩✩✩
15 Июн 2019
2
2
Приветствую, в прошивке я не нашел настройки подключения пина для обычной кнопки. Где найти?
 
  • Лойс +1
Реакции: платон

Flashman

✩✩✩✩✩✩✩
15 Июн 2019
1
2
Приветствую! Проект замечательный, которого так долго ждали владельцы RGB-лент. А что же делать, если хочется сделать подобное (в виде цветного освещения комнаты), но на адресной ленте и с ИК-пультом? Понимаю, возможно оффтоп, но конкретно такого решения не нашёл (возможно плохо искал). Благодарю за внимание!
 
  • Лойс +1
Реакции: An_ton и Serg597

alex5+95+69

✩✩✩✩✩✩✩
16 Июн 2019
2
1
for (byte i = 0; i < 10; i++) eeprom_write_byte(i, 0);

ошибка в этой строке подскажите пожалуйста
 
  • Лойс +1
Реакции: NikitaM

suxarik

★★★✩✩✩✩
15 Янв 2019
186
114
как сделать чтобы вместо энкодера можно было управлять 3-4 кнопками?
 

Ренат Абдулберович

✩✩✩✩✩✩✩
29 Июн 2019
2
0
Доброго времени суток. Было бы интересно для данного проекта применить сенсорную кнопку вместо аналоговой. Буду очень благодарен, если сможете добавить в скетч еще несколько строк по этому поводу. Или подскажите как это сделать самому. Спасибо.
 

Lime

✩✩✩✩✩✩✩
16 Июл 2019
1
1
Добрый день. Один RGB светодиод подключенный через токоограничительные резисторы напрямую к соответствующим выходам ардуино должен работать или нет ? У меня не работает ни при настройке прошивки на мосфеты ни при настройке на китайский усилитель. В одном случае светят все три кристалла, в другом ничего не светит. Частоту тоже пробовал менять. Без результата.
 
  • Лойс +1
Реакции: kinac228

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,003
406
Москва
wan-derer.ru
@Lime, если СД с общим катодом, подключенный анодами к выходам, катодом на землю, по идее должен работать
 

K-I-LL

✩✩✩✩✩✩✩
19 Июл 2019
5
7
Доброго времени суток!
Хочу сделать интересный проект, со светодиодами... как Вы делали в этом видео
Очень понравилась идея управления через блютус со смартфона, хочу кое что доработать в ней. Выложите пожалуйста исходники программы GyverRGB или в личку скиньте.
 

K-I-LL

✩✩✩✩✩✩✩
19 Июл 2019
5
7
Подскажите пожалуйста, как устранить дребезг контактов энкодера, если уже вся схема собрана и нет возможности аппаратно исправить через прерывание и.т.д...?
Есть хоть какой-то более менее способ программно это исправить?
Я понимаю что это уже не так будет работать как должно, но все-же.
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,003
406
Москва
wan-derer.ru
@K-I-LL, на модуле энкодера стоят конденсаторы для подавления дребезга. У тебя модуль или просто энкодер?
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,003
406
Москва
wan-derer.ru
@K-I-LL, у меня сейчас нет под рукой модуля чтобы посмотреть как там включены конденсаторы. Поищи схему модуля или спроси в группе Гайвера.
Или попробуй что-то типа 0.1 мкФ между линиями A и B и GND
 

K-I-LL

✩✩✩✩✩✩✩
19 Июл 2019
5
7
У меня нет возможности вносить в схему какие либо изменения, только программно!
 

rternavskyi

✩✩✩✩✩✩✩
24 Ноя 2018
1
0
Кто-то пробовал собирать контроллер на L298N. Какие у вас могут быть советы?
 

StanislavAS

✩✩✩✩✩✩✩
7 Июл 2019
36
9
IMG_20190818_162615.jpg
Распаял контроллер вместе с atmega328p на одной плате. У братского народа на рынке нашел лампу с одноцветной лентой. Буду переделывать на RGB'шую с этим контроллером. Попутно переписываю прошивку и софт. Возникло два вопроса. Во-первых при использовании цветовой температуры (setKelvin()) синего слишком много. При 3000К должен быть желтоватый, а у меня цвет как от 5000-6000К. На фото цвет пурпл выглядит как пурпл, белый тоже норм. А вот сякие серые и нави не отличатся от белого и голубого, соответственно. Как с этим бороться? Подозреваю , тестовый огрызок ленты хреновый, но вдруг нет. Может кто сталкивался с подобным? А во-вторых, заказал hc-06 модули, пришли. Забрал. Начал проверять, не работают подлюки. Bluetooth не обнаруживает модуль, по всякому пробовал через серийный порт - тоже глухо. Такое ощущение, что они не прошиты. Попробую соорудить ISP программатор, как последнюю надежду, и зашить их. Но, интересно, у кого-нибудь подобное было? Стоит на них тратить время или отправить обратно в страну солнца и восходящих? Всем заранее спасибо за советы.
 
Изменено:

tityoff

✩✩✩✩✩✩✩
5 Дек 2018
1
2
Помогите с проблемой.Нужно было использование только ик приемника для ленты. Собрал все настроил

C++:
// ================ НАСТРОЙКИ ================
// ------ Схема ------
#define WIRING_VERSION 1    // тип схемы. 0 - обычная, 1 - печатная плата
// настройка меняет только пины подключения

// ------ Дисплей ------
#define USE_OLED 0          // 0 - использовать дисплей, 0 - нет
#define LCD_BACKL 1         // автоотключение подсветки дисплея (1 - разрешить)
#define BACKL_TOUT 60       // таймаут неактивности отключения дисплея, секунды
#define CONTRAST 150        // контрастность (яркость) дисплея 0-255
#define ROTATE_DISP 1       // 0 или 1 - повернуть дисплей на 180 градусов
#define I2C_ADDRESS 0x3C    // адрес дисплея
// примерно на 200 строке можно поменять шрифт дисплея

// ------ Драйвер ------
#define HIGH_FREQUENCY 2    // 0 - 490 Гц, 1 - 7.8 кГц, 2 - 31.4 кГц, 3 - ручная настройка
#define PWM_FREQUENCY 15000 // частота ШИМ на настройке №3, Герц
#define DRIVER_DIRECTION 0  // 0 - обычный (мосфеты), 1 - реверс (LED amplifier)

// ------ Лента ------
#define MAX_CURRENT 0       // макс. ток в мА, при значении 0 фича не активируется
#define NUM_LEDS 60         // кол-во светодиодов для расчёта ограничения тока (только для диодов 5050!!!)
#define SMOOTH_K 0.25       // коэффициент плавности огня

// ------ Bluetooth ------
#define USE_BT 0            // 1 - использовать Bluetooth, 0 - нет

// ------ ИК пульт ------
#define USE_IR 1            // 1 - использовать ИК пульт, 0 - нет
#define IR_STEP 10          // шаг изменения настроек с пульта

// ------ Энкодер ------
#define USE_ENC 0           // 1 - использовать энкодер, 0 - нет
#define ENC_REVERSE 0       // 1 - инвертировать направление энкодера
#define ENC_TYPE 1          // 0 или 1 - тип энкодера

// ------ Кнопка -------
#define USE_BTN 0           // 1 - использовать кнопку, 0 - нет
#define BTN_MODE 1          // режим работы кнопки: 0 - переключение пресетов, 1 - переключение цветов

// ------ Напряжение ------
#define VOLTMETER 0         // 0 или 1 - вкл/выкл вольтметр (делитель напряжения в пин А0)
#define POWER_CONTROL 1     // 1 - разрешить системе отключить ленту при напряжении ниже 9.0 Вольт
#define CHARGE_VAL 1        // вывод напряжения: 0 - в процентах, 1 - в вольтах
#define CONSTANT_BRIGHT 0   // 0 или 1 - вкл/выкл поддержание яркости при разрядке АКБ (только для диодов 5050!!!) (в схеме должен стоять делитель)
#define VREF 5.1            // напряжение на пине 5V
#define R1 10000            // точное значение 10 кОм
#define R2 4700             // точное значение 4.7 кОм

// --------- Цвет ---------
#define MIN_PWM 0           // минимальный сигнал PWM
#define GAMMA_BRIGHT 1      // гамма-коррекция яркости
#define LUT_R 1.0           // коэффициент LUT матрицы красного цвета (0.0 - 1.0)
#define LUT_G 1.0           // коэффициент LUT матрицы зелёного цвета (0.0 - 1.0)
#define LUT_B 1.0           // коэффициент LUT матрицы синего цвета (0.0 - 1.0)

// ================ ДЛЯ РАЗРАБОТЧИКОВ ================
// ----------- ПИНЫ -----------

#if (WIRING_VERSION == 0)
// пин вольтметра
#define VOLT_PIN A0

// драйвер
#define PIN_R 9
#define PIN_G 10
#define PIN_B 3
#define PIN_W 11

// энкодер
#define CLK 4
#define DT 5
#define SW 6

// ИК приёмник
#define pinIR 2

// BT
#define BT_RX 7
#define BT_TX 8

// кнопка
#define BTN 12

#else //---------------------

// пин вольтметра
#define VOLT_PIN A6

// драйвер
#define PIN_R 9
#define PIN_G 10
#define PIN_B 3
#define PIN_W 11

// энкодер
#define CLK A2
#define DT A1
#define SW A0
#define ENC_GND A3
#define ENC_VCC 13

// ИК приёмник
#define pinIR 2

// BT
#define BT_RX 4
#define BT_TX 5

// кнопка
#define BTN 12

прошил - не реагирует на пульт.Прошил утилиту IR_test.ino на пульт реагирует нормально. записал коды всех кнопок

C++:
0x4E5BA3AD

0xE51CA6AD

0xE207E1AD

0x517068AD

0x1B92DDAD

0x3AB7D62D

0x5484B6AD

0xD22353AD

0xDF3F4BAD

0x68E456AD

0xF08A26AD

0x151CD6AD

0x18319BAD

0xF39EEBAD

0x4AABDFAD

0xE25410AD

0x297C76AD

0x14CE54AD

0xAF3F1BAD

0xC089F6AD

0x38379AD
прописал в блок с кодами кнопок

C++:
  #define BUTT_UP    0x4E5BA3AD

  #define BUTT_DOWN  0xE51CA6AD

  #define BUTT_LEFT  0xE207E1AD

  #define BUTT_RIGHT 0x517068AD

  #define BUTT_OK    0x1B92DDAD

  #define BUTT_1     0x3AB7D62D

  #define BUTT_2     0x5484B6AD

  #define BUTT_3     0xD22353AD

  #define BUTT_4     0xDF3F4BAD

  #define BUTT_5     0x68E456AD

  #define BUTT_6     0xF08A26AD

  #define BUTT_7     0x151CD6AD

  #define BUTT_8     0x18319BAD

  #define BUTT_9     0xF39EEBAD

  #define BUTT_0     0x4AABDFAD

  #define BUTT_STAR  0xE25410AD

  #define BUTT_HASH  0x297C76AD
прошил но на пульт так и не реагирует.




при прошивке сыпет какие то ошибки с кодировкой но прошивает:

C++:
C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino: In function 'void setup()':



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:396:57: warning: invalid conversion from 'byte {aka unsigned char}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]



     for (byte i = 0; i < 10; i++) eeprom_write_byte(i, 0);



                                                         ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:164:6: note:   initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'



void eeprom_write_byte (uint8_t *__p, uint8_t __value);



      ^



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:398:29: warning: invalid conversion from 'byte {aka unsigned char}' to 'uint16_t* {aka unsigned int*}' [-fpermissive]



       eeprom_write_word(i, 0);



                             ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:169:6: note:   initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)'



void eeprom_write_word (uint16_t *__p, uint16_t __value);



      ^



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:399:48: warning: invalid conversion from 'byte {aka unsigned char}' to 'uint16_t* {aka unsigned int*}' [-fpermissive]



       if (i % 10 == 0) eeprom_write_word(i, 255);



                                                ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:169:6: note:   initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)'



void eeprom_write_word (uint16_t *__p, uint16_t __value);



      ^



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:401:37: warning: invalid conversion from 'int' to 'uint8_t* {aka unsigned char*}' [-fpermissive]



     eeprom_write_byte(PRESET_ADDR, 0);



                                     ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:164:6: note:   initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'



void eeprom_write_byte (uint8_t *__p, uint8_t __value);



      ^



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:402:29: warning: invalid conversion from 'int' to 'uint8_t* {aka unsigned char*}' [-fpermissive]



     eeprom_write_byte(201, 0);



                             ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:164:6: note:   initializing argument 1 of 'void eeprom_write_byte(uint8_t*, uint8_t)'



void eeprom_write_byte (uint8_t *__p, uint8_t __value);



      ^



C:\Users\tityo\sketchbook\GyverRGB_v1.6\GyverRGB_v1.6.ino:403:31: warning: invalid conversion from 'int' to 'uint16_t* {aka unsigned int*}' [-fpermissive]



     eeprom_write_word(202, 100);



                               ^



In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:25:0,



                 from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:233,



                 from sketch\GyverRGB_v1.6.ino.cpp:1:



c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\eeprom.h:169:6: note:   initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)'



void eeprom_write_word (uint16_t *__p, uint16_t __value);



      ^



Скетч использует 17588 байт (54%) памяти устройства. Всего доступно 32256 байт.

Глобальные переменные используют 1045 байт (51%) динамической памяти, оставляя 1003 байт для локальных переменных. Максимум: 2048 байт.
 
Изменено:
  • Лойс +1
Реакции: Belyakoff и NikitaM

Mazay

✩✩✩✩✩✩✩
19 Июл 2019
13
1
Подскажите, а зачем на плате от Алекса еще место размечено под кондёр обозначен С2 и ещё возле IR приёмника контакты "CAP" подписано? Повторил проект, завелось с 1 раза, работает отлично, только не пойму зачем дополнительно эти места размечены...
 

Вложения

  • 93.8 KB Просмотры: 37
  • Лойс +1
Реакции: Андрей 2704

Павел Honez

✩✩✩✩✩✩✩
26 Сен 2019
1
0
Доброго времени суток, подскажите пожалуйста, у кого-нибудь есть опыт в создании костюма для шоу из RGB ленты ( 5050) на длину более 40 метров? сам начал делать костюм, но столкнулся с проблемами, которые не могу решить в силу узких знаний в этой сфере
буду благодарен за любую помощь)
 

Snecky

✩✩✩✩✩✩✩
1 Окт 2019
3
0
Добрый день! ненашел мосфеты описанные в данном проекте изаменил на мосфет IRF730, собрал схему, загрузил быстрый тест для проверки bluetooth и мосфетов, все работает, загружаю код GyverRGB 1.7 bluetooth.ino и он не работает, телефон конектиться но ардуино не как не реагирует! в чем может быть проблема??
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Добрый день! ненашел мосфеты описанные в данном проекте изаменил на мосфет IRF730, собрал схему, загрузил быстрый тест для проверки bluetooth и мосфетов, все работает, загружаю код GyverRGB 1.7 bluetooth.ino и он не работает, телефон конектиться но ардуино не как не реагирует! в чем может быть проблема??
А по каким критериям был выбран IRF730? Как проверили, что он работает?
 

Snecky

✩✩✩✩✩✩✩
1 Окт 2019
3
0
то что было в наличии!! проверял на ардуино уно с подключено RGB лентой и упровлением через BT Terminal
 

Александр Симонов

★★★★✩✩✩
2 Авг 2018
727
207
Перебрось блютус на SoftwareSerial, используй обычный Serial для отладки. Ну или отлаживай через SoftwareSerial, если есть USB-UART переходник.
 

Snecky

✩✩✩✩✩✩✩
1 Окт 2019
3
0
проблема была в частоте затвора мосфета. вроде заработало