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

tobsik

✩✩✩✩✩✩✩
2 Апр 2019
18
0
35
Новороссийск
всем привет. Странная ситуация у меня: ESP 01 модуль. Цепляю сигнальный провод от сенсорной кнопки и ESP не запускается. менял кнопки, менял модули esp. Не помогает ничего. Питание на модуль подаётся. Пробовал разные пины - картина та же. Прошу помощи
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Ещё подмывало сделать у эффекта "Матрица" (зелёные падающие сверху вниз метеоры)
цвет более похожим на тот, что в фильме.
Ну я сделал. А посмотреть результат уже не на чем... :cry:

Update:
Цвета поправил, теперь похоже, но сфотографировать эти цвета не удаётся.


C-like:
// ------------- матрица ---------------
void matrixRoutine()
{
  // обрабатываем верхний ряд пикселей матрицы
  for (uint8_t x = 0U; x < WIDTH; x++)
  {
    // ох, если бы я сразу знал, что getPixColorXY возвращает другое значение, не то, которое было отправлено через drawPixelXY
    uint32_t thisColor = getPixColorXY(x, HEIGHT - 1U);
    if (thisColor == 0U)                                                                                          // если верхний пиксель не горит,
      drawPixelXY(x, HEIGHT - 1U, (0x99ff00) * (random(0, 100 - modes[EFF_MATRIX].Scale) == 0U));                 //   заполняем его с вероятностью .Scale  + признак скорости
    else if (thisColor <= 0x0d1406)                                                                               // если же он почти потух,
      drawPixelXY(x, HEIGHT - 1U, 0U);                                                                            //   гасим его окончательно
    else if (thisColor >= 0x96fc00)                                                                               // если он максимальной яркости,
      drawPixelXY(x, HEIGHT - 1U, thisColor - 0x467700);  //284400                                                //   резко снижаем яркость
    else                                                                                                          // а иначе,
      drawPixelXY(x, HEIGHT - 1U, thisColor - 0x0a1100);                                                          //   снижаем яркость на 1 уровень
  }
    
  // сдвигаем всё вниз
  for (uint8_t x = 0U; x < WIDTH; x++)
  {
    for (uint8_t y = 0U; y < HEIGHT - 1U; y++)
    {
      drawPixelXY(x, y, getPixColorXY(x, y + 1U));                                                                //   просто копируем пиксель на пиксель ниже него)
    }
  }
}
matrixx.jpg IMG_20200217_175152.jpg
Если кто поставит себе, отпишитесь, как оно?

Update: Ядро падающей точки теперь отделено от шлейфа резким переходом цвета по рекомендации @Belokota.
matrix1.jpg
 
Изменено:

George

★★✩✩✩✩✩
25 Дек 2019
372
58
всем привет. Странная ситуация у меня: ESP 01 модуль. Цепляю сигнальный провод от сенсорной кнопки и ESP не запускается. менял кнопки, менял модули esp. Не помогает ничего. Питание на модуль подаётся. Пробовал разные пины - картина та же. Прошу помощи
Покажите куда вы цепляете и что делаете? Фото монтажа, скетч. Какое питание? Там всего четыре пина, два из которых будут работать без танцев.
Найдите мой пост, где я всё нарисовал.
Да и главное - модуль запустится только с зажатой кнопкой и ресетом, если в скетче ничего не менять.
И ещё - я единственный здесь, кто сделал лампу на этом модуле и что-то про это написал.
 
Изменено:
  • Лойс +1
Реакции: Boroda и tobsik

Татьяна Аникеенко

✩✩✩✩✩✩✩
10 Фев 2020
9
4
Есть проблема. Прошивка от АлехГивер на плату NodeMCU стала ровно. При загрузке как положено мигали светодиоды (типа как RX TX на Arduino) и светился один крайний светодиод на ленте возле Din зеленым цветом. Но после загрузки Монитор порта пустой и лента не горит вообще. Светодиод на сенсоре при нажатии загорается. Может это лента неисправна?
 

tobsik

✩✩✩✩✩✩✩
2 Апр 2019
18
0
35
Новороссийск
Покажите куда вы цепляете и что делаете? Фото монтажа, скетч. Какое питание? Там всего четыре пина, два из которых будут работать без танцев.
Найдите мой пост, где я всё нарисовал.
Да и главное - модуль запустится только с зажатой кнопкой и ресетом, если в скетче ничего не менять.
И ещё - я единственный здесь, кто сделал лампу на этом модуле и что-то про это написал.
Спасибо! я пропустил информацию о том, что модуль запустится только с нажатым ресетом и кнопкой)
 

