Блок для BME280 на библиотеке SparkFunBME280
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Помогите пожалуйста, нужен блок для датчика BME280 на библиотеке SparkFunBME280.h ( https://github.com/sparkfun/SparkFun_BM ... no_Library ). Блок на библиотеке Adafruit с чем то конфликтует, загружается но не работает.
Может конечно я не туда копаю, но думаю альтернативный блок не помешал бы в целом.
Со SparkFunBME280 датчик работает и отображает всю инфу корректно, заливал готовый скетч.
Может конечно я не туда копаю, но думаю альтернативный блок не помешал бы в целом.
Со SparkFunBME280 датчик работает и отображает всю инфу корректно, заливал готовый скетч.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
Библиотека Adafruit рабочая, но блок с этой библиотекой кривой, нужно просто его подкорректировать, господа профи гляньте блок
Блок для BME280 на библиотеке SparkFunBME280
Пробовал создать пользовательский блок с SparkFunBME280.h библиотекой. Компилируется , но показания датчика 0.00 и не меняются .
Отправлено спустя 3 часа 12 минут 28 секунд:
Блок для BME280 на библиотеке SparkFunBME280
вот код скетча . Где ошибка ? не могу разобраться.
[scroll]#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "Wire.h"
#include "SparkFunBME280.h"
#include "SPI.h"
#include <stdint.h>
LiquidCrystal_I2C _lcd1(0x27, 20, 4);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
float Temperature;
float Pressure;
BME280 mySensor;
int _disp1oldLength = 0;
int _disp3oldLength = 0;
void setup()
{
Wire.begin();
_lcd1.init();
_lcd1.backlight();
mySensor.settings.commInterface = I2C_MODE;
mySensor.settings.I2CAddress = 0x76;
mySensor.settings.runMode = 3;
mySensor.settings.tStandby = 5;
mySensor.settings.filter = 0;
mySensor.settings.tempOverSample = 1;
mySensor.settings.pressOverSample = 1;
mySensor.begin();
}
void loop()
{if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
//Плата:1
if (1) {
_dispTempLength1 = ((((String("p")) + ((String((Pressure)/(133), DEC)))))).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print((((String("p")) + ((String((Pressure)/(133), DEC))))));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
if (1) {
_dispTempLength1 = ((((String("t")) + (( _floatToStringWitRaz(Temperature,0)))))).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print((((String("t")) + (( _floatToStringWitRaz(Temperature,0))))));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength = 0;}
}
}
String _floatToStringWitRaz(float value, int raz)
{
return String(value,raz);
}[/scroll]
Отправлено спустя 3 часа 12 минут 28 секунд:
Блок для BME280 на библиотеке SparkFunBME280
вот код скетча . Где ошибка ? не могу разобраться.
[scroll]#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "Wire.h"
#include "SparkFunBME280.h"
#include "SPI.h"
#include <stdint.h>
LiquidCrystal_I2C _lcd1(0x27, 20, 4);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
float Temperature;
float Pressure;
BME280 mySensor;
int _disp1oldLength = 0;
int _disp3oldLength = 0;
void setup()
{
Wire.begin();
_lcd1.init();
_lcd1.backlight();
mySensor.settings.commInterface = I2C_MODE;
mySensor.settings.I2CAddress = 0x76;
mySensor.settings.runMode = 3;
mySensor.settings.tStandby = 5;
mySensor.settings.filter = 0;
mySensor.settings.tempOverSample = 1;
mySensor.settings.pressOverSample = 1;
mySensor.begin();
}
void loop()
{if (_isNeedClearDisp1) {_lcd1.clear(); _isNeedClearDisp1= 0;}
//Плата:1
if (1) {
_dispTempLength1 = ((((String("p")) + ((String((Pressure)/(133), DEC)))))).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(0, 1);
_lcd1.print((((String("p")) + ((String((Pressure)/(133), DEC))))));
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
if (1) {
_dispTempLength1 = ((((String("t")) + (( _floatToStringWitRaz(Temperature,0)))))).length();
if (_disp3oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp3oldLength = _dispTempLength1;
_lcd1.setCursor(0, 0);
_lcd1.print((((String("t")) + (( _floatToStringWitRaz(Temperature,0))))));
} else {
if (_disp3oldLength > 0) {_isNeedClearDisp1 = 1; _disp3oldLength = 0;}
}
}
String _floatToStringWitRaz(float value, int raz)
{
return String(value,raz);
}[/scroll]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось pan 30 мар 2018, 20:44, всего редактировалось 1 раз.
Причина: портянка на 3 экрана!
Причина: портянка на 3 экрана!
Блок для BME280 на библиотеке SparkFunBME280
где блок. и что это за портянка на весь экран.
со скетчами не по адресу
со скетчами не по адресу
-
- Рядовой
- Сообщения: 74
- Зарегистрирован: 03 янв 2016, 13:11
- Откуда: г.Курганинск, Краснодарский край
- Имя: Александр
Блок для BME280 на библиотеке SparkFunBME280
Из представленной тобой информации трудно понять, что тебе необходимо! На самом деле проблемы нет, имеющийся пользовательский блок ВМР280 даже очень хорошо работает!
Вот часть схемы моего высотомера на ВМР280. Данные датчика фильтруются, показания переводятся в сантиметры, привязываются к высоте места старта. Собственно есть все, выбирай, что необходимо и вперед!
Вот часть схемы моего высотомера на ВМР280. Данные датчика фильтруются, показания переводятся в сантиметры, привязываются к высоте места старта. Собственно есть все, выбирай, что необходимо и вперед!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
у тебя другой блок. где же он был раньше. чето влажности нетБрат писал(а): 30 мар 2018, 19:58высотомера на ВМР280. Данные датчика фильтруются, показания переводятся в сантиметры, привязываются
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Приветствую всех кто что то пытался сделать.
С проблемой я разобрался, я так понял что в блоке для библиотеки Adafruit по умолчанию прописан адрес датчика 0х77 и его ни как не изменить, мне пришлось одну перемычку резать другую спаять так как именно в моём датчике адрес был 0х76, датчик заработал.
Но мне кажется блок для Sparkfun всё же остаётся актуален так как в этой библиотеке адрес легко меняется.
И есть встроенные фильтры чего нет в Adafruit, но это не точно
.
С проблемой я разобрался, я так понял что в блоке для библиотеки Adafruit по умолчанию прописан адрес датчика 0х77 и его ни как не изменить, мне пришлось одну перемычку резать другую спаять так как именно в моём датчике адрес был 0х76, датчик заработал.
Но мне кажется блок для Sparkfun всё же остаётся актуален так как в этой библиотеке адрес легко меняется.
И есть встроенные фильтры чего нет в Adafruit, но это не точно

-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
Попробуйте, у меня заработало
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Так я же говорю я поменял адрес (паяльником) и все заработало на Adafruit.
Просто хотелось бы иметь этот блок на альтернативной библиотеке.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
этот блок под 76 адрес, как у и у меня датчик, но не работало пока не нашел ошибку в блокеEvolution_pvp писал(а): 01 апр 2018, 01:27Так я же говорю я поменял адрес (паяльником) и все заработало на Adafruit.
Просто хотелось бы иметь этот блок на альтернативной библиотеке.
Блок для BME280 на библиотеке SparkFunBME280
А почему нельзя в библиотеке поменять адрес!? Я менял,все работает. Мне почему то кажется,что это проще чем паяльником.
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Тыкните носом где что менять, и можно ли это в блоке поменять?hatul писал(а): 01 апр 2018, 17:46А почему нельзя в библиотеке поменять адрес!? Я менял,все работает. Мне почему то кажется,что это проще чем паяльником.
По подробнее если можно.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
надо добавить в declare строчку: #define BME280_ADDRESS 0x76 (если не заработает попробуйте в скобках (0х76)Evolution_pvp писал(а): 03 апр 2018, 20:57Тыкните носом где что менять, и можно ли это в блоке поменять?hatul писал(а): 01 апр 2018, 17:46
А почему нельзя в библиотеке поменять адрес!? Я менял,все работает. Мне почему то кажется,что это проще чем паяльником.
По подробнее если можно.
Блок для BME280 на библиотеке SparkFunBME280
Для начала определись-у тебя BME280 или BMP280. У BMP280 адрес 0х76.Для него надо поправить библиотеку.У него нет показаний влажности. У BMЕ280 есть влажность,у него адрес 0х77. И библиотеку править не надо. Я имею в виду библиотеку Adafruit_BMP280_Library. Какая у тебя подключена библиотека можно узнать так - в пректе жмешь правой кнопкой на блок BME280,выбираешь "редактирование", и в разделе "Библиотеки" смотришь какие библиотеки подключены.
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Спасибо, нужно попробовать, вот только перепаивать обратно что то не охота, чуточку бы раньше ответили...Дмитруино Uno писал(а): 04 апр 2018, 04:09надо добавить в declare строчку: #define BME280_ADDRESS 0x76 (если не заработает попробуйте в скобках (0х76)Evolution_pvp писал(а): 03 апр 2018, 20:57
Тыкните носом где что менять, и можно ли это в блоке поменять?
По подробнее если можно.
Отправлено спустя 10 минут 39 секунд:
Я же подробно все написал, у меня именно BME280 (с влажностью), но с адресом 0х76, паяльником поменял адрес на 0х77 и все заработало.hatul писал(а): 04 апр 2018, 19:21Для начала определись-у тебя BME280 или BMP280. У BMP280 адрес 0х76.Для него надо поправить библиотеку.У него нет показаний влажности. У BMЕ280 есть влажность,у него адрес 0х77. И библиотеку править не надо. Я имею в виду библиотеку Adafruit_BMP280_Library. Какая у тебя подключена библиотека можно узнать так - в пректе жмешь правой кнопкой на блок BME280,выбираешь "редактирование", и в разделе "Библиотеки" смотришь какие библиотеки подключены.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
у меня такой же датчик, но с 76 адресом, проверял в фл проге через сканирование. работает без прописывания адреса
-
- Рядовой
- Сообщения: 14
- Зарегистрирован: 14 фев 2018, 00:41
Блок для BME280 на библиотеке SparkFunBME280
Интересно как так, а какой блок используете? может какая-то библиотека вам попалась специфическая?
Или мне.
Или мне.

-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Блок для BME280 на библиотеке SparkFunBME280
блок использую который выложил сверху, сначала он не работал, под редактировал и заработалEvolution_pvp писал(а): 05 апр 2018, 22:39Интересно как так, а какой блок используете? может какая-то библиотека вам попалась специфическая?
Или мне.
-
- Рядовой
- Сообщения: 36
- Зарегистрирован: 28 янв 2018, 21:21
- Откуда: Алтайский край
- Имя: Дмитрий
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей