ESP, IoT WiFi лампа-будильник. Обсуждение проекта

Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

Комментарии

recoshet

★✩✩✩✩✩✩
15 Июн 2019
1
14
Сообщение изъято на правах администрации
ВНИМАНИЕ !!!
те кто живой и хочет увидеть ссылку на свое исполнение, прошу централизовать все свои доработки и сообщения. Далее в теме пишем сообщение с ссылкой на ваше сообщение (с проектом), с пометкой @mechanic .


В данной ветке обсуждаются только сия проект. Общие вопросы, доработки и проблемы, не относящиеся к конкретным прошивкам!. Вопросы по прошивкам решаем в темах самих прошивок. Здесь такие разговоры оффтоп.
Всякий любой вопрос не по теме сразу удаляется БЕЗ объяснения причины!
Для этого есть соответствующие ветки форума. Вопрос почему удалили мой пост? также удаляется.

  • Общаясь на форуме будьте взаимно вежливы!
  • Обратите внимание на то, что у нас принято говорить Спасибо путём повышения репутации, нажав на кнопочку
    .
  • Если есть претензии то нажмите кнопку .
  • Запрещено писать красным цветом в ваших постах - этот цвет только для Модераторов .
  • Вопросы, ответ на которые есть в шапке или в FAQ, будут удаляться. За повторный вопрос пользователь может быть наказан.
  • Убедительная просьба придерживаться тематики ветки, избегать флуда и оффтопа!
Очень часто при первом запуске лампы, при подключении к сети лампы не открывается менеджер сетей WIFI.
Помогает комментирование строки #define ESP_USE_BUTTON (отключение кнопки) и заливка скетча выставив Erase flash в All Flash Content
После того, как вы подключили лампу к сети эту строку можно раскомментировать и залить скетч с параметром Erase flash установленным в Only Sketh
Наш участник собрал много полезной информации по блокам питания для лампы. Качественное питание - необходимое условие надёжной работы любого устройства. Изучаем: https://community.alexgyver.ru/threads/nebolshoj-opus-po-bp-dlja-gyverlamp-wifi-lampa-budilnik.3523/

ВНИМАНИЕ! Если у вас не компилируется или не загружается скетч - значит вы сделали что-то неправильно. Специально для вас созданы две темы:
ESP8266, проблема с компиляцией скетча
ESP8266, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 

Константин 271

★★★✩✩✩✩
12 Июл 2020
950
104
Радик можно снять со старого компьютерного БП/материнки, и с помощью болгарки/дремеля "создать шедевр", т.е. убрать лишнее)
круто.
Легко.
Быстро.

Вспомнился рецепт, как "придать матовости" - насыпать в плафон горстку алмазов и хорошенько потрясти.
Их можно взять в Якутии или ЮАР.. :)
 

berlozhnik

✩✩✩✩✩✩✩
18 Мар 2020
9
2
круто.
Легко.
Быстро.

Вспомнился рецепт, как "придать матовости" - насыпать в плафон горстку алмазов и хорошенько потрясти.
Их можно взять в Якутии или ЮАР.. :)
Алмазов (радиков) могу отсыпать.если вы относительно недалеко.

ну либо
если время позволяетдождаться доставки.
опять же, там под размер можно подобрать
 
  • Лойс +1
Реакции: Константин 271

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
Если кому-то нужно убить знакомого эпилептика, то вам пригодится
Эффект Звёзды (beta-версия)

