Часы-метеостанция. Задания на доработку

r4wabr

★✩✩✩✩✩✩
21 Май 2019
47
15
41
Ижевск
Надо этот код в отдельную функцию определить и вызывать например раз в 15 секунд или раз в минуту.
 

2012de

✩✩✩✩✩✩✩
24 Мар 2020
25
0
Появился баг. Стал периодически исчезать и появляться пиксель на адресе (1, 0).
Это заметно на 2ке, при 20-23х часах.
IMG20200609201932.jpg
Не подскажите, что это может быть и в связи с чем начало появляться?
Где копать?
 
Изменено:

r4wabr

★✩✩✩✩✩✩
21 Май 2019
47
15
41
Ижевск
Угол рамки дисплея пальцами прижми. Скорее всего отошла резинка на матрицу.
 

ua3qix

✩✩✩✩✩✩✩
10 Июн 2020
1
0
Привет всем. Возможно уже есть ? Ищу данный проект но с возможностью установки времени кнопками.
 

2012de

✩✩✩✩✩✩✩
24 Мар 2020
25
0
Приветствую всех!
Ни подскажет кто-нибудь, почему в некоторых днях неделях путаются буквы? На фото например, ошибка в Среде, вместо СРЕД, выдаёт СРЕП. Выставляется буква от Понедельника или Пятницы, вместо буквы Д..
Вот код.:
C++:
#if (WEEK_LANG == 0)
static const char *dayNames[]  = {
  " Sun",
  " Mon",
  " Tue",
  " Wed",
  " Thu",
  " Fri",
  " Sat",
};
#else
static const char *dayNames[]  = {
  "BOCK",
  " \7H ",
  "BTOP",
  "CPE\7",
  "\7ETB",
  " \7TH",
  " CY\7",
};
#endif

void loadClock() {
  {
    ....
 }
  // Для четверга в ячейку запоминаем "Ч", для субботы "Б", иначе "П"
  if (now.dayOfTheWeek() == 4) {
    lcd.createChar(7, CH);
  } // Ч
  else if (now.dayOfTheWeek() == 3) {
    lcd.createChar(7, DD);
  } // Д
  else if (now.dayOfTheWeek() == 6) {
    lcd.createChar(7, BB);
  } // Б
  else {
    lcd.createChar(7, PP);
  } // П
}
IMG-20200624.jpg
 
Изменено:

valeps

✩✩✩✩✩✩✩
29 Дек 2019
1
0
Портировал на ESP8266 12E (на базе модифицированной прошивки от Norovl v1.5c24 )
- Синхронизация времени через NTP
- Вэб страница часов с данными датчиков и страницей настроек
- Настройки сохраняются в файловую систему LittleFS
- Обновление прошивки "по воздуху" (через вэб страницу часов, но первый раз придется прошить через COM порт)
- Подключение к MQTT брокеру и отправка показаний температуры, давления, влажности, содержания CO2
- После включения подымается WiFi точка 192.168.4.1 (адрес будет на LCD, CLOCK-SSID).
Нужно зайти на страницу и прописать параметри подключения к WiFi, часовой пояс, данные для MQTT брокера
В дальнейшем часы будут получать адрес от вашей сети

исходники
Информация ESP8266 - какие пины относятся к I2C, рекомендации по подключению.
Вот идея супер, я прочел всю ветку и самое интересное оказалась на последнем посте. Что бы еще хотелось это прикрутить сюда Большой LCD экран OPEN-SMART 3.0 у меня есть, А так же систему управления реле в зависимости от параметров что-то включать . скажем давно хотелось сделать управление обычными ПВХ окнами, скажем, что когда в ночью становится душно открывалось окно , а затем закрывалось, что бы не замерзнуть, особенно это касается зимой. Чтобы спать со свежим воздухом. Но пока я не нашел внятных приводов для моих окон, на али.
Но передача информации по инету и возможность привязки к умному дому это уже класс.

Вот еще вопрос , у меня есть датчик cjmcu-8128 можно его прикрутить вместо BMP280? , да еще у меня крутилка без кнопки , можно ли кнопку вывести отдельно ?
 

Wadya

