Страница 1 из 1

BME680

Добавлено: 13 мар 2026, 16:08
mandrei
BME680 — это цифровой датчик окружающей среды «четыре в одном», который измеряет температуру, влажность, барометрическое давление и качество воздуха
На этот датчик блок ни кто не писал?

Re: BME680

Добавлено: 13 мар 2026, 18:21
Ilich
Я такого не видел...

Re: BME680

Добавлено: 13 мар 2026, 18:26
nic103
Ilich писал(а): 13 мар 2026, 18:21 Я такого не видел...
3111914623 артикул на озоне

Re: BME680

Добавлено: 13 мар 2026, 19:29
montirovka
nic103 писал(а): 13 мар 2026, 18:26
Ilich писал(а): 13 мар 2026, 18:21 Я такого не видел...
3111914623 артикул на озоне
Цена демократическая.
На Али в районе 2000 р.
Хотя... Набрал на Али CJMCU-680. Очень много этих датчиков.

Re: BME680

Добавлено: 13 мар 2026, 20:05
Ilich
nic103 писал(а): 13 мар 2026, 18:26
Ilich писал(а): 13 мар 2026, 18:21 Я такого не видел...
3111914623 артикул на озоне
Я имел ввиду блок для FlProg. Сам же датчик конечно видел

Re: BME680

Добавлено: 13 мар 2026, 20:43
montirovka
Алиса, сделай скетч для BME680 для ардуино про мини с выводом данных датчика на lcd 2004 в каждой строке.
Завтра попробую блок сделать.

Re: BME680

Добавлено: 13 мар 2026, 23:51
mandrei
https://ozon.ru/t/NBg7VM5. 465₽ для датчика качества воздуха цена очень низкая

Re: BME680

Добавлено: 06 апр 2026, 19:08
montirovka
Сделал с помощью Алисы и приложения ino2ubi блок для BME 680. Прикладываю проект сделанный в FLProg 7.5 для ESP32. Для других контроллеров выводы шины I2C поменять. На сколько рабочая версия получилась не знаю. Нужно время для тестов.
Доставка с Озона вышла 13 дней.
Попробовал в версии FLprog 9.6.27 версию блока с UART. В UART отправляет без проблем. На дисплей - почему то с сильной задержкой. Разбираться надо.
IMG_20260406_191019.jpg

Re: BME680

Добавлено: 09 апр 2026, 11:14
montirovka
Продолжил тесты с блоком для BME 680 с LCD1602 в FLProg 9.7.1. Блок работает, но данные появляются на дисплее LCD1602 примерно через две минуты. В UART данные отправляется без задержек.
2026-04-09_11-01-03.png
Arduino IDE выдало вот такое сообщение.
2026-04-08_12-38-10.png
Подскажите есть ли такая библиотека для ESP32 на которую не будет ругаться Arduino IDE ? Может задержка вывода данных на LCD1602 как раз из за библиотеки.

Re: BME680

Добавлено: 09 апр 2026, 11:31
ecoins
montirovka писал(а): 09 апр 2026, 11:14 Продолжил тесты с блоком для BME 680 с LCD1602 в FLProg 9.7.1. Блок работает, но данные появляются на дисплее LCD1602 примерно через две минуты. В UART данные отправляется без задержек.
2026-04-09_11-01-03.png
Arduino IDE выдало вот такое сообщение.
2026-04-08_12-38-10.png
Подскажите есть ли такая библиотека для ESP32 на которую не будет ругаться Arduino IDE ? Может задержка вывода данных на LCD1602 как раз из за библиотеки.
Используйте дисплей из левого меню - Отображение - Добавить LCD дисплей.

Re: BME680

Добавлено: 09 апр 2026, 11:39
montirovka
ecoins писал(а): 09 апр 2026, 11:31
montirovka писал(а): 09 апр 2026, 11:14 Продолжил тесты с блоком для BME 680 с LCD1602 в FLProg 9.7.1. Блок работает, но данные появляются на дисплее LCD1602 примерно через две минуты. В UART данные отправляется без задержек.
2026-04-09_11-01-03.png
Arduino IDE выдало вот такое сообщение.
2026-04-08_12-38-10.png
Подскажите есть ли такая библиотека для ESP32 на которую не будет ругаться Arduino IDE ? Может задержка вывода данных на LCD1602 как раз из за библиотеки.
Используйте дисплей из правого меню - Отображение - Добавить LCD дисплей.
С правого меню работает без проблем.
2026-04-09_11-33-03.png

Re: BME680

Добавлено: 09 апр 2026, 11:42
ecoins
montirovka писал(а): 09 апр 2026, 11:39
ecoins писал(а): 09 апр 2026, 11:31
montirovka писал(а): 09 апр 2026, 11:14 Продолжил тесты с блоком для BME 680 с LCD1602 в FLProg 9.7.1. Блок работает, но данные появляются на дисплее LCD1602 примерно через две минуты. В UART данные отправляется без задержек.
2026-04-09_11-01-03.png
Arduino IDE выдало вот такое сообщение.
2026-04-08_12-38-10.png
Подскажите есть ли такая библиотека для ESP32 на которую не будет ругаться Arduino IDE ? Может задержка вывода данных на LCD1602 как раз из за библиотеки.
Используйте дисплей из правого меню - Отображение - Добавить LCD дисплей.
С правого меню работает без проблем.
2026-04-09_11-33-03.png
Старые дисплеи оставили для тех, кто продолжает работать на Nano. Они "тормозные".
Наверное имеет смысл убрать их из FLProg чтобы не отвлекали и не путали.
----------------------
Используйте графические OLED дисплеи i2c - SSD1306, CH1115,SH1106 1.3", SSD1309 -2.24". На них можно вывести больше информации - тестовую и графическую - и как может показаться странным, но работают быстрее чем LCD1602.

