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, проблема с загрузкой скетча
Читайте (ЧИТАЙТЕ! Не пишите!) эти темы, там уже есть решение вашей проблемы.
Здесь подобные вопросы считаются оффтопом и молча удаляются, а авторы получают баллы нарушений.
 
Изменено:

menooooo

★✩✩✩✩✩✩
4 Мар 2019
72
10
Кто-то делал автономную лампу?
Можете скинуть примеры?
 

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
Кто-то делал автономную лампу?
В каком смысле - автономную ? В режиме точки доступа она автономна, управляется с девайса, но не подключается к интернет, поэтому все возможности, связанные со временем, недоступны. Если бы лампа умела брать время со смартфона в режиме точки доступа, то в принципе можно бы это было назвать полноценной автономной работой.
 

menooooo

★✩✩✩✩✩✩
4 Мар 2019
72
10
В каком смысле - автономную ? В режиме точки доступа она автономна, управляется с девайса, но не подключается к интернет, поэтому все возможности, связанные со временем, недоступны. Если бы лампа умела брать время со смартфона в режиме точки доступа, то в принципе можно бы это было назвать полноценной автономной работой.
В смысле на аккумуляторов)
 

Сотнег

★★★★★★★
15 Янв 2020
4,448
1,520
Друзья помогите !!!
Вот уже долгое время не могу справиться с прошивкой
Плапа вот такаяПосмотреть вложение 13041

Происходид следующее -
Когда все собрано по схеме и попытке прошиться куча ошибок
Когда одна плата - пишет прошивка завершена но при этом внизу много красных строк - считается ли это удачной прошивкой ?
Даже после того ( одна плата вроде бы прошилась ) и при включении ее в схему и подачи питания ничего не происходит
Настройки программы сделаны по скриншотам
Может для этой плапы нужны другие настройки ?
Прошивка от gunner47 (+ новое приложение)
Уважаемые знатоки ! - будьте любезны поиогите
Красные надписи ничего плохого не значат.
Иногда, говорят, приходится порт управления матрицей переносить на другой пин,
но у вас, скорее всего, просто в пайке где-то накосячено.

Если на прошитую плату подать питание, должна появиться wifi точка доступа (телефоном можно найти) с названием про лампу.
 

Ravshan

✩✩✩✩✩✩✩
4 Май 2020
18
0
Привет всем с днём победы товарищи!!! 75 лет!!!
Кто нибудь знает как перевести бегущий строку на середину матрицы что бы точна попал в середину! В прошивке
 

Вложения

Сотнег

★★★★★★★
15 Янв 2020
4,448
1,520
А есть эффект кубик-рубика ? ну примерно так же как замок, только еще сделать вертикальные сдвиги вверх и вниз ?
Тоже такое себе
Эффект Кубик Рубика

Масштаб выбирает палитру и размер ячеек (внутри каждой палитры).
На нечётных цифрах бегунка скорости добавлена возможность сделать не квадратики, а прямоугольники.


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:
// ------------------------------ ЭФФЕКТ КУБИК 2D ----------------------
// (c) SottNick

#define PAUSE_MAX 7

//uint8_t noise3d[1][WIDTH][HEIGHT];
//uint8_t hue2; // осталось шагов паузы
//uint8_t step; // текущий шаг сдвига (от 0 до deltaValue-1)
//uint8_t deltaValue; // всего шагов сдвига (от 3 до 4)
//uint8_t deltaHue, deltaHue2; // глобальный X и глобальный Y нашего "кубика"
uint8_t razmerX, razmerY; // размеры ячеек по горизонтали / вертикали
uint8_t shtukX, shtukY; // количество ячеек по горизонтали / вертикали
uint8_t poleX, poleY; // размер всего поля по горизонтали / вертикали (в том числе 1 дополнительная пустая дорожка-разделитель с какой-то из сторон)
int8_t globalShiftX, globalShiftY; // нужно ли сдвинуть всё поле по окончаии цикла и в каком из направлений (-1, 0, +1)
bool seamlessX; // получилось ли сделать поле по Х бесшовным
bool krutimVertikalno; // направление вращения в данный момент