✩✩✩✩✩✩✩
15 Авг 2020
1
0
Ребят подскажите как из прошивки Norovl убрать отсчет секунд, но при этом чтобы отображался день недели? Настройка #define DISP_MODE 1 либо отключает и секунды и день недели, либо включает и секунды и недели.
 

2012de

✩✩✩✩✩✩✩
24 Мар 2020
25
0
Здорова мужики!
Подскажите

C++:
.....
#if (CO2_SENSOR == 1)
  lcd.setCursor(1, 2);
  if (dispCO2 >= 630)
    lcd.print(String(dispCO2) + " ppm");
  if (dispCO2 < 1000) lcd.print(" ");

#endif
IMG20200818175606.jpg

В этом коде, инфо о СО2 должна отображаться на экране при достижении показаний 630 и более... Это работает отлично.
Но вот только при уменьшении показаний СО2 ниже 630, остается след.. не корректно очищается показания ниже 630 (не удаляется надписи).
Функция else { lcd.clear(); }, срабатывает не верно, чистит весь экран..
Может как-то по другому вставить lcd.clear ? Или что иное?
 

2012de

✩✩✩✩✩✩✩
24 Мар 2020
25
0
Приветствую мужики!
Подскажите, пожалуйста.
Купил недавно OLED дисплей, на замену LCD.
IMG20200905212906.jpg
Но оказывается на ней нельзя уменьшать яркость, на ночь. Только уменьшать контраст (видел на видео, в Ютюб, вот ссылка на видео)
Вот код, который уменьшал у меня яркость, на старом дисплее

C++:
void checkBrightness() {
  if (!light_min && (analogRead(PHOTO) < BRIGHT_THRESHOLD)) {
    if (!light_tim) {
      timing = millis();
      light_tim = true;
    }
    light_min = true;
  }
  if (light_min && (analogRead(PHOTO) > BRIGHT_THRESHOLD)) {
    if (!light_tim) {
      timing = millis();
      light_tim = true;
    }
    light_min = false;
  }
  if (light_tim)
    if (millis() - timing > PERIOD_TIME) {
      light_tim = false;
      if ((hm(hrs, mins) >= hm(23, 20) || hm(hrs, mins) <= hm(7, 30)) && light_min) { // по времени и если темно, то яркость-
        analogWrite(BACKLIGHT, LCD_BRIGHT_MIN);

#if (LED_MODE == 0)
        LED_ON = (LED_BRIGHT_MIN);
#else
        LED_ON = (255 - LED_BRIGHT_MIN);
#endif

      } else
        analogWrite(BACKLIGHT, LCD_BRIGHT_MAX);
    }
}
Но как можно изменить его, или что добавить может в него, чтобы уменьшать контраст на OLED ?
 

Nikanor

★★✩✩✩✩✩
1 Окт 2020
178
51
Добрый день!

Есть вот такой датчик (PLANTOWER HCHO-SENSOR DS-HCHO датчик формальдегида...)
Есть вариант его подключить к часам?
Посмотреть вложение 16872
конечно - разобраться в даташите на этот датчик, понять что он передаёт, написать программу чтения данных и вывода на дисплей.
 

vinus20

✩✩✩✩✩✩✩
22 Авг 2020
3
0
Всем привет. Повторил вариант от Norovl. Хороший вариант! Мне Нравится шрифт. Датчик СО не использовал.Корпус склеил из кусочков полистирола.
Есть неудобства: 1) при прошивке не могу точно установить время - всегда отстают на 25-30 секунд
2) нет кнопок для установки времени, те при смене времени года нужна прошивка.
Это Очень неудобно.
Фактически часы привязаны к программе Arduino IDE, и не у всех есть такие возможности!
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
...
1) при прошивке не могу точно установить время - всегда отстают на 25-30 секунд
2) нет кнопок для установки времени, те при смене времени года нужна прошивка.
....
вариантов решения множество:
  • найти/написать функцию установки времени кнопками
  • сделать модуль RTC съемным и устанавливать время через другой проект часов
  • переделать проект под есп и синхронизировать время через интернет
  • добавить модуль gps и получать точное время с него
  • изучить протокол dcf77 и реализовать его
  • и т.д.