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

Александр Бирюков

✩✩✩✩✩✩✩
19 Фев 2020
11
0
Парни, это дефект матрицы.
Решил отпаять первый нерабочий светодиод, включил матрицу и карандашом хотел его пометить. Чуть поднажал - и вся матрица заработала как надо.
Скорее всего плохая пропайка...
 

kreomarcell

✩✩✩✩✩✩✩
23 Фев 2020
4
1
@Александр Бирюков, матрицу покупал на Aliexpress, в составе kit, по ссылке у Gyver'а (zofipo Official Store). Вместе с блоком питания. Смущает то, что в отзывах на Али никто про такую проблему не пишет, у всех всё работает.
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@Gogy , @Palpalych ,
Разные скорости - отстой. Хвосты длинные - хз.


При просмотре видео на Ютюбе можно скорость воспроизведения уменьшить, кому захочется:
C-like:
// ------------- матрица ---------------
bool martixIsOdd = false;
void matrixRoutine()
{
  martixIsOdd = !martixIsOdd;
  for (uint8_t x = 0U; x < WIDTH; x++)
  {
    // обрабатываем нашу матрицу снизу вверх до второй сверху строчки
    for (uint8_t y = 0U; y < HEIGHT - 1U; y++)
    {
      uint32_t thisColor = getPixColorXY(x, y);                                              // берём цвет нашего пикселя
      uint32_t upperColor = getPixColorXY(x, y + 1U);                                        // берём цвет пикселя над нашим
      if (upperColor >= 0x900000 && random(10 * HEIGHT) != 0U)               // если выше нас максимальная яркость, игнорим этот факт с некой вероятностью или опускаем цепочку ниже
      {
        if (martixIsOdd || upperColor <= 0x9a0000) drawPixelXY(x, y, upperColor);
      } 
      else if (thisColor == 0U && random((100 - modes[EFF_MATRIX].Scale) * HEIGHT*3) == 0U) // если наш пиксель ещё не горит, иногда зажигаем новые цепочки
        drawPixelXY(x, y, 0x9bf800 - random(2)*0x020300);
      else if (thisColor <= 0x050800)                                                        // если наш пиксель почти погас, стараемся сделать затухание медленней
      {
        if (thisColor >= 0x030000)
        {
          if (martixIsOdd || thisColor <= 0x040000) drawPixelXY(x, y, 0x020300);
        } 
        else if (thisColor != 0U)
          drawPixelXY(x, y, 0U);
      }
      else if (thisColor >= 0x900000)                                                        // если наш пиксель максимальной яркости, резко снижаем яркость
      {
        if (martixIsOdd || thisColor <= 0x9a0000) drawPixelXY(x, y, thisColor - 0x467000);
      } 
      else if (martixIsOdd || thisColor % 0x050800 >= 0x010000) drawPixelXY(x, y, thisColor - 0x050800);                                             // в остальных случаях снижаем яркость на 1 уровень
//        drawPixelXY(x, y, thisColor - 0x050800);                                             // в остальных случаях снижаем яркость на 1 уровень
    }
    // аналогично обрабатываем верхний ряд пикселей матрицы
    uint32_t thisColor = getPixColorXY(x, HEIGHT - 1U);
    if (thisColor == 0U)                                                                     // если наш верхний пиксель не горит, заполняем его с вероятностью .Scale
    {
      if (random(100 - modes[EFF_MATRIX].Scale) == 0U)
        drawPixelXY(x, HEIGHT - 1U, 0x9bf800 - random(2)*0x020300);
    } 
    else if (thisColor <= 0x050800)                                                          // если наш верхний пиксель почти погас, стараемся сделать затухание медленней
    {
      if (thisColor >= 0x030000)
        {
          if (martixIsOdd || thisColor <= 0x040000) drawPixelXY(x, HEIGHT - 1U, 0x020300);
        } 
      else
        drawPixelXY(x, HEIGHT - 1U, 0U);
    }
    else if (thisColor >= 0x900000)                                                          // если наш верхний пиксель максимальной яркости, резко снижаем яркость
      {
        if (martixIsOdd || thisColor <= 0x9a0000) drawPixelXY(x, HEIGHT - 1U, thisColor - 0x467000);
      } 
    else if (martixIsOdd || thisColor % 0x050800 >= 0x010000) drawPixelXY(x, HEIGHT - 1U, thisColor - 0x050800);                                             // в остальных случаях снижаем яркость на 1 уровень
//       drawPixelXY(x, HEIGHT - 1U, thisColor - 0x050800);                                             // в остальных случаях снижаем яркость на 1 уровень
  }
}

