Китайский BMP-280, не заводится.
- Войдите на сайт для отправки комментариев
При подключении датчик определяется через сканер по адресу 0х76 что соотвествует адресу подключения по I2C, датчик вот такой https://ru.aliexpress.com/item/5-pcs-BMP280-Replace-BMP180-3-3V-Digital-Barometric-Pressure-Sensor-Module-For-Arduino/32726022405.html?spm=a2g0s.9042311.0.0.439533edqYtgof
Но при провеке вот этим скетчем:
#include <Wire.h> #include <SPI.h> //#include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10 #define SEALEVELPRESSURE_HPA (1013.25) Adafruit_BME280 bme; // I2C unsigned long delayTime; void setup() { Serial.begin(9600); Serial.println(F("BME280 test")); bool status; // default settings // (you can also pass in a Wire library object like &Wire2) status = bme.begin(0x76); if (!status) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } Serial.println("-- Default Test --"); delayTime = 1000; Serial.println(); } void loop() { printValues(); delay(delayTime); } void printValues() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); }
Пишет:
BME280 test
Could not find a valid BME280 sensor, check wiring!
Библиотеку изменял, менял в ней адрес и закомментировал библиотеку <adafruid_sendsor> как было сказано в видеоуроке, чтобы компилятор перестал ругаться. Делал перемычку между плюсом и SCB и пропаял повторно контакты, питал разным вольтажом, 2.5 и 3.4в от китайского БП для хлеба, при замкнутой перемычке на 3.3в выдает 2.5в,при 5в выдает 3.4в сам бп питается от 5 вольт блока питания компьютера, но это ладно. Перепробовал все что смог найти, походу гавно-модули только я заказываю, помогите пожайлуста!
Скетч
Так возьмите библиотеку для BMP, если у вас он. У BME действительно другой ID.
Пишет тоже самое:
BMP280 test
Could not find a valid BMP280 sensor, check wiring!
Адрес-то указали либе? Сканер его видит еще, не спалили экспериментами?
Точно, после указания адреса заработало, только выдает фигню какуюто, температура нормальная, а вот давление и высота скачет туда сюда, да и температура нет нет в минус уходит https://ibb.co/f8BXJT
Вообще беда какаято, стал определятся через раз, а если определяется то показания ненормальные https://ibb.co/gS9N2o
Контакт может плохой. А может 3.3в датчику не нравится, что на его сигнальные входы подается 5v с ардуины.
Питание подается 2.5в, с БП, не с ардуины. Контакты 2 раза пропаивал уже.
Контакт может плохой. А может 3.3в датчику не нравится, что на его сигнальные входы подается 5v с ардуины.
...... особенно когда нет его питания или оно дёргается.
Питание подается 2.5в, с БП, не с ардуины. Контакты 2 раза пропаивал уже.
SDA/SCL тоже на блок питания заведены или куда-то в другое место?
Хлебный БП ему не нравится:)
Нет, SDA\SCL от ардуины идут на датчик, а питание от бп, между БП и ардуиной должна быть общая земля?
Естественно.
...........между БП и ардуиной должна быть общая земля?
Дааааааааааааааа...................
так подключали
или вот так
Нет, на бмп нельзя подавать 5в напряжения он работает от 3.3в, на плате нет стабилизатора, поэтому только 3.3в, испробовал все способы с подачей плюса на SCB и подключением земли от ардуины, I2C сканер не в какую не хочет видеть модуль. Хз что делать. Подключаю по тем же проводам RTC модуль, его видит отлично, так что вряд ли проблема в надежности соединений.
значит уже спалили, если небыло соединения земли ардуино и датчика
Первый раз когда скетч исправил и запустил все работало, потом давай показывать ерунду, но стабильно показывал и определял его, сегодня его подключил и вообще не реагирует. Каким образом он мог сгореть? Причем когда его подключаешь вместе с другими модулями они тоже не определяются, такое ощущение что он стопорит систему всю, и приходится кнопку сброса нажимать, чтобы сканер снова заработал. И стал показывать остальные модули. С двумя модулями одно и то же, второй позже достал как раз в то время как первый стал ерунду выдавать, еще 3 нулевых лежит ;D ... Есть еще какието предположения в чем может быть дело, кстати ерунду выдавал скетч и без подсоединеного модуля, так что он перестал работать почти сразу ( можно сказать.
Он не ерунду выдавал, а значения, которые получались в результате вычисления формулы без данных с барометра. Скорее всего. Т.е. модули сразу вылетали, когда им +5V в сигнальный выход попадало. Не зря же 5V версии BMP-шек с согласователем уровней поставляются.
Я его от 2.5в питаю, а не от 5ти.
Подумайте: какое сигнальное напряжение по SCL идет от 5V ардуины? Или померяйте, сделав digitalWrite(...,HIGH).
Нет, на бмп нельзя подавать 5в напряжения он работает от 3.3в, на плате нет стабилизатора, поэтому только 3.3в, испробовал все способы с подачей плюса на SCB и подключением земли от ардуины, I2C сканер не в какую не хочет видеть модуль. Хз что делать. Подключаю по тем же проводам RTC модуль, его видит отлично, так что вряд ли проблема в надежности соединений.
Как нет???????
Там есть специально обученный для этого пин.
Он левее пина 5 Вольт и правее пина reset на верхней картинке
Или второй слева в нижнем ряду на нижней.
Я понял, что такое китайский БП для хлеба!!!! Оно?
Я не понимаю к чему вы клоните. Я нуб и даже понимаю о чем вы.
На картинке Ардуино Уно, а у меня про мини.
Да, вот этот кусок, выдает по линии 3.3в только 2.5в а по 5в - 3.4в. Незнаю с чем связанно, питал и от блока питания ПК, и от зарядника. Выходное нарпяжение не меняется.
В общем получилось обмануть систему, сегодня ни с того не с сего Ардуино ИДЕ перестал видеть порты Комовские, ну это же не в какие ворота не лезет, ты тут пытаешь совладеть с китай модулями, а у тебя еще и программа не работает, ну это же вообще пятая точка. Удалил и установил новую. И самое важное, запитал ХлебныйБП от самой ардуины, и все получилось, модули заработали, только бывает выдают левые значения, то верные то левые, но это я думаю дело в плохом контатке, работают оба натерпевшихся модуля, показывают температуру, и давление около 98к а вот высоту показывают каждый разную один 214м другой 208м но я думаю это поправимо, может наберусь терпения и завершу проэкт. Всем огромное спасибо, ваши ответы с вариантами подталкивают пробовать снова и снова, иначе я бы уже опустил руки, надеюсь вы мне и в следующих постах будете помогать, судя по началу обращатся к форму буду очень часто ;D
Всем привет!
Купил BMP-280 как у автора поста (на 3.3V), подключал к Uno так:
Сканер I2C девайс не видит, тест из Adafruit BMP280 не регуется, что девайса нет, но ничего не отображает.
Проверил питание на пинах Vcc и GND на BMP280 - его нет. Тестер пищит - КЗ?
Т.е. совать 5В в 3.3В сенсор - это ОК, диды терпели и оне пущай тоже?
Т.е. совать 5В в 3.3В сенсор - это ОК, диды терпели и оне пущай тоже?
Опять уровни?) SCL, SDA 5В?
Диды - это что такое?
Так-то у бошевского сенсора bmp280 напряжение питания и IO - 1.8 ... 3.6V.
Как думаете, если вашему телевизору 400V в вилку сунуть - он просто обидится или еще дымок пусканёт?
Так-то у бошевского сенсора bmp280 напряжение питания и IO - 1.8 ... 3.6V.
Как думаете, если вашему телевизору 400V в вилку сунуть - он просто обидится или еще дымок пусканёт?
В электронике новичок, с Arduino недавно - успел разобраться с LCD, реле, DHT22, HC-05. В голову не приходило, что может быть несогласованность напряжения по шине I2C, учитывая учебную направленность Arduiono и всевозможные защиты от дурака. Пусть бы пометку на плате сделали возле пинов I2C о напряжении...
Конвертер уровней прикуплю, BMP-280 всё равно планировал менять на BME, так что не велика потеря. Заказал на 3.3В и 5В.
P.S. КЗ по питанию на BMP-280 говорит о том, что модуль прожарился?
P.S. КЗ по питанию на BMP-280 говорит о том, что модуль прожарился?
кто ж теперь знает? может он там изначально был - попробуйте в лупу посмотреть на плату - может там сопля припоя дорожки замкнула
P.S. КЗ по питанию на BMP-280 говорит о том, что модуль прожарился?
кто ж теперь знает? может он там изначально был - попробуйте в лупу посмотреть на плату - может там сопля припоя дорожки замкнула
Соплей нет - уже смотрел. Там на схеме почему-то Vcc и GND соединены через конденсатор?: крайний левый Vcc, далее GND.
подскажите проблема несколько похожа, за исключением что у меня в мониторе порта все значения нули, кроме высоты она в минусе жестком ну это понятно она же от давления считается, а вот почему остальные нули? подключал все через ардуино, правда по первой картинке как у вас здесь показано, второй датчик уже пробую все тоже самое, это получается что я спалил их или вчем еще проблема может быть?
P.S. КЗ по питанию на BMP-280 говорит о том, что модуль прожарился?
кто ж теперь знает? может он там изначально был - попробуйте в лупу посмотреть на плату - может там сопля припоя дорожки замкнула
Соплей нет - уже смотрел. Там на схеме почему-то Vcc и GND соединены через конденсатор?: крайний левый
Vcc, далее GND.
Была у меня такая беда. Надо конденсатор выпаять может он коротит, если короткое замыкание остается то снимать сам BMP280. У меня как раз под BMP280 и была сопля. Если есть фен то работы на 5 минут.
ребят гляньте по даташиту какие буквы должны быть на железке , и какие у вас. Сфотайте и выложите чтоб народ знал.
бывает аналог (у него другие буквы YP а не KU ) , для него вроде другой скетч надо. в инете инфа попадалась.
бывает и вверх ногами микросхему запаивают !
гуглите - подделка bmp280 , и маркировка bmp280
если у вас модуль как в сообщении #34 (там нет стаба на 3.3в) , и вы его подключали к +5в , то скорее всего этот модуль уже не жилец.
// с ютуба https://youtu.be/OH5SkSkzZ_E коменты
Свернуть
провел эксперимент
имея датчики китайский BMP280 буквы KW и YP и платы :
скетч i2c_scaner
находятся как 0x76 .
Библиотеки стандартные адафруит https://github.com/adafruit/Adafruit_BMP280_Library https://github.com/adafruit/Adafruit_Sensor
Нашел 2 разных рабочих решения:
1. програмный:
в примере bmp280test меняем
if (!bmp.begin()) {
на
if (!bmp.begin(0x76)) {
или
2. аппаратный:
замкнуть крайние пины модуля (Vcc и SD0) . Это меняет аппаратно адрес с 0x76 на 0x77 . Или можно крайний резистор перепаять повернуть горизонтально , чтобы он не на - , а на + подтягивал пин (собственно как и все остальные резисторы)
// подключал напрямую к ардуино про мини 3.3в 8мгц
фиолетовый модуль на 10метров показывает больше.