void cube2dRoutine(){
    uint8_t x, y;
    uint8_t anim0; // будем считать тут начальный пиксель для анимации сдвига строки/колонки
    int8_t shift, kudaVse; // какое-то расчётное направление сдвига (-1, 0, +1)
    CRGB color, color2;
   
    if (loadingFlag)
    {
      loadingFlag = false;
      setCurrentPalette();
      FastLED.clear();

      razmerY = (modes[currentMode].Scale - 1U) % 11U + 1U; // размер ячейки от 1 до 11 пикселей для каждой из 9 палитр
      razmerX = (modes[currentMode].Scale - 1U) % 11U + 1U; // размер ячейки от 1 до 11 пикселей для каждой из 9 палитр
      if (modes[currentMode].Speed & 0x01) // по идее, ячейки не обязательно должны быть квадратными, поэтому можно тут поизвращаться
        razmerY = (razmerY << 1U) + 1U;

      shtukY = HEIGHT / (razmerY + 1U);
      if (shtukY < 2U)
        shtukY = 2U;
      y = HEIGHT / shtukY - 1U;
      if (razmerY > y)
        razmerY = y;
      poleY = (razmerY + 1U) * shtukY;
      shtukX = WIDTH / (razmerX + 1U);
      if (shtukX < 2U)
        shtukX = 2U;
      x = WIDTH / shtukX - 1U;
      if (razmerX > x)
        razmerX = x;
      poleX = (razmerX + 1U) * shtukX;
      seamlessX = (poleX == WIDTH);
      deltaHue = 0U;
      deltaHue2 = 0U;
      globalShiftX = 0;
      globalShiftY = 0;

      for (uint8_t j = 0U; j < shtukY; j++)
      {
        y = j * (razmerY + 1U); // + deltaHue2 т.к. оно =0U
        for (uint8_t i = 0U; i < shtukX; i++)
        {
          x = i * (razmerX + 1U); // + deltaHue т.к. оно =0U
          if (modes[currentMode].Scale == 100U)
            color = CHSV(45U, 0U, 128U + random8(128U));
          else 
            color = ColorFromPalette(*curPalette, random8());
          for (uint8_t k = 0U; k < razmerY; k++)
            for (uint8_t m = 0U; m < razmerX; m++)
              leds[XY(x+m, y+k)] = color;
        }
      }
      step = 4U; // текущий шаг сдвига первоначально с перебором (от 0 до deltaValue-1)
      deltaValue = 4U; // всего шагов сдвига (от 3 до 4)
      hue2 = 0U; // осталось шагов паузы

      //это лишнее обнуление
      //krutimVertikalno = true;
      //for (uint8_t i = 0U; i < shtukX; i++)
      //  noise3d[0][i][0] = 0U;
    }

  //двигаем, что получилось...
  if (hue2 == 0 && step < deltaValue) // если пауза закончилась, а цикл вращения ещё не завершён
  {
    step++;
    if (krutimVertikalno)
    {
      for (uint8_t i = 0U; i < shtukX; i++)
      {
        x = (deltaHue + i * (razmerX + 1U)) % WIDTH;
        if (noise3d[0][i][0] > 0) // в нулевой ячейке храним оставшееся количество ходов прокрутки
        {
          noise3d[0][i][0]--;
          shift = noise3d[0][i][1] - 1; // в первой ячейке храним направление прокрутки

          if (globalShiftY == 0)
            anim0 = (deltaHue2 == 0U) ? 0U : deltaHue2 - 1U;
          else if (globalShiftY > 0)
            anim0 = deltaHue2;
          else
            anim0 = deltaHue2 - 1U;
         
          if (shift < 0) // если крутим столбец вниз
          {
            color = leds[XY(x, anim0)];                                   // берём цвет от нижней строчки
            for (uint8_t k = anim0; k < anim0+poleY-1; k++)
            {
              color2 = leds[XY(x,k+1)];                                   // берём цвет от строчки над нашей
              for (uint8_t m = x; m < x + razmerX; m++)
                leds[XY(m % WIDTH,k)] = color2;                           // копируем его на всю нашу строку
            }
            for   (uint8_t m = x; m < x + razmerX; m++)
              leds[XY(m % WIDTH,anim0+poleY-1)] = color;                  // цвет нижней строчки копируем на всю верхнюю
          }
          else if (shift > 0) // если крутим столбец вверх
          {
            color = leds[XY(x,anim0+poleY-1)];                            // берём цвет от верхней строчки
            for (uint8_t k = anim0+poleY-1; k > anim0 ; k--)
            {
              color2 = leds[XY(x,k-1)];                                   // берём цвет от строчки под нашей
              for (uint8_t m = x; m < x + razmerX; m++)
                leds[XY(m % WIDTH,k)] = color2;                           // копируем его на всю нашу строку
            }
            for   (uint8_t m = x; m < x + razmerX; m++)
              leds[XY(m % WIDTH, anim0)] = color;                         // цвет верхней строчки копируем на всю нижнюю
          }
        }
      }
    }
    else
    {
      for (uint8_t j = 0U; j < shtukY; j++)
      {
        y = deltaHue2 + j * (razmerY + 1U);
        if (noise3d[0][0][j] > 0) // в нулевой ячейке храним оставшееся количество ходов прокрутки
        {
          noise3d[0][0][j]--;
          shift = noise3d[0][1][j] - 1; // в первой ячейке храним направление прокрутки
     
          if (seamlessX)
            anim0 = 0U;
          else if (globalShiftX == 0)
            anim0 = (deltaHue == 0U) ? 0U : deltaHue - 1U;
          else if (globalShiftX > 0)
            anim0 = deltaHue;
          else
            anim0 = deltaHue - 1U;
         
          if (shift < 0) // если крутим строку влево
          {
            color = leds[XY(anim0, y)];                            // берём цвет от левой колонки (левого пикселя)
            for (uint8_t k = anim0; k < anim0+poleX-1; k++)
            {
              color2 = leds[XY(k+1, y)];                           // берём цвет от колонки (пикселя) правее
              for (uint8_t m = y; m < y + razmerY; m++)
                leds[XY(k, m)] = color2;                           // копируем его на всю нашу колонку
            }
            for   (uint8_t m = y; m < y + razmerY; m++)
              leds[XY(anim0+poleX-1, m)] = color;                  // цвет левой колонки копируем на всю правую
          }
          else if (shift > 0) // если крутим столбец вверх
          {
            color = leds[XY(anim0+poleX-1, y)];                    // берём цвет от правой колонки
            for (uint8_t k = anim0+poleX-1; k > anim0 ; k--)
            {
              color2 = leds[XY(k-1, y)];                           // берём цвет от колонки левее
              for (uint8_t m = y; m < y + razmerY; m++)
                leds[XY(k, m)] = color2;                           // копируем его на всю нашу колонку
            }
            for   (uint8_t m = y; m < y + razmerY; m++)
              leds[XY(anim0, m)] = color;                          // цвет правой колонки копируем на всю левую
          }
        }
      }
    }
  
  }
  else if (hue2 != 0U) // пропускаем кадры после прокрутки кубика (делаем паузу)
    hue2--;

  if (step >= deltaValue) // если цикл вращения завершён, меняем местами соотвествующие ячейки (цвет в них) и точку первой ячейки
    {
      step = 0U;
      hue2 = PAUSE_MAX;
      //если часть ячеек двигалась на 1 пиксель, пододвигаем глобальные координаты начала
      deltaHue2 = deltaHue2 + globalShiftY; //+= globalShiftY;
      globalShiftY = 0;
      //deltaHue += globalShiftX; для бесшовной не годится
      deltaHue = (WIDTH + deltaHue + globalShiftX) % WIDTH;
      globalShiftX = 0;

      //пришла пора выбрать следующие параметры вращения
      kudaVse = 0;
      krutimVertikalno = random8(2U);
      if (krutimVertikalno) // идём по горизонтали, крутим по вертикали (столбцы двигаются)
      {
        for (uint8_t i = 0U; i < shtukX; i++)
        {
          noise3d[0][i][1] = random8(3);
          shift = noise3d[0][i][1] - 1; // в первой ячейке храним направление прокрутки
          if (kudaVse == 0)
            kudaVse = shift;
          else if (shift != 0 && kudaVse != shift)
            kudaVse = 50;
        }
        deltaValue = razmerY + ((deltaHue2 - kudaVse >= 0 && deltaHue2 - kudaVse + poleY < (int)HEIGHT) ? random8(2U) : 1U);

/*        if (kudaVse == 0) // пытался сделать, чтобы при совпадении "весь кубик стоит" сдвинуть его весь на пиксель, но заколебался
        {
          deltaValue = razmerY;
          kudaVse = (random8(2)) ? 1 : -1;
          if (deltaHue2 - kudaVse < 0 || deltaHue2 - kudaVse + poleY >= (int)HEIGHT)
            kudaVse = 0 - kudaVse;
        }
*/
        if (deltaValue == razmerY) // значит полюбому kudaVse было = (-1, 0, +1) - и для нуля в том числе мы двигаем весь куб на 1 пиксель
        {
          globalShiftY = 1 - kudaVse; //временно на единичку больше, чем надо
          for (uint8_t i = 0U; i < shtukX; i++)
            if (noise3d[0][i][1] == 1U) // если ячейка никуда не планировала двигаться
            {
              noise3d[0][i][1] = globalShiftY;
              noise3d[0][i][0] = 1U; // в нулевой ячейке храним количество ходов сдвига
            }
            else
              noise3d[0][i][0] = deltaValue; // в нулевой ячейке храним количество ходов сдвига
          globalShiftY--;
        }
        else
          for (uint8_t i = 0U; i < shtukX; i++)
            if (noise3d[0][i][1] != 1U)
              noise3d[0][i][0] = deltaValue; // в нулевой ячейке храним количество ходов сдвига
      }
      else // идём по вертикали, крутим по горизонтали (строки двигаются)
      {
        for (uint8_t j = 0U; j < shtukY; j++)
        {
          noise3d[0][1][j] = random8(3);
          shift = noise3d[0][1][j] - 1; // в первой ячейке храним направление прокрутки
          if (kudaVse == 0)
            kudaVse = shift;
          else if (shift != 0 && kudaVse != shift)
            kudaVse = 50;
        }
        if (seamlessX)
          deltaValue = razmerX + ((kudaVse < 50) ? random8(2U) : 1U);
        else 
          deltaValue = razmerX + ((deltaHue - kudaVse >= 0 && deltaHue - kudaVse + poleX < (int)WIDTH) ? random8(2U) : 1U);
       
/*        if (kudaVse == 0) // пытался сделать, чтобы при совпадении "весь кубик стоит" сдвинуть его весь на пиксель, но заколебался
        {
          deltaValue = razmerX;
          kudaVse = (random8(2)) ? 1 : -1;
          if (deltaHue - kudaVse < 0 || deltaHue - kudaVse + poleX >= (int)WIDTH)
            kudaVse = 0 - kudaVse;
        }
*/         
        if (deltaValue == razmerX) // значит полюбому kudaVse было = (-1, 0, +1) - и для нуля в том числе мы двигаем весь куб на 1 пиксель
        {
          globalShiftX = 1 - kudaVse; //временно на единичку больше, чем надо
          for (uint8_t j = 0U; j < shtukY; j++)
            if (noise3d[0][1][j] == 1U) // если ячейка никуда не планировала двигаться
            {
              noise3d[0][1][j] = globalShiftX;
              noise3d[0][0][j] = 1U; // в нулевой ячейке храним количество ходов сдвига
            }
            else
              noise3d[0][0][j] = deltaValue; // в нулевой ячейке храним количество ходов сдвига
          globalShiftX--;
        }
        else
          for (uint8_t j = 0U; j < shtukY; j++)
            if (noise3d[0][1][j] != 1U)
              noise3d[0][0][j] = deltaValue; // в нулевой ячейке храним количество ходов сдвига
      }
   }
}
 