С короткими хвостами одной скоростью - тут.
 
Изменено:
  • Лойс +1
Реакции: Palpalych

ctapyxa

✩✩✩✩✩✩✩
23 Фев 2020
2
0
Доброго времени суток. Может сможет кто-то подсказать где я накосячил:
Прошивка 1.5.5
Использовал NodeMCU v3, сенсор TOUCH v1.0, блок питания 5в 6А, 52 витка по 17 диодов. БП выкручен до 4,77в. Конденсатор с материнки был взят на 6,3в 1000 uF
После загрузки прошивки загорается 1 диод на ленте(иногда 2). Горит диод на сенсоре(сенсор питание подключено 3,3в , 5в тоже пробовал). Светодиодные ленты перепроверены. Горят все диоды.
Всё протыкано мультиметром, нигде ничего не коротит.
Распиновка как на схемах. Матрица по типу зигзаг, 2 и 2. В настройках стоит точка доступа.
Точка доступа появляется буквально на 10 секунд, потом пропадает.

Брал другую такую же чистую плату, без подключения всего, прошивал - та же беда, точка доступа мигнула и пропала из списка.
 
Изменено:

Krasivsobaka

✩✩✩✩✩✩✩
2 Фев 2019
7
2
При запуске esp 8266 GPIO 2(D4) не должен быть подключен на землю. На готовых модулях типа Node MCU такой проблемы возможно нет но может кому то пригодится. С голым модулем ESP12E столкнулся с отсутствием запуска модуля при подключенной матрице. То есть если запуск производить с отключенным Din матрицы а потом его подключать то все работает а если запускать с уже присоединенным то модуль не определяется в сети и не работает. С ESP12F такой проблемы не было но однократно такой глюк был при срабатывании будильника. Модуль перестал определяться в сети и будильник постоянно пищал пока не передернул питание.Проблему решил компиляцией прошивки с выводом матрицы вместо 2 на GPIO12(D6) который не критичен к состоянию при запуске.Можно и на 13 или на 14 которые тоже в прошивке не задействованы
 
  • Лойс +1
Реакции: ctapyxa

kreomarcell

✩✩✩✩✩✩✩
23 Фев 2020
4
1
@Wan-Derer, так проблема в питании, вы считаете? Просто именно таких глюков я в описании не встречал, обычно или кнопка не работает или wifi или матрица не горит вовсе. В отзывах на набор у китайского продавца ни один человек не написал, что у него что-то не работает, а блок питания-то один и тот же.
Я все же предолагаю, что может быть проблема со сборкой какая-то или последствия неправильного подключения.
 

Сотнег

★★★★★★★
15 Янв 2020
4,240
1,466
@ctapyxa, попробуйте для начала запустить на меньшем количестве светодиодов.
Просто в прошивке поставьте 17х16. Перепаивать не нужно.
 

ctapyxa

✩✩✩✩✩✩✩
23 Фев 2020
2
0
@Krasivsobaka, Большущее спасибо, нашёл куда рыть, и нарыл. Вы абсолютно правы. Нашёл даже гитхабе табличку...


Перепаял диоды и кнопку на 6 и 7 пины соответственно. Лента мигает всеми цветами радуги в рандомном порядке я так понимаю.

Осталось две проблемы: пропадающая точка доступа и неработающая сенсорная кнопка.

UPD: кнопка работает. проста такая конфигурация кнопки.
UPD2: при попытке подключиться к точке, она запрашивает ип, и после сбрасывает. через какое-то время точка доступа пропадает.
 
