ARDUINO Bluetooth матрица. Обсуждение проекта

Fduch

✩✩✩✩✩✩✩
24 Янв 2019
1
1
Добрый день. Прошу проверить меняется ли скорость текста при изменении параметра D_TEXT_SPEED. Аrduino UNO, Матрица 21*7, прошивка 1.11, изменение числа не отражается на скорости и не пойму куда копать :(
 
  • Лойс +1
Реакции: Aloha

Тарас

✩✩✩✩✩✩✩
20 Янв 2019
3
0
Всем привет. Использовал прошивку 1.9 на плате Ардуино нано для гирлянды. Недавно пришла плата Вемос Д1 мини, решил перезалить прошивку на нее. Версия Ардуино ИДЕ 1.8.5. Так вот при попытке скомпилировать прошивку 1.10 и 1.11 выдает ошибку " "max" was not declared in this scope ".
Я не пойму в чем проблема. Прошивки вроде сильно не отличаются. В старой прошивке max нигде не определяется заранее.
В общем, разобрался в чем проблема. Если кто еще столкнется, то проблема была в версии менеджера плат esp8266 by ESP8266 Community. Нужно было всего лишь руками обновить ее до версии 2.4.2 и выбрать плату Wemos D1 R1. Ранее я пользовался версией 2.3.0 менеджера плат и там не было такой платы, выбирал плату Wemos D1 R2 & mini. Но, что интересно, прошивка 1.9 компилировалась нормально, а вот прошивки 1.10 и 1.11 не компилировались все с той же ошибкой определения переменной max.
 

romavoz

✩✩✩✩✩✩✩
27 Янв 2019
8
2
в версии 1.9 какая то ошибка
помогите пожалуйста исправить
1548791382147.png
 

KennyUA

★✩✩✩✩✩✩
13 Ноя 2018
59
18
Так он скачал один ино файл для проекта. В папке должны быть все файлы с репозитория
 

Тарас

✩✩✩✩✩✩✩
20 Янв 2019
3
0
в версии 1.9 какая то ошибка
помогите пожалуйста исправить
А почему у тебя на вкладке только файл прошивки открыт? Где все остальное? Похоже на то, что ты действительно распаковал из архива или скачал только основной файл прошивки без остальных и пытаешься его скомпилировать. Там есть основной файл с названием GyverMatrixOS_v1.xx.ino и все остальные, которыми он пользуется (custom, effects, файлы игр, блютуза и др). И версия у тебя 1.8 судя по названию, а не 1.9.
Скачай полностью архив, распакуй его и открывай основной файл прям из папки, куда распакуешь, чтобы рядом были все остальные файлы.
 

KennyUA

★✩✩✩✩✩✩
13 Ноя 2018
59
18
Круто бы запустить на ESP32 с поддержкой встроенного Bluetooth. И добавить обработку аудио как в проекте светомузыки... Есть свободная отладочная платка на 32, попробую хоть без БТ запустить проект.
 

KennyUA

★✩✩✩✩✩✩
13 Ноя 2018
59
18
Удалось завести проект на ESP32 с использованием встроенного Bluetooth.
Завелось на всех эффектах для матрицы 11*10 и всеми играми (Часы пока что не проверял).
Сейчас поиграюсь еще пару часов, хочу понять макс размеры и может допилю часы).
__
Под матрицу 140*140 компилится без проблем)
 

Вложения

Изменено:

KennyUA

★✩✩✩✩✩✩
13 Ноя 2018
59
18
Часы тоже завелись. + Решил для сохранения настроек использовать nvram модуля ds3231
 

teuchezh

✩✩✩✩✩✩✩
25 Сен 2018
14
3
Russia, Krasnodar
Хелп!
Собрал матрицу на STM32 Black Pill.
Матрица подключена зигзагом.
Включается, работает демо режим.
Проблема заключается в том что по синезубу вообще никакой реакции, хотя к самому модулю бт смарт подключается.
photo_2019-04-07_13-34-56.jpg
photo_2019-04-07_13-35-00.jpg
 
Изменено:

@lice

★✩✩✩✩✩✩
12 Апр 2019
128
30
Друзья, кто нибудь может ответить по GyvermatrixOS-
почему у матрицы 25х4 нормальный размер прошивки, а у столько же пикселей 100х1- 5 раз больше? Так и должно быть или я где то накосячил при отключении разных модулей?
Читал (и осознал), что: чем больше матрица, тем больше памяти занимает прошивка, но нигде не говорится, что- чем Уже/непропорциональней матрица, тем меньше пикселей влезет в сумме.
У меня проект где хотелось бы иметь именно длинную ленту шириной в 1 пиксель.
Отключил игры, часы, текст, блютус.
Кто это сожрал всю память?
 

