Два скетча в один?

Алексей22

✩✩✩✩✩✩✩
25 Фев 2020
41
0
65
Изменено:

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
[QUOTE = "Старик Похабыч, должность: 37127, участник: 6600"]
Видео запилить можешь? как работает лента при 10 х 10 на фастлед и на микролед
[/ QUOTE]
А на микролед даже свето диод не моргает, хотя загружается как будто все нормпльно.
что значит как будто? в монитор порта что пишет в этот момент?
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Видео не знаю как и в каком формате залить
черт с ним с видео, тем более если ничего не показывает
в мониторе порта что было?
тот код который я дал, какой результат?

C++:
#define REPLACE_FASTLED // пункт 0
#define COLOR_DEBTH 2   // пункт 1
#define ORDER_RGB

#include <microLED.h>  // пункт 3
//#include <FastLED.h>
#include <SPI.h>
#include <SD.h>

#define NUM_LEDS 289
#define DATA_PIN 6 //проверить номер пина вывода на летну
//#define CHIPSET WS2811
//#define CMD_NEW_DATA 1
//#define BAUD_RATE 115200

File fxdata;
LEDdata leds[NUM_LEDS];

microLED strip(leds, NUM_LEDS, DATA_PIN);

void setup()
{

  strip.setBrightness(30);
 
 /* for(int y = 0 ; y < NUM_LEDS ; y++)
  {
    leds[y] = RED; // set all leds to black during setup
    
  }*/
  strip.fill(mCOLOR(RED));
  strip.show();

  if (!SD.begin(4)) //!!!!!проверить куда подключен пин SD
  {
    //Serial.println("sdcard initialization failed!");
    return;
  }
  //Serial.println("sdcard initialization done.");
 
  // test file open
  /*fxdata = SD.open("myanim.dat");  // read only
  if (fxdata)
  {
    //Serial.println("file open ok");     
    fxdata.close();
  }*/
}

void loop()
{

  fxdata = SD.open("myanim.dat");  // read only
  if (fxdata)
    {
      //Serial.println("file open ok");     
    }

  while (fxdata.available())
  {
    strip.clear();
    fxdata.readBytes((char*)leds, NUM_LEDS*3);
    strip.show();
    delay(50);
  }
 
  fxdata.close();
}
проверь имя файла - fxdata = SD.open("myanim.dat");
проверь пин подключения карты - if (!SD.begin(4))
 
Изменено:

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Горит вся матрица зеленым , эффектов нет не читает SD
Странно, должна была гореть красным
strip.fill(mCOLOR(RED));
Надо разобраться в формате файла, судя по строке - fxdata.readBytes((char*)leds, NUM_LEDS*3)
Цвет каждого диода это три байта, надо переписать код под микролед
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,267
1,303
Москва
будет зеленый. у этой ленты каналы перепутаны
лучше тогда
№define ORDER_GRB
но суть не в этом. что то в функции считывания картинки с карты и воспроизведении ее на матрице как мне кажется.
 

Алексей22

✩✩✩✩✩✩✩
25 Фев 2020
41
0
65
Да цвета мне кажется можно и в проге Glediator подогнать, главное чтоб читала эффекты с SD
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,267
1,303
Москва
Так, функция просто загружает данные в массив светодиодов. конечно она не будет работать при глубине 2
попробуй мой скетч с глубиной 3. т.е.
#define COLOR_DEBTH 3 // пункт 1
Это на пределе памяти, но может сработать. в крайнем случае надо будет переписывать загрузку данных из файла в в массив

у тебя точно перерисованы все картинки с размера 10 на 10 на размер 17на17 ?
 

Алексей22

✩✩✩✩✩✩✩
25 Фев 2020
41
0
65
Так, функция просто загружает данные в массив светодиодов. конечно она не будет работать при глубине 2
попробуй мой скетч с глубиной 3. т.е.
#define COLOR_DEBTH 3 // пункт 1
Это на пределе памяти, но может сработать. в крайнем случае надо будет переписывать загрузку данных из файла в в массив

у тебя точно перерисованы все картинки с размера 10 на 10 на размер 17на17 ?
Пишет не хватает памяти
 

Вложения

  • 131.9 KB Просмотры: 6

Старик Похабыч

★★★★★★★
14 Авг 2019
4,267
1,303
Москва
1) Надо подключить микролед, хоть бы что показывала, что бы было понятно, что она работает
2) Надо добиться работы 10 на 10 с микролед. глубина 3.
3) Без переделки процедуры загрузки работать с уменьшенной глубиной цветности не будет. При загрузке с карты читается 3*N байт данных, N-число светодиодов. и все это пихается в массив светодиодов. А при сжатии микролед используеьт не 3 , а 2 или 1 байт данных, что меньше и прост другое.
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Я за то что бы выкинуть дуину нафиг и взять 8266, все проблемы уйдут разом
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Можно и такую, но мне нравятся те что поменьше
IMG_20200504_210117.jpg
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
На плате есть стабилизатор напряжения на 3в, подключаешь кабелем Micro USB и она будет работать и от 5в или можно подать напряжение на пин vin
 

Алексей22

✩✩✩✩✩✩✩
25 Фев 2020
41
0
65
На плате есть стабилизатор напряжения на 3в, подключаешь кабелем Micro USB и она будет работать и от 5в или можно подать напряжение на пин vin
Но ведь мне все равно нужно подключение SD карты, а значит нужен скетч для стыковки этих модулей?
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
В нем даже менять ничего не придётся, та же ide, Те-же библиотеки, просто нужно выбрать в компиляторе другую плату, прошьется так же по кабелю
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Ардуино не нужен
И можно сделать даже проще, файлы анимации записываешь в Speffs и читаешь их от туда, а модуль sd тож на помойку, но тут все зависит от объёма самих файлов
А так метод проверенный и рабочий
 
Изменено:

Алексей22

✩✩✩✩✩✩✩
25 Фев 2020
41
0
65
Ардуино не нужен
И можно сделать даже проще, файлы анимации записываешь в eeprom и читаешь их от туда, а модуль sd тож на помойку, но тут все зависит от объёма самих файлов
А так метод проверенный и рабочий
Спасибо, извините что морочил голову своей тупостью, буду думать над 8266.
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Что тут думать заказывай у китайцев или можно купить у себя в городе, готовым скетчем поделюсь