Я не знаю, что с ним делать. Возможно, эта версия - последняя. Предсмертная.
C-like:
// добавлено изменение текущей палитры (используется во многих эффектах ниже для бегунка Масштаб)
const TProgmemRGBPalette16 *palette_arr[] = {&PartyColors_p, &OceanColors_p, &LavaColors_p, &HeatColors_p, &WaterfallColors_p, &CloudColors_p, &ForestColors_p, &RainbowColors_p, &RainbowStripeColors_p};
const TProgmemRGBPalette16 *curPalette = palette_arr[0];
void setCurrentPalette(){
      if (modes[currentMode].Scale > 100) modes[currentMode].Scale = 100; // чтобы не было проблем при прошивке без очистки памяти
      curPalette = palette_arr[(uint8_t)((float)modes[currentMode].Scale/100*((sizeof(palette_arr)/sizeof(TProgmemRGBPalette16 *))-0.01U))];
}
C-like:
// ------------------------------ ЭФФЕКТ ЗВЁЗДЫ ----------------------
// (c) SottNick
// производная от эффекта White Warp
// https://github.com/marcmerlin/NeoMatrix-FastLED-IR/blob/master/Table_Mark_Estes_Impl.h
// https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos/blob/master/LEDMatrix/Table_Mark_Estes/Table_Mark_Estes.ino
//int16_t pointy, blender = 128;//, laps, hue, steper,  xblender, hhowmany, radius3, xpoffset[MATRIX_WIDTH * 3];
#define STAR_BLENDER 128U             // хз что это
#define CENTER_DRIFT_SPEED 6U         // скорость перемещения плавающего центра возникновения звёзд

unsigned int  counter;//, ringdelay;//, bringdelay, sumthum;
//int16_t shifty = 6;//, pattern = 0, poffset;
int16_t radius2;//, fpeed[WIDTH * 3], fcount[WIDTH * 3], fcountr[WIDTH * 3];//, xxx, yyy, dot = 3, rr, gg, bb, adjunct = 3;
//uint8_t fcolor[WIDTH * 3];
//uint16_t h = 0, howmany;// ccoolloorr, why1, why2, why3, eeks1, eeks2, eeks3, oldpattern, xhowmany, kk;
float driftx, drifty;//, locusx, locusy, xcen, ycen, yangle, xangle;
float cangle, sangle;//xfire[WIDTH * 3], yfire[WIDTH * 3], radius, xslope[MATRIX_WIDTH * 3], yslope[MATRIX_WIDTH * 3];

//Дополнительная функция построения линий
void DrawLine(int x1, int y1, int x2, int y2, CRGB color)
{
  int tmp;
  int x,y;
  int dx, dy;
  int err;
  int ystep;

  uint8_t swapxy = 0;
 
  if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1;
  if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1;

  if ( dy > dx )
  {
    swapxy = 1;
    tmp = dx; dx =dy; dy = tmp;
    tmp = x1; x1 =y1; y1 = tmp;
    tmp = x2; x2 =y2; y2 = tmp;
  }
  if ( x1 > x2 )
  {
    tmp = x1; x1 =x2; x2 = tmp;
    tmp = y1; y1 =y2; y2 = tmp;
  }
  err = dx >> 1;
  if ( y2 > y1 ) ystep = 1; else ystep = -1;
  y = y1;

  for( x = x1; x <= x2; x++ )
  {
    if ( swapxy == 0 ) drawPixelXY(x, y, color);
    else drawPixelXY(y, x, color);
    err -= (uint8_t)dy;
    if ( err < 0 )
    {
      y += ystep;
      err += dx;
    }
  }
}

