Есть датчики htu21d, bmp280. Как проверить живые ли они? Ножки паял сам и мог перегреть или замкнуть. как правильно тестить?
Как хитровывернутые имена придумывать -- мозгов хватает. А как осмыслить предложение -- уже нет. "Попинай" -- значит подключи к микроконтроллеру и сделай пару запросов к датчикам.
открываешь даташит и читаешь регистры. Потом пишешь в них. Потом опять читаешь. Если считал то, что записал - цифровая часть жива. Аналоговую часть без поверочной аппаратуры не потестишь.
мои извинения, не знаком с подобной терминологией) А как сделать запрос, не зная их адресов? Скорее всего я туплю, но ситуация? у меня nodemcu82669(живой. wi-fi работает), на соответствующих i2c пинах висят 2 датчика. Как к ним обратится? Заливаю скетч сканер i2c, ответ тишина
htu21d адрес 0х40 при загрузке скетча примера, отдаёт Код (C++): load 0x4010f000, len 1384, room 16 tail 8 chksum 0x2d csum 0x2d vbb28d4a3 ~ld про это в даташите не чего bmp280 вообще молчит
в коде теста не нашёл где адрес менять, заливал без изменений Код (C++): /*************************************************************************** This is a library for the BME280 humidity, temperature & pressure sensor Designed specifically to work with the Adafruit BME280 Breakout ----> http://www.adafruit.com/products/2650 These sensors use I2C or SPI to communicate, 2 or 4 pins are required to interface. The device's I2C address is either 0x76 or 0x77. Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit! Written by Limor Fried & Kevin Townsend for Adafruit Industries. BSD license, all text above must be included in any redistribution ***************************************************************************/ #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 //Adafruit_BME280 bme(BME_CS); // hardware SPI //Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI 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(); 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(); } ё
перед загрузкой скетча вылазит ошибка Код (C++): Uploading 256128 bytes from C:\Users\serov\AppData\Local\Temp\arduino_build_840228/i2c.ino.bin to flash at 0x00000000 Не могу найти её значение и решение. Но то что всё из-за неё, даже мне понятно
ищи в коде библиотеки Adafruit_BME280 но вообще если на сканер не отвечает. то и в счетче вряд ли откликнется