• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Аквариум на esp8266

Aleksey_AA

New member
Ildarmustafin86, приветствую! Залил последнюю версию, но не работают ни часы ни дата. При нажатии на "Ручная установка времени" выдает ошибку, при нажатии автонастройки пишет, что выполнено, но дата и время не меняются. NTP сервер по умолчанию: ntp3.stratum2.ru.
 

Aleksey_AA

New member
Кстати можно так выйти из положения, днем ярче, вечером уменьшать яркость, ночью делать минимальной
К сожелению, я не селен в части вэб морды на esp, поэтому дописал цикл, который отключает и включает подлсветку в нужное мне время. Минус, чтобы его откорректировать надо перезалить скетч.
 

Ildarmustafin86

Active member
Таймер времени я хочу сделать на mosfet и без участия esp. Adc нужен будет на перспективу для pH метра. А вешать кнопку на пин, это придётся еще и обработчик для него дописывать с дребезгом контактов. Это приведёт к увеличению обьема прошивки, а места уже нет, даже для вывода информации по serial. Если только оптимизировать быдло код и где то его уменьшить.
 

Вложения

enjoynering

Well-known member
А вешать кнопку на пин, это придётся еще и обработчик для него дописывать с дребезгом контактов
ничего не надо дописывать. все работает и без обработчика дребезга - просто диапазоны в switch-case слегка расширил. сейчас висит вот эта плата (см миниатюры). vcc подключаю к 3.3в. чтоб не спалить платы типа wemos mini у которых почему-то максимальное на A0 = 3.2V max input. менял R1 на 470КОм. теперь можно до 5.7V подавать. весь код этот код висит в ticker.h с переудом проверки 100..200мс (это вполне достаточно для не тормозной реакции на нажатие)

Код:
/************************************************************************************/
/*
    keyboard_getButton()

    Return pressed button on "5 Button Arduino Keyboard" form eBay or Aliexpress

    NOTE:
    - replace R1=220K on WeMos D1 Mini with 470K or you will damege ESP8266!!!
    - connect "5 Button Arduino Keyboard" to 3.3V, GND & ADC pin
*/
/************************************************************************************/
uint8_t keyboard_getButton()
{
  switch (analogRead(A0))   //write spaces around " ... ", otherwise it may be parsed wrong also see NOTE
  {
    case 500 ... ADC_STEPS: //idle,       Vin=3.3v/606=3.388v or Vin=5.0v/592=5v
      return 0;

    case 0 ... 20:          //station-,   Vin=3.3v/0=0.000v   or Vin=5.0v/3=0.024v
      return 1;

    case 40 ... 80:         //volume-,    Vin=3.3v/58=0.324v  or Vin=5.0v/224=1.854v
      return 2;

    case 140 ... 180:       //volume+,    Vin=3.3v/162=0.906v or Vin=5.0v/85=0.704v
      return 3;

    case 260 ... 300:       //station+,   Vin=3.3v/282=1.577v or Vin=5.0v/386=3.195v
      return 4;

    case 420 ... 460:       //play/pause, Vin=3.3v/437=2.437v or Vin=5.0v/592=4.899v
      return 5;

    default:                //out of range, not a "5 Button Arduino Keyboard"
      return 0;
  }
}
 

Вложения

Ildarmustafin86

Active member
К сожелению, я не селен в части вэб морды на esp, поэтому дописал цикл, который отключает и включает подлсветку в нужное мне время. Минус, чтобы его откорректировать надо перезалить скетч.
Скинь свой код в личку. я тебе добавлю настройку значения подсветки в веб морду
 

Ildarmustafin86

Active member
Добавил только в файловую систему длительность подсветки. В прошивке обработку этого значения сам сделаешь, тебе ее только остается переназначить. Сохраняется как input[1][8]
JavaScript:
http://192.168.4.1/save?input[1][0]=-5&input[1][1]=100&input[1][2]=0&input[1][3]=31&input[1][4]=29&input[1][5]=27&input[1][6]=25&input[1][7]=0&input[1][8]=100
 

Вложения

enjoynering

Well-known member
Понятно. Если очень надо, то можно прикрутить внешний ADC по шине i2c
 

Aleksey_AA

New member
Добавил только в файловую систему длительность подсветки. В прошивке обработку этого значения сам сделаешь, тебе ее только остается переназначить. Сохраняется как input[1][8]
JavaScript:
http://192.168.4.1/save?input[1][0]=-5&input[1][1]=100&input[1][2]=0&input[1][3]=31&input[1][4]=29&input[1][5]=27&input[1][6]=25&input[1][7]=0&input[1][8]=100
Спасибо тебе большое!
 
Сверху Снизу