void drawstar(int16_t xlocl, int16_t ylocl, int16_t biggy, int16_t little, int16_t points, int16_t dangle, uint8_t koler)// random multipoint star
{
//  if (counter == 0) { // это, блин, вообще что за хрень была?!
//    shifty = 3;//move quick
//  }
  radius2 = 255 / points;
  for (int i = 0; i < points; i++)
  {
    //DrawLine(xlocl + ((little * (sin8(i * radius2 + radius2 / 2 - dangle) - 128.0)) / 128), ylocl + ((little * (cos8(i * radius2 + radius2 / 2 - dangle) - 128.0)) / 128), xlocl + ((biggy * (sin8(i * radius2 - dangle) - 128.0)) / 128), ylocl + ((biggy * (cos8(i * radius2 - dangle) - 128.0)) / 128), CHSV(koler , 255, 255));
    //DrawLine(xlocl + ((little * (sin8(i * radius2 - radius2 / 2 - dangle) - 128.0)) / 128), ylocl + ((little * (cos8(i * radius2 - radius2 / 2 - dangle) - 128.0)) / 128), xlocl + ((biggy * (sin8(i * radius2 - dangle) - 128.0)) / 128), ylocl + ((biggy * (cos8(i * radius2 - dangle) - 128.0)) / 128), CHSV(koler , 255, 255));
    // две строчки выше - рисуют звезду просто по оттенку, а две строчки ниже - берут цвет из текущей палитры
    DrawLine(xlocl + ((little * (sin8(i * radius2 + radius2 / 2 - dangle) - 128.0)) / 128), ylocl + ((little * (cos8(i * radius2 + radius2 / 2 - dangle) - 128.0)) / 128), xlocl + ((biggy * (sin8(i * radius2 - dangle) - 128.0)) / 128), ylocl + ((biggy * (cos8(i * radius2 - dangle) - 128.0)) / 128), ColorFromPalette(*curPalette, koler));
    DrawLine(xlocl + ((little * (sin8(i * radius2 - radius2 / 2 - dangle) - 128.0)) / 128), ylocl + ((little * (cos8(i * radius2 - radius2 / 2 - dangle) - 128.0)) / 128), xlocl + ((biggy * (sin8(i * radius2 - dangle) - 128.0)) / 128), ylocl + ((biggy * (cos8(i * radius2 - dangle) - 128.0)) / 128), ColorFromPalette(*curPalette, koler));
    }
}

//uint8_t bballsCOLOR[bballsMaxNUM] ;                   // цвет звезды (используем повторно массив эффекта Мячики)
//uint8_t bballsX[bballsMaxNUM] ;                       // количество углов в звезде (используем повторно массив эффекта Мячики)
//int   bballsPos[bballsMaxNUM] ;                       // задержка пуска звезды относительно счётчика (используем повторно массив эффекта Мячики)
//uint8_t bballsNUM;                                    // количество звёзд (используем повторно переменную эффекта Мячики)

void starRoutine() {
  //dimAll(255U - modes[currentMode].Scale * 2);
  dimAll(89U);
  //dimAll(myScale8(modes[currentMode].Scale));

  if (loadingFlag)
  {
    loadingFlag = false;
    setCurrentPalette();

    driftx = random8(4, WIDTH - 4);//set an initial location for the animation center
    drifty = random8(4, HEIGHT - 4);// set an initial location for the animation center
   
    cangle = (sin8(random(25, 220)) - 128.0) / 128.0;//angle of movement for the center of animation gives a float value between -1 and 1
    sangle = (sin8(random(25, 220)) - 128.0) / 128.0;//angle of movement for the center of animation in the y direction gives a float value between -1 and 1
    //shifty = random (3, 12);//how often the drifter moves будет CENTER_DRIFT_SPEED = 6

    //pointy = 7; теперь количество углов у каждой звезды своё
    bballsNUM = (WIDTH + 6U) / 2U;//(modes[currentMode].Scale - 1U) / 99.0 * (bballsMaxNUM - 1U) + 1U;
    if (bballsNUM > bballsMaxNUM) bballsNUM = bballsMaxNUM;
    for (uint8_t num = 0; num < bballsNUM; num++) {
      bballsX[num] = random8(3, 9);//pointy = random8(3, 9); // количество углов в звезде
      bballsPos[num] = counter + (num << 2) + 1U;//random8(50);//modes[currentMode].Scale;//random8(50, 99); // задержка следующего пуска звезды
      bballsCOLOR[num] = random8();
    }

  }

 
  //hue++;//increment the color basis был общий оттенок на весь эффект. теперь у каждой звезды свой
  //h = hue;  //set h to the color basis
  counter++;
  if (driftx > (WIDTH - spirocenterX / 2U))//change directin of drift if you get near the right 1/4 of the screen
    cangle = 0 - fabs(cangle);
  if (driftx < spirocenterX / 2U)//change directin of drift if you get near the right 1/4 of the screen
    cangle = fabs(cangle);
  if (counter % CENTER_DRIFT_SPEED == 0)
    driftx = driftx + cangle;//move the x center every so often

  if (drifty > ( HEIGHT - spirocenterY / 2U))// if y gets too big, reverse
    sangle = 0 - fabs(sangle);
  if (drifty < spirocenterY / 2U) // if y gets too small reverse
    sangle = fabs(sangle);
  if ((counter + CENTER_DRIFT_SPEED / 2U) % CENTER_DRIFT_SPEED == 0)
    drifty =  drifty + sangle;//move the y center every so often
 
  //по идее, не нужно равнять диапазоны плавающего центра. за них и так вылет невозможен
  //driftx = constrain(driftx, spirocenterX - spirocenterX / 3, spirocenterX + spirocenterX / 3);//constrain the center, probably never gets evoked any more but was useful at one time to keep the graphics on the screen....
  //drifty = constrain(drifty, spirocenterY - spirocenterY / 3, spirocenterY + spirocenterY / 3);

  for (uint8_t num = 0; num < bballsNUM; num++) {
    if (counter >= bballsPos[num])//(counter >= ringdelay)
    {
      if (counter - bballsPos[num] <= WIDTH + 5U) {  //(counter - ringdelay <= WIDTH + 5){
        //drawstar(driftx  , drifty, 2 * (counter - ringdelay), (counter - ringdelay), pointy, blender + h, h * 2 + 85);
        drawstar(driftx  , drifty, 2 * (counter - bballsPos[num]), (counter - bballsPos[num]), bballsX[num], STAR_BLENDER + bballsCOLOR[num], bballsCOLOR[num] * 2);//, h * 2 + 85);// что, бл, за 85?!
        bballsCOLOR[num]++;
      }
      else
        //bballsX[num] = random8(3, 9);//pointy = random8(3, 9); // количество углов в звезде
        bballsPos[num] = counter + (bballsNUM << 1) + 1U;//random8(50, 99);//modes[currentMode].Scale;//random8(50, 99); // задержка следующего пуска звезды
    }
  }
}
Не плох, для эпилептика не страшен, лучше эффект цвета скорость на максимум и масштаб на середину(на максимум нет, убьёт не только епилептика(проверял))(если без ограничений(версия для ардуино, прошивка Гайвера и другие))
 