Re: BME680

Добавлено: 09 апр 2026, 11:49
montirovka
ecoins писал(а): 09 апр 2026, 11:42
montirovka писал(а): 09 апр 2026, 11:39
ecoins писал(а): 09 апр 2026, 11:31
Используйте дисплей из правого меню - Отображение - Добавить LCD дисплей.
С правого меню работает без проблем.
2026-04-09_11-33-03.png
Старые дисплеи оставили для тех, кто продолжает работать на Nano. Они "тормозные".
Наверное имеет смысл убрать их из FLProg чтобы не отвлекали и не путали.
----------------------
Используйте графические OLED дисплеи i2c - SSD1306, CH1115,SH1106 1.3", SSD1309 -2.24". На них можно вывести больше информации - тестовую и графическую - и как может показаться странным, но работают быстрее чем LCD1602.
А при чем здесь Нано? Контроллер ESP32.

Re: BME680

Добавлено: 09 апр 2026, 13:11
Phazz
Я запутался, какой дисплей тормозит?

Re: BME680

Добавлено: 09 апр 2026, 13:28
ecoins
Phazz писал(а): 09 апр 2026, 13:11 Я запутался, какой дисплей тормозит?
Проект выводит две строки через восемь блоков старого LCD, которые очень тормозные.
Все это без диспетчера.
В самом блоке BME280 не увидел периодичности вызова - похоже в каждом цикле.
И в самом блоке встроен вывод на UART похоже в каждом цикле:
// Проверяем, удалось ли получить данные с датчика
if (!bme.performReading()) {
Serial.println("Failed to perform reading :(");
return;
}

// Сохраняем данные в отдельные переменные
temperature = bme.temperature; // Температура в °C
pressure = bme.pressure; // Давление в Па
humidity = bme.humidity; // Влажность в %
gasResistance = bme.gas_resistance; // Сопротивление газа в Ом
altitude = bme.readAltitude(SEALEVELPRESSURE_HPA); // Высота в м

// Выводим данные в UART (Serial Monitor) с пояснениями
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");

Serial.print("Pressure: ");
Serial.print(pressure / 100.0F); // Переводим Па в гПа для удобства
Serial.println(" hPa");

Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");

Serial.print("Gas Resistance: ");
Serial.print(gasResistance / 1000.0); // Переводим Ом в кОм для удобства
Serial.println(" kOhm");

Serial.print("Altitude: ");
Serial.print(altitude);
Serial.println(" m");

Serial.println(); // Пустая строка для удобства чтения

// Демонстрация использования переменных в коде
Serial.println("--- Variable Usage Example ---");
if (temperature > 25.0) {
Serial.println("Warning: High temperature detected!");
}
if (humidity > 80.0) {
Serial.println("Warning: High humidity detected!");
}
Serial.println("----------------------------");
Serial.println();

delay(500); // Пауза 2 секунды между измерениями
-------------------------------------
+ delay(500)
+ в самой библиотеке задержки
==========================
Таковы последствия бездумных самопальных блоков с дальнейшими очередным эвристическими исследованиями.
По кругу с бесконечным циклом.

Re: BME680

Добавлено: 09 апр 2026, 14:39
montirovka
Встроенных датчиков в программу нет. Вот и делают пользователи свои.
Так вот на старых дисплеях работает, а на интуитивно понятнятном дисплее нет.

Re: BME680

Добавлено: 09 апр 2026, 14:42
montirovka
Phazz писал(а): 09 апр 2026, 13:11 Я запутался, какой дисплей тормозит?
Интуитивно понятный дисплей с левого меню тормозит. Данные на нём появляются через минуты две после включения. В UART данные сразу передаются.

Re: BME680

Добавлено: 09 апр 2026, 15:49
ecoins
montirovka писал(а): 09 апр 2026, 14:42
Phazz писал(а): 09 апр 2026, 13:11 Я запутался, какой дисплей тормозит?
Интуитивно понятный дисплей с левого меню тормозит. Данные на нём появляются через минуты две после включения. В UART данные сразу передаются.
Попробуйте услышать:
1.Нельзя слепо и не вникая брать то, что Вам подсказала "Алиса" для блока.
Для измерения и вывода в UART вполне годится. То есть для демонстрации работоспособности датчика вполне годится.
Для использования с другими задачами все будет плохо.
2.Что-то можете улучшить самостоятельно:
2.1.Уберите из блока delay() - в конце кода.
2.2.Вызов блока вынеси как отдельную плату, сделайте её как медленную задачу.
2.3.Дисплей лучше взять слева с графическим интерфейсом.
2.4.Если хотите старый дисплей - тоже вынесите его на отдельную плату как медленную (или фоновую) задачу.
2.5.В старом дисплее лучше соберите одну строку и выводите за один раз. На плате будет не шесть выводов, а только два.

Re: BME680

Добавлено: 14 апр 2026, 11:37
montirovka
По схеме на плате по питанию стоит стабилизатор с 5 вольт до 3.3 вольта. Почему то про это ни где не написано. Более полное описание платы с модулем BME680. Оно здесь.
Пробежался по дому. Проверил как показывает высоты. Скетч примерно подогнал к текущему давлению. Все в условных метрах. Подвал -1,8 метра.
IMG_20260414_105808.jpg
Под крышей 10,6 м.
IMG_20260414_110443.jpg
Сегодня у нас дует южный ветер. Если открыть окно с южной стороны, тут же "падает метраж" больше чем на метр.