Изменено:

Yevgeniy

✩✩✩✩✩✩✩
19 Янв 2020
2
0
Всем привет. Я вот устанавливал прошивку для Ардуино. И сталкнулся с проблеммой кнопки. Сама все переулючала. В функцию setup добавил функция debounc и все заработало.

Но просматривая код, пришел к выводу, что много всяких мелочей не доделано для обывателя. Кое-что надо самому до делывать и менять.
Так что прежде чем заливать прошивку, проработайте ее сами. Пришлось покарпеть над ней. Сам С и С++ знаю не очень хорошо. Только начал их изучать.
Но разобраться можно!
Всем успеха с проектом!
 

kreomarcell

✩✩✩✩✩✩✩
23 Фев 2020
4
1
@Александр Бирюков, в общем, я выяснил в чем было дело. Все описанные мной выше глюки (залипание диодов в горящем виде при выключенной лампе, произвольное вспыхивание во время работы) - следствие плохого контакта одного из светодиодов. Стоило его прижать посильнее к матрице и все заработало, как по мановению волшебной палочки. Пропаял контакты, вроде работает, не знаю надолго ли хватит. Не уверен, что это дефект матрицы, скорее всего я сам повредил пайку, когда с обратной стороны перепаивал провода. Питание оказалось ни при чем.
 

Александр Бирюков

✩✩✩✩✩✩✩
19 Фев 2020
11
0
@san100, фена нет - я больше ИТ-шник, чем радиолюбитель :)

пропаял, сейчас в лампу засуну -там уже никто трогать не будет - будет работать, никуда не денется
 

CrashGrad

✩✩✩✩✩✩✩
24 Фев 2020
1
1
Ребята! Как сделать лампу автономной? Без wi-fi и управления через приложение? Можно управление только кнопкой. Плата Node
 
  • Лойс +1
Реакции: maxmod

DrDoc

✩✩✩✩✩✩✩
24 Фев 2020
4
0
Добрый день/вечер. Делаем с другом лампу, все по гайду. Однако, у нас возникла проблема. Матрица 16*16 работает не корректно. При включении, загорается 1 светодиод. Через секунд 15-20 загорается уже 5 и все. Иногда, если переткнуть в розетку провод, то в рандомных местах загораются 3 светодиода, красным и синими цветами. Вместо адаптера, мы используем блок питания на 5V и 4A. Подскажите, в чем может быть проблема. Заранее спасибо.
 

woow

★✩✩✩✩✩✩
8 Янв 2020
14
21
@DrDoc, читайте гид, возможно завышенное напряжение, и десятки вольт влияет лучше 4,9 чем 5,2
 

Александр Бирюков

✩✩✩✩✩✩✩
19 Фев 2020
11
0
@DrDoc, сложно диагностировать заочно. Посмотрите мои посты на последних двух страницах - проблема была в плохом контакте на матрице - из за этого наблюдались схожие с вашими глюки...
По питанию - вчера всё окончательно собрал, сейчас лампа 16х16 работает от блока 5V и 2А - всё нормально.
 

woow

★✩✩✩✩✩✩
8 Янв 2020
14
21
@DrDoc, попробуйте снизить до 4,9 или 4,8 там же должна быть крутилка, раз у вас БП или я не так понял. Не факт что поможет,возможны и другие причины, но факты есть и мой опыт тоже
 

DrDoc

✩✩✩✩✩✩✩
24 Фев 2020
4
0
@Palpalych, мне это не поможет, так как я использовал матрицу, а не ленту, либо я слишком глуп, чтобы понять что-то
 

Koteyka 🐱

★★★★★★✩
Команда форума
27 Окт 2019
935
556
54
Днепр, Украина
firelamp.pp.ua
ОБНОВЛЕНИЕ !!!
Качайте, пока еще работает сайт.
В настройках эффектов добавлен переключатель У меня водопад (перезапуск), для тех, кто заменил белый огонь на водопад.
Интервалы в избранном переделаны в секунды и минуты (от 5 сек до 60 мин), а так же сделаны выпадающим списком.