в версии 1.5 нет, надо самому писатьКто знает? Дата и время с кнопки как то устанавливаются??
https://community.alexgyver.ru/threads/chasy-meteostancija.1074/#post-18157Кто знает? Дата и время с кнопки как то устанавливаются??
lcd.print(F("MHZ-19... ")); // датчик СО2
Serial.print(F("MHZ-19... "));
mhz19.begin(MHZ_TX, MHZ_RX);
mhz19.setAutoCalibration(false); // отключить автокалибровку
mhz19.getStatus(); // первый запрос в любом случае возвращает -1
delay(1000);
for (byte i=0;i<10;i++) {
if (mhz19.getStatus() == 0) break;
delay(1000); // даём датчику прогреться, и так до 10 раз
}
if (mhz19.getStatus() == 0) { // прочитать статус датчика СО2
lcd.print(F("OK"));
Serial.println(F("OK"));
} else {
lcd.print(F("ERROR"));
Serial.println(F("ERROR"));
status = false;
}
// символы для больших цифр
uint8_t LT[8] = {0b00111, 0b01111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111};
uint8_t UB[8] = {0b11111, 0b11111, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
uint8_t RT[8] = {0b11100, 0b11110, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111};
uint8_t LL[8] = {0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b01111, 0b00111};
uint8_t LB[8] = {0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111};
uint8_t LR[8] = {0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11110, 0b11100};
uint8_t UMB[8] = {0b11111, 0b11111, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111};
uint8_t LMB[8] = {0b11111, 0b11111, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111};
// ****************************************************************************************
// * Рисует большую цифру для часов/минут *
// ****************************************************************************************
void drawDig(byte dig, byte x, byte y, boolean clean) {
char s1[4] = { 32, 32, 32, 32 };
char s2[4] = { 32, 32, 32, 32 };
byte i;
byte cnt = 3;
if (clean) cnt = 4;
switch (dig) {
case 0:
s1[0] = 0;
s1[1] = 1;
s1[2] = 2;
s2[0] = 3;
s2[1] = 4;
s2[2] = 5;
break;
case 1:
s1[1] = 0;
s2[1] = 255;
break;
case 2:
s1[0] = 1;
s1[1] = 1;
s1[2] = 2;
s2[0] = 0;
s2[1] = 7;
s2[2] = 7;
break;
case 3:
s1[0] = 1;
s1[1] = 6;
s1[2] = 5;
s2[0] = 4;
s2[1] = 4;
s2[2] = 5;
break;
case 4:
s1[0] = 0;
s1[2] = 255;
s2[0] = 1;
s2[1] = 1;
s2[2] = 255;
break;
case 5:
s1[0] = 255;
s1[1] = 6;
s1[2] = 6;
s2[0] = 4;
s2[1] = 4;
s2[2] = 5;
break;
case 6:
s1[0] = 0;
s1[1] = 6;
s1[2] = 6;
s2[0] = 3;
s2[1] = 4;
s2[2] = 5;
break;
case 7:
s1[0] = 1;
s1[1] = 1;
s1[2] = 5;
s2[1] = 0;
break;
case 8:
s1[0] = 0;
s1[0] = 3;
s1[1] = 6;
s1[2] = 2;
s1[2] = 5;
s2[0] = 3;
s2[1] = 4;
s2[2] = 5;
break;
case 9:
s1[0] = 0;
s1[1] = 1;
s1[2] = 2;
s2[0] = 7;
s2[1] = 7;
s2[2] = 5;
break;
case 10:
break;
}
lcd.setCursor(x, y);
for (i = 0; i<cnt; i++) lcd.write(s1);
lcd.setCursor(x, y + 1);
for (i = 0; i<cnt; i++) lcd.write(s2);
}
Всем привет и извинения!!! Простая ошибка в монтаже: без очков запаял на А2 вместо А3....коллеги, всем привет!
поразила меня неизвестная науке болезнь: пришли фоторезисторы, всё запаял, но яркость от освещённости не меняется.фоторезистор сопротивление меняет, уровень напряжения на выводе А3, тоже меняется, на d10- ничего. самое чудо начинается при нажатии на сенсорную кнопку: подсветка дисплея уменьшается до указанного значения (я задал 15). через 2-3 секунды, снова дисплей светится на полную (я задал 150). использую прошивку vic2007ch (но у него только шрифт отличается вроде...).
где можно пошарить, что можно покрутить?
А зачем нужен полевик и скальпель, если всё решается кодом?Первым делом перепиливаем соединение первого пина между платой дисплея и чёрненькой микросхемой айтуси (указал на картинке, это минусовой контакт подсветки дисплея). Дальше спаиваем все компоненты как на картинке. Мосфет я использовал IRF3205, но подойдут любые, которые размыкаются от 5V.
В свое оправдание могу сказать, что данный подход с датчиком освещенности был реализован еще за месяц до того, как аналогичную штуку сделал Алекс Гайвер в своем очередном обновлении... после... на его примере, когда я увидел, что можно обойтись без полевика, самому было смешно )))) Сказывается моя неопытность...А зачем нужен полевик и скальпель, если всё решается кодом?
Неправильно. Это входное и выходное отверстие. Датчик нужно размещать так, чтобы воздух мог свободно проходить сквозь датчик. Например, если поместить MHZ в нижней части корпуса, а остальную электронику в верхней, и сделать в корпусе вентиляционные отверстия снизу и сверху, то за счёт нагрева воздуха от электроники внутри корпуса будет постоянная "тяга" снизу вверх. Датчик лучше развернуть верхним (по картинке) окном вниз.Всем привет. Правильно ли я понимаю, что у датчика MH Z19 целых 2 сенсора? Получается, что надо как-то предусмотреть в корпусе наличие двух отверстий под эти сенсоры?
Посмотреть вложение 7927
Сзади на экране есть крутила контраста, включи ардуинку и покрути ее до видимостиОтличный проект! тоже собираю. Подключил ардуино, кнопку, экран и RTC. При включении на пару секунд высвечиваются прямоугольники во всех сегментах строк 1 и 3, через 2 сек - вообще во всех сегментах. Что может быть, с чего начать диагностику?
это я сразу подкрутил - включение сегментов видно, в каждом сегменте отображается прямоугольникСзади на экране есть крутила контраста, включи ардуинку и покрути ее до видимости
Проверить корректность подключения дисплея. Адрес дисплея узнавали или просто использовали какой был в прошивке?это я сразу подкрутил - включение сегментов видно, в каждом сегменте отображается прямоугольник
Этому датчику в целом пофиг на температуру, его можно ставить в любом месте. Главное, чтобы было устойчивое естественное движение воздуха сквозь него. Я в своей конструкции ставил вниз, поэтому так и написал. BME280 обязательно нужно ставить вниз или в отдельный отсек, чтобы не врал.@Серый, какое отверстие в датчике является входным?
Я правильно понял, что его надо размещать подальше от электроники, что бы не искажались значения датчика от тепла электроники?
Соединения проверил - вроде все нормально. Адреса попробовал и 0x27 (симптомы выше) и 0x3f - при этом срабатывает только первая фаза - отображаются черные сегменты в 1 и 3-ей строке. Какие еще могут быть адреса? Может оторвать все и отладить только дисплей и ардуино?Проверить корректность подключения дисплея. Адрес дисплея узнавали или просто использовали какой был в прошивке?
Удалось решить?Добрый день, не хочет работать датчик давления. Первым использовал 180, потом 280. менял адреса в библиотеке на 77 или на 76. Все равно при отладке пишет ошибка. Помогите. Еще заметил, что меняешь адрес на 76, не запускается. датчик-GY-BM E/P 280, но потом получилось наоборот, 77 не запускается, 76 запускается, датчики рабочие, проверил через FRprog. Я так понимаю, что вряд ли кто поможет. Может есть возможность переделать на 180 датчик?