Изменено:
  • Лойс +1
Реакции: Belokota

vidroid

✩✩✩✩✩✩✩
2 Авг 2020
3
0
Такая проблема, загрузил библиотеки все, ошибки пофиксил, вроде компилируется, но потом говорит что не совместимо с моей платой, хотя у меня NodeMCU 1.0 (ESP-12E Module). Шо делать?)
 

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

★★★★✩✩✩
2 Авг 2018
727
208
Такая проблема, загрузил библиотеки все, ошибки пофиксил, вроде компилируется, но потом говорит что не совместимо с моей платой, хотя у меня NodeMCU 1.0 (ESP-12E Module). Шо делать?)
Показывай ошибку
 

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@vidroid,
фраза "ошибки пофиксил" намекает на то, что они были.
А их быть не должно.
 
Изменено:

vidroid

✩✩✩✩✩✩✩
2 Авг 2020
3
0
Такая проблема, загрузил библиотеки все, ошибки пофиксил, вроде компилируется, но потом говорит что не совместимо с моей платой, хотя у меня NodeMCU 1.0 (ESP-12E Module). Шо делать?)
 

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
Новый
Эффект Лавовая лампа

Эффект устанавливается с теми, у которых бегунок Скорость не регулирует задержку между кадрами.
Переменные используются из других эффектов. Если они не установлены, придётся раскомментировать строчки.
C-like:
// ------------------------------ ЭФФЕКТ ЛАВОВАЯ ЛАМПА ----------------------
// (c) SottNick

//float leaperX[bballsMaxNUM];                         // координата по Х
//float leaperY[bballsMaxNUM];                         // координата по Y
//float bballsVImpact[bballsMaxNUM];                   // скорость движения пузыря
//float bballsCOR[bballsMaxNUM];                       // радиус пузыря ... мог бы быть, если бы круги рисовались нормально