Изменено:

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
Сограждане, сготовил вторую лампу и когда поставил рядом с первой, заметил разницу. Не только в скорости видео , но и при одинаковых параметрах например белый цвет у одной теплее, отличимо. Ну и главный вопрос в скорости вывода бегущей строки. Все одинаковое -матрицы, контроллеры, прошивка, приложение, параметры:
Тоже такое себе
С удовольствием поимел бы такой эффект в лампе. :)
 

Алексей Наговицын

✩✩✩✩✩✩✩
9 Май 2020
2
0
Собрал лампу на плате NodeMcu v3. Прошивку взял Gunner47. Все прошил, лампа работает, но зависает при работе. Убрал обращение к интернету - зависоны исчезли. Вопрос автору прошивки: Зачем мы постоянно лезем в интернет?
 

35house

✩✩✩✩✩✩✩
9 Май 2020
4
0
Всех с праздником!
Хочу собрать на матрице 16*16, написано что бп надо брать 3А на 100 светодиодов, кто какие блоки использует с такой матрицей ?А то получается 16*16 = 256 светодидов, это надо чуть ли не 8А
 

Сотнег

★★★★★★★
15 Янв 2020
4,448
1,520
@35house, в прошивке предусмотрено ограничение максимальной суммарной яркости.
3 ампера - норм.
Для большей яркости ещё и отвод нагрева нужен.
 