mogadanez

✩✩✩✩✩✩✩
6 Май 2019
23
0
Prague, Czech Republic
А изза чего именно ограничение на размер матрицы в основном? изза количества эффектов встроенных или просто данные хранятся не зависимо ( я так понимаю там массив состояния всех диодов должен быть ), если цвета урезать в 256( 1 байт ) - можно ли поднять разрешение?
 

VktrSansara

✩✩✩✩✩✩✩
1 Дек 2018
6
1
Новомосковск
А изза чего именно ограничение на размер матрицы в основном? изза количества эффектов встроенных или просто данные хранятся не зависимо ( я так понимаю там массив состояния всех диодов должен быть ), если цвета урезать в 256( 1 байт ) - можно ли поднять разрешение?
Из за оперативный памяти, строй на stm32 или esp8266, увеличить сможешь матрицу в два, а то и в три раза.
 

mogadanez

✩✩✩✩✩✩✩
6 Май 2019
23
0
Prague, Czech Republic
я имел ввиду на что она уходит? какая часть статическая а какая на лампочки

если выдрать один эффект - матрица будет больше или уходит по большому счету на хранение состояния?

памяти у нас 2кб?(nano v3)


на лампочки
C++:
CRGB leds[NUM_LEDS];
16*16*3=768
те еще 1.2кб на саму логику? тогда наверное выдирая эффекты можно сэкономить

в ардуинке бывают динамические библиотеки? чтобы не грузить все в память сразу?

еще если ограничить количество одновременно используемые цветов например в 32
тогда можно хранить список используемых цветов и в массиве только номер цвета, тогда для 16x16 будет

32*3 + 16*16 = 352
ну и сжатие можно придумать по повторяющимся последовательностям
 
Изменено:

KennyUA

★✩✩✩✩✩✩
13 Ноя 2018
59
18
В статье четко описано какой эффект и какая функция сколько занимают памяти. Используйте ESP8266 либо EPS32
 

@lice

★✩✩✩✩✩✩
12 Апр 2019
128
30
В статье четко описано какой эффект и какая функция сколько занимают памяти. Используйте ESP8266 либо EPS32
Нифига не четко. Ибо годится только для матрицы 16х16, а как только ''вытянуть'' матрицу в одной плоскости- использование оперативной памяти идёт в космос.
Я с этим тоже мучаюсь.
 

@lice

★✩✩✩✩✩✩
12 Апр 2019
128
30
Я под свой проект с ''матрицой'' 1х96 диод так и не добился нормального кода, чтобы влез даже в МЕГА.
 

@lice

★✩✩✩✩✩✩
12 Апр 2019
128
30
странно вообщето, там точно проблема в памяти?
В смысле- ''проблема в памяти''? Проблема в размере того, что пишется в SDRAM- оно неадекватно растёт, если одна сторона удлиняется и это не очень зависит от общего количества диодов. Попробуйте сами.
Кое какие костыли я нашел, но это всё не совсем элегантно :)
И да- я использую только эффекты- обычные и noise. Часы, игры, БТ, текст- не использую.
 

mogadanez

✩✩✩✩✩✩✩
6 Май 2019
23
0
Prague, Czech Republic
мне еще лента не пришла =)
просто данные диодов хранятся и так в плоском массиве
CRGB leds[NUM_LEDS];


если инвертировать в 96х1 - таже проблема? или только с горизонтальным?
 

@lice

★✩✩✩✩✩✩
12 Апр 2019
128
30
мне еще лента не пришла =)
Ну так для того, чтобы узнать что не лезет в память, лента не нужна :) дайте закомпилировать для конкретной ардуинки и получите красную ошибку.
данные диодов хранятся и так в плоском массиве
CRGB leds[NUM_LEDS];
Я во всём этом деле не очень эксперт, но конкретно в моем случае проблема не решается количеством диодов (тогда было бы всё равно 16х16 или 256х1). Я нашёл это место в скетче noise_effects:
// This is the array that we keep our computed noise values in
#define MAX_DIMENSION (max(WIDTH, HEIGHT))
#if (WIDTH > HEIGHT)
uint8_t noise[WIDTH][WIDTH];
#else
uint8_t noise[HEIGHT][HEIGHT];
#endif


где из за большого размера одной стороны размер вспухает. И ковыряя эти значения кое как можно контролировать размер в памяти.
 

mogadanez

✩✩✩✩✩✩✩
6 Май 2019
23
0
Prague, Czech Republic
да, логично, у тебя выделяется памяти 96*96 = 9K

да этот эффект не линейно растет по памяти, надо переписывать =)