void LavaLampGetspeed(uint8_t l) {
  //bballsVImpact[l] = (float)random8(1, 11) / 10.0; // скорость пузырей 10 градаций?
  bballsVImpact[l] = (float)random8(5, 11) / (257U - modes[currentMode].Speed) / 4.0; // если скорость кадров фиксированная
}
void drawBlob(uint8_t l, CRGB color) { //раз круги нарисовать не получается, будем попиксельно вырисовывать 2 варианта пузырей
  if (bballsCOR[l] == 2)
    {
      for (int8_t x = -2; x < 3; x++)
        for (int8_t y = -2; y < 3; y++)
          if (abs(x)+abs(y) < 4)
            drawPixelXYF(fmod(leaperX[l]+x +WIDTH,WIDTH), leaperY[l]+y, color); // это процедура рисования с нецелочисленными координатами. ищите её в прошивке
    }
  else
    {
      for (int8_t x = -1; x < 3; x++)
        for (int8_t y = -1; y < 3; y++)
          if (!(x==-1 && (y==-1 || y==2) || x==2 && (y==-1 || y==2)))
            drawPixelXYF(fmod(leaperX[l]+x +WIDTH,WIDTH), leaperY[l]+y, color);
    }
}

void LavaLampRoutine(){
  //unsigned num = map(scale, 0U, 255U, 6U, sizeof(boids) / sizeof(*boids));
  if (loadingFlag)
  {
    loadingFlag = false;
    //bballsNUM = (modes[currentMode].Scale - 1U) / 99.0 * (bballsMaxNUM - 1U) + 1U;
    //if (bballsNUM > bballsMaxNUM)
    //  bballsNUM = bballsMaxNUM;
    //if (bballsNUM < 2U) bballsNUM = 2U;
    bballsNUM = (WIDTH / 2) -  ((WIDTH - 1) & 0x01);

    uint8_t shift = random8(2);
    for (uint8_t i = 0; i < WIDTH / 2; i++) {
      //LavaLampRestart_leaper(i);
      leaperY[i] = 0;//random8(HEIGHT);
      leaperX[i] = i * 2U + shift;
      LavaLampGetspeed(i);
      //bballsCOR[i] = 1.0 + 0.2 * random8(8); // присваивается случайный радиус пузырям от 1 до 2,5
      bballsCOR[i] = random8(1,3); // присваивается случайный целочисленный радиус пузырям от 1 до 2
    }
    if (modes[currentMode].Scale != 1U)
      hue = modes[currentMode].Scale * 2.57;
  }
  if (modes[currentMode].Scale == 1U)
    {
      hue2++;
      if (hue2 % 10 == 0U)
        hue++;
    }
  CRGB color = CHSV(hue, (modes[currentMode].Scale < 100U) ? 255U : 0U, 255U);
  //CRGB halfcolor = CHSV(hue, 255U, 1275U);

  FastLED.clear();

  for (uint8_t i = 0; i < bballsNUM; i++) {
    //LavaLampMove_leaper(i);
    if (leaperY[i] + bballsCOR[i] >= HEIGHT - 1)
       leaperY[i] += (bballsVImpact[i] * ((HEIGHT - 1 - leaperY[i]) / bballsCOR[i] + 0.005));
    else if (leaperY[i] - bballsCOR[i] <= 0)
       leaperY[i] += (bballsVImpact[i] * (leaperY[i] / bballsCOR[i] + 0.005));
    else
       leaperY[i] += bballsVImpact[i];

    // bounce off the floor and ceiling?
    if (leaperY[i] < 0.01){                   // почему-то при нуле появляется мерцание (один кадр, еле заметно)
      LavaLampGetspeed(i);
      //bballsCOR[i] = 1+2*bballsVImpact[i]; менять радиус после отскока - плохая идея
      leaperY[i] = 0.01;
      }
    else if (leaperY[i] > HEIGHT - 1.01){     // тоже на всякий пожарный
      LavaLampGetspeed(i);
      //bballsCOR[i] = 1+2*bballsVImpact[i]; менять радиус после отскока - плохая идея
      bballsVImpact[i] = -bballsVImpact[i];
      leaperY[i] = HEIGHT - 1.01;
      }
 
/*   
    // рисуем пузыри откружностями - получаются не круги, а неопознанные объекты
    for (uint8_t r = 1; r < bballsCOR[i]; r++)
      drawCircleF(leaperX[i], leaperY[i], r, color);
    drawCircleF(leaperX[i], leaperY[i], bballsCOR[i], color);
    drawPixelXYF(leaperX[i], leaperY[i], color); // центральная точка
*/
    drawBlob(i, color); // раз круги выглядят убого, рисуем попиксельно 2 размера пузырей
  };

/*
  // инвертируем всё (получается какая-то хрень)
  uint8_t tsue = (modes[currentMode].Scale < 100U) ? 255U : 0U;
if (modes[currentMode].Brightness & 0x01) 
  for (uint16_t i = 0U; i < NUM_LEDS; i++)
    leds[i] = CHSV(hue, tsue, 255U - leds[i].getLuma());
else
  for (uint16_t i = 0U; i < NUM_LEDS; i++)
    leds[i] = CHSV(hue, tsue, 255U - leds[i].getAverageLight()); 
*/

  blurScreen(20);
}
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@kostyamat,
drawBlop там есть (blob надо бы),
а Блёр - да, наверное, аналог.