35house

✩✩✩✩✩✩✩
9 Май 2020
4
0
я и планирую центральную стойку сделать из трубы металлической, т.к. светильник будет для племяшки - там безопасность дороже всего. Т.е. 3А которые с Али в корпусе-вилке норм работают ?
 

EGORka

★✩✩✩✩✩✩
15 Мар 2020
87
37
Т.е. 3А которые с Али в корпусе-вилке норм работают ?
Пара штук, что пришли в комплекте работают без нареканий. Я правда круглосуточно на полную не гоняю. Но лампы постоянно включены в сеть, время каждые пять минут показывают, вечером по часу эффекты гоняют. В общем проблем не вижу. И да, вторую лампу я сделал на металлической трубе. С обработкой металла конечно потруднее, но зато теплоотвод получше.
 
  • Лойс +1
Реакции: Старик Похабыч

Алексей Наговицын

✩✩✩✩✩✩✩
9 Май 2020
2
0
@Алексей Наговицын, только до сервера точного времени. Раз в пол часа.
Видимо, если не удалось достучаться, то он опять и опять пытается это сделать и обращения раз в несколько секунд, что вызывает зависоны. Если честно, я случайно решил эту проблему, когда по тексту прошивки пошел. Может быть не стоит постоянно делать этот запрос, если уж не получилось время синхронизировать?
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Может быть не стоит постоянно делать этот запрос, если уж не получилось время синхронизировать?
Не стоит. Но видимо до фикса багов руки не доходят. Есть альтернативные прошивки - проверяйте там, может где исправлено.
У меня такой проблемы нет в принципе - раз синхронизирую по http - ошибка, значит по - ntp. Снова ошибка? Значит пробовать будем через час (ну или сколько там пользователь задал).
 