George

★★✩✩✩✩✩
25 Дек 2019
372
58
Есть проблема. Прошивка от АлехГивер на плату NodeMCU стала ровно. При загрузке как положено мигали светодиоды (типа как RX TX на Arduino) и светился один крайний светодиод на ленте возле Din зеленым цветом. Но после загрузки Монитор порта пустой и лента не горит вообще. Светодиод на сенсоре при нажатии загорается. Может это лента неисправна?
Сброс после загрузки нажимали? Лампа раздаёт сеть с тем названием, что в скетче?
 
Изменено:

tobsik

✩✩✩✩✩✩✩
2 Апр 2019
18
0
35
Новороссийск
Пины 0 и 2 программировали?
да, я матрицу подключил на 3 GPIO, а кнопку перебирал на 0 и на 2. Не могу найти в скетче, где отключить это (запуск при зажатом ресете и кнопки) . Не подскажите?
 
Изменено:

Татьяна Аникеенко

✩✩✩✩✩✩✩
10 Фев 2020
9
4
@George, в сеть я пока не лезла. Лента просто не горит, хотя напряжение по всей длине от 3,9 до 4,2 В. Попыталась перезалить скетч, при загрузке на ленте уже горели два светодиода возле Din - один синим, другой зеленым. При включении с зажатым Reset на плате включается и остается гореть белым крайний светодиод на ленте возле Din..
 

LazyKiddo

✩✩✩✩✩✩✩
14 Фев 2020
1
0
Та же проблема как у @Татьяна Аникеенко -- после прошивки лампа реагирует на кнопку несколько раз, затем после включения горит один диод на матрице и все. Управление только с приложения...
 

ShONik

★✩✩✩✩✩✩
30 Ноя 2019
53
14
Посмотреть вложение 9557
Если кто поставит себе, отпишитесь, как оно?
Update: Ядро падающей точки теперь отделено от шлейфа резким переходом цвета по рекомендации @Belokota.[/QUOTE]

я бы сказал, что эффект матрица превратился...в головастика, наверное так. то есть белый цвет, затем переход в зелёный и более зелёный
Белый точно нужно исключить (скорее он должен быть светло-зелёным)
Ну и цвет точно, не как в фильме (далеко ни как)
 
  • Лойс +1
Реакции: Сотнег

ShONik

★✩✩✩✩✩✩
30 Ноя 2019
53
14
@Сотнег,
по огню, пока не понял есть ли изменения?
Хуже точно не стало, а вот перемещается ли он, влево/вправо что то не уловил. Наверное нужно вторую лампу поставить рядом, чтобы разницу очевидную уловить
 
  • Лойс +1
Реакции: Сотнег

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
Если кто поставит себе, отпишитесь, как оно?
Update: Ядро падающей точки теперь отделено от шлейфа резким переходом цвета по рекомендации @Belokota.
я бы сказал, что эффект матрица превратился...в головастика, наверное так. то есть белый цвет, затем переход в зелёный и более зелёный
Белый точно нужно исключить (скорее он должен быть светло-зелёным)
Ну и цвет точно, не как в фильме (далеко ни как)
Видимо, пока я без лампы, я ничего не сделаю путного.
Нужно подбирать цвет и смотреть, что получается.
Если только кто-то другой подберёт нам цвета, тогда быстрее получится...

Я на палитру экрана монитора ориентировался.
Сейчас эффект сделан как во второй строчке. Изначально было, как в четвёртой.
То есть никакого белого цвета там по идее нет...
matrix1.jpgmatrixx.jpg

@Сотнег,
по огню, пока не понял есть ли изменения?
Хуже точно не стало, а вот перемещается ли он, влево/вправо что то не уловил. Наверное нужно вторую лампу поставить рядом, чтобы разницу очевидную уловить
Я не ставил задачи, чтобы эффект был заметен.
Очаг должен очень медленно крутиться туда-сюда.
Если оставить пометку, где у пламени яма, то минут через пять, скорее всего, эта яма переместится куда-нибудь в сторону...

Если есть идеи, как сделать хорошо, я готов поправить алгоритм или показать, где править.