@kostyamat , там в drawBlob единичку надо на двойку заменить.
 
Изменено:
  • Лойс +1
Реакции: kostyamat

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@stepko,
во всех.
У обычных прошивок в файле типа effectsTricker есть условие, какую задержку кадру делать.
 
  • Лойс +1
Реакции: stepko

kostyamat

★★★★★★✩
29 Окт 2019
1,098
631
@Сотнег, перенес. Но что-то он скучный сильно. :( Разве для ночника сойдет. Может ему переливание цветов стоит сделать?

ПС. Только что с Ютуба уведомление пришло - "Пульс". Я так понимаю, автор вы? По моему, он так и просится на субпиксельную графику перевестись. Не думали об этом? К тому же, почему "Пульс"? Это "Хризантемы" скорее. ;)
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@kostyamat,
переливание цветов будет, если Масштаб =1.

Пульс - это ещё с весны эффект Палпалыч делал адаптацию. Он во всех прошивках. Название сохранено авторское (от разработчика). Изменений в нём не требуется.
 

gv2710gv

✩✩✩✩✩✩✩
31 Июл 2020
2
0
Здравствуйте, дорогие разработчики.Проект меня очень заинтересовал,прикупил все к нему и решил перепробовать все прошивки на своем компьютере.Самая удачная оказалась от AlexGyver Версия 1.5.5: все работает сразу и без проблем. Очень понравилась прошивка Сотнера 73 эф. один ньюанс не синхронизируется время,т.е не работает будильник и это во всех других прошивках разработчиков.Видимо проблема в моем роутере от Telecom "Роутер NTE-rg-1402g-w." Менял сервера времени ntp1.colocall.net, ntp2.colocall.net, europe.pool.ntp.org и изменял время на свое локальное т.е +6 для Томска #define LOCAL_OFFSET (6 * 60U) в папке Сonstans.h но без результата время показывает по разному 3 00часа, у нас 12 00 добавлял часы еще на +9 00, но минуты не совпадали и не работал будильник , роутер перегружал, все бесполезно. Но в прошивке AlexGyver Версия 1.5.5: #define GMT 7 // смещение (москва 3) #define NTP_ADDRESS "europe.pool.ntp.org" Сервер времени работает без проблем... Вставлял его в другие прошивки, но он не синхронизирутся нигде... Понравилась прошивка gunner47_v1.5 эффекты лампы очень сочные,,но новое проложение к нему NewFireLamp глючит: "работает через раз ,выключается очень быстро и конечно не работает будильник". В приложении от Palpalych, во время компиляции выдает ошибку" exit status 1 IRremoteESP8266.h: No such file or directory," не знаю как устранить...
Поэтому для меня выбора нет, а очень хотелось бы. Подскажите, можно ли синхронизировать время в прошивках без замены роутера и как это сделать? Заранее Спасибо за Ваш труд...
 

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@gv2710gv,
вряд ли дело в роутере.
Самое простое для вас - попробовать на другом роутере, чтобы исключить причину.
 

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@kostyamat,
разве что, если на них наложить "Радугу вертикальную" единым слоем.
Иначе шары не смогут "сливаться".
Если что хорошее получится, делитесь.
 