gespenst79

✩✩✩✩✩✩✩
10 Май 2020
2
3
Народ, объясните как уменьшить токо потребление ламы. В выключеном состоянии схема потребляет около 220 ма.
И вторй вопрос ,почему не используется модуль часов,что бы исключить интернет?
 

Сотнег

★★★★★★★
15 Янв 2020
4,448
1,520
@gespenst79, чтобы сэкономить ток, нужно добавлять в схему мосфет. В прошивках предусмотрено. Реализации есть.

Модуль часов - тоже усложнение схемы, которое уже не заслужило реализации. Всё-таки часов у людей дома хватает обычно, да и интернет почти у всех есть.
 

gespenst79

✩✩✩✩✩✩✩
10 Май 2020
2
3
Согласен с вами,интернет есть почти у каждого и часов в доме не по одной штуке. Но без внутренних часов лампа теряет смысл ,как подарок для людей далёких от колдовства с программами и интернетом.
 
  • Лойс +1
Реакции: YES IDI и centr

Susan1n

✩✩✩✩✩✩✩
30 Мар 2020
4
0
Доброго времени суток.
Я наконец тоже собрал такую лампу, только на аккумуляторах (схему взял с со странички лампы), всё подключил, работает в общем проблем небыло ни каких. Но вот на утро я захотел включить лампу а она не реагирует. поставив на зарядку тут же включилась, но не кнопкой не через приложение я не мог ей управлять. Через некоторое время всё заработало. И я так понял, что за ночь аккумуляторы (2 шт по 4000 мАч) разрядились в ноль, а ведь она (лампа) была выключена.
Вопрос: почему так произошло и как решить эту проблему?
 

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
Вопрос: почему так произошло и как решить эту проблему?
Потребление даже погашенной матрицы около 250мА, уменьшить его можно только с помощью полевого транзистора, полностью отключающего матрицу.