Если резко менять местоположение очага, то у меня есть сомнения, не будет ли картинка мельтешить.
Вот попробуйте, если есть желание:
C-like:
  if ((random(0, 15) == 0) shiftMask = (shiftMask + 5) % 16U;   // [динамический очаг] иногда резко двигаем очаг
//  switch (random(0, 15))                                                // [динамический очаг] двигаем очаг каждый кадр
//  {
//    case 0U:                                                           // [динамический очаг] влево
//    {
//      if (shiftMask == 0) shiftMask = 15;
//        else shiftMask -= 1;
//    }
//    case 2U:                                                           // [динамический очаг] вправо
//    {
//      if (shiftMask == 15) shiftMask = 0;
//        else shiftMask += 1;
//    }
//  }
 
Изменено:

kDn

★★★★★✩✩
18 Ноя 2019
1,103
437
@Сотнег, у вас огонь смещается рандомно влево-вправо. При этом на каждой отрисовке. А теперь если прикинуть, что отрисовок может быть до 60 в секунду, то визуально увидеть что что-то куда-то смещалось ИМХО невозможно. А в среднем же огонь будет все также стоять на том самом месте, при нормальном распределении. Правильным подходом лично я вижу - смещение в какую-либо сторону в течение нескольких кадров. К примеру - каждый 20 кадр - сдвиг вправо на один пиксель. Также не сильно хорошо закладываться на константы вида 16 и т.д. лучше использовать дефайны для ширины и высоты, поскольку матрицы могут быть сильно разные.

* Я поглядел оба ваших эффекта. В принципе матрицу может и имеет смысл оставить, хотя с учетом светимости выглядит не так, как на приведенной вами картинке, а гораздо ярче. С длиной всего хвоста где-то на 10 пикселей. С огнем же - в текущем варианте смысла не имеет, визуально выглядит также как и было, может чуть мерцание иное, но это сложно оценить.
 
  • Лойс +1
Реакции: Palpalych и Сотнег

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
у вас огонь смещается рандомно влево-вправо. При этом на каждой отрисовке. А теперь если прикинуть, что отрисовок может быть до 60 в секунду, то визуально увидеть что что-то куда-то смещалось ИМХО невозможно. А в среднем же огонь будет все также стоять на том самом месте, при нормальном распределении.
Вы недооцениваете нормальное распределение.
Там всего 8 пикселей - полный оборот очага пламени вокруг всей лампы (с учётом повтора рисунка на изначальных 16ти).

Также не сильно хорошо закладываться на константы вида 16 и т.д. лучше использовать дефайны для ширины и высоты, поскольку матрицы могут быть сильно разные.
Я не менял оригинальный эффект, а всего лишь сдвигал его.
А оригинальная маска - она на 16 сделана.
Хотя в эти 16 она дважды повторяется, так что можно было сэкономить памяти спокойно.

С огнем же - в текущем варианте смысла не имеет, визуально выглядит также как и было
Цель была в том, чтобы тёмная яма в рисунке пламени не оставалась постоянно в одном и том же месте.
А визуально отличаться не должно.

Добавил в сообщении выше модификацию, чтобы очаг пламени перемещался резко.
Если тоже оцените, буду благодарен.
 
Изменено:

Kostefan

✩✩✩✩✩✩✩
22 Дек 2019
9
3
Не могу подключиться к телефону, лампа работала , приложение подключалось, а сейчас не работает приложение, не могу подключиться. Я уже и перепрошивал, точка доступа соединяется, айпи адрес правильный ввожу и все, к телефону не подключается. Что я не так делаю подскажите плиз.
 

vladimirsh

✩✩✩✩✩✩✩
12 Дек 2018
3
0
wemos d1 mini
залил скетч, подключил к роутеру
на матрице рандомом зажигается то один светодиод, то строчка
на кнопку и приложение не реагирует
в приложение пишет, что всё плата подключена и всё хорошо
подскажите пожалуйста возможные причины и решения
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
на кнопку и приложение не реагирует
в приложение пишет, что всё плата подключена и всё хорошо
подскажите пожалуйста возможные причины и решения
А приложение на кнопку реагирует?
Типа, если вы кнопку нажимаете однократно, в приложении меняется статус вкл/выкл?
(не уверен, что в реальном времени должно, но как минимум после перезапуска приложения оно считывает статус с лампы)
 

Сотнег

★★★★★★★
15 Янв 2020
4,340
1,492
@vladimirsh, я тогда ничего не понял.
Давайте картинки.
Где кто у вас пишет, в какое приложение?