malec

★★★★✩✩✩
5 Фев 2019
680
257
Вот и мой вариант корпуса для лампы. Плафон из Колорлона Новосибирск. Подставка муфта для 110 трубы. Труба показалась тонковатой, добавил объема глиной. К сожалению глина не запеклась, а сразу растрескалась. Пришлось еще раз пройтись по корпусу гипсом. Далее акриловая краска и немного деталей из глины и алиэкспресса) + старые корпусы от наручных часов.
Технопанк ЖИВ))))))
 
  • Лойс +1
Реакции: andryakov.d

gv2710gv

✩✩✩✩✩✩✩
31 Июл 2020
2
0
Спасибо. Разобрался. Установил прошивку от gunner47_v1.5 и приложения NewFireLamp все работает, но в ней нет эффекта бегущая строка. Как мне его добавить? В генераторе эффектов Вызов эффекта и константа что писать? и куда вставить сгенерированное в Constans.h ?

const String efList_1 = String("LIST1;") +
String("Бегущая строка,1,100,1,100,1;\n");
const String efList_2 = String("LIST2;");
const String efList_3 = String("LIST3;");

=========================================================================================

=================== СКОПИРУЙТЕ СОДЕРЖИМОЕ ЭТОГО БЛОКА В Constants.h =================

#define (1U) // Бегущая строка
#define MODE_AMOUNT (2U) // Количество эффектов

=========================================================================================

=================== СКОПИРУЙТЕ СОДЕРЖИМОЕ ЭТОГО БЛОКА В effectTricker.h =================

case : ; break; // (1U) Бегущая строка


@gv2710gv,
вряд ли дело в роутере.
Самое простое для вас - попробовать на другом роутере, чтобы исключить причину.
 

menooooo

★✩✩✩✩✩✩
4 Мар 2019
71
10
Спасибо. Разобрался. Установил прошивку от gunner47_v1.5 и приложения NewFireLamp все работает, но в ней нет эффекта бегущая строка. Как мне его добавить? В генераторе эффектов Вызов эффекта и константа что писать? и куда вставить сгенерированное в Constans.h ?

const String efList_1 = String("LIST1;") +
String("Бегущая строка,1,100,1,100,1;\n");
const String efList_2 = String("LIST2;");
const String efList_3 = String("LIST3;");

=========================================================================================

=================== СКОПИРУЙТЕ СОДЕРЖИМОЕ ЭТОГО БЛОКА В Constants.h =================

#define (1U) // Бегущая строка
#define MODE_AMOUNT (2U) // Количество эффектов

=========================================================================================

=================== СКОПИРУЙТЕ СОДЕРЖИМОЕ ЭТОГО БЛОКА В effectTricker.h =================

case : ; break; // (1U) Бегущая строка
Я сделал взяв другую прошивку за основу)
 

Сотнег

★★★★★★★
15 Янв 2020
4,253
1,467
@gv2710gv,
там, где вы прошивку брали, есть ссылка на более свежую модификацию (73/74 эффекта).
Там есть Бегущая строка.

Если вы разобрались, значит и с ней проблем не будет.
 

SireBiryus

✩✩✩✩✩✩✩
16 Авг 2020
3
0
Если будете собирать на Arduino, обратите внимание:
1. Пины кнопки и ленты не соответствуют схеме представленной в видео.
2. При использовании механической кнопки не регает нажатия кроме удержания и 5 кликов. Лечится правкой скетча button, перемещаем условия:
  • одинарного нажатия в начало кода, перед проверкой статуса включения;
  • дабл тапа и триплтапа после проверки статуса включения, перед проверкой 5тикратного нажатия.
 

stepko

★✩✩✩✩✩✩
26 Июн 2020
146
32
@SireBiryus, Какая прошивка на Ардуино, их три, наверное от Norovl 1.2, да?