Ви не увійшли.
Вопрос на засыпку: D0 подтянут внешним сопротивлением на Vcc ?
Если да, то: читаем мануал внимательно. Для нормальной загрузки ESP8266 с флешки (у нее есть и другие варианты загрузки) D0 (GPIO15) должен быть в LOW, D3 (GPIO0) и D4 (GPIO2) должны быть в HIGH. После загрузки можете их использовать как хотите, но при старте обеспечьте именно такие уровни
Дохлые на есп? Тогда что в #13?
Думаю, что дохлые именно на датчике, а не на ESP. К нему я подключал другие датчики (в т.ч. OLED) и они работали. Ещё хочу попробовать подключить к УНО этот датчик, вдруг произойдет чудо На завтра уже заказал мультимер, приедет, буду проверять.
г0сть пише:Маловероятно что все три датчика дохлые. Брать мультиметр, искать схему этого модуля или даташиты на каждый датчик отдельно и прозванивать цепи, смотреть все-ли правильно кетайцы запаяли.
Но ведь подключение у них общее, что-то бы да и нашло, мне кажется, что сами пины для подключения дохлые. У меня есть ещё BME, там 1 датчик и он тоже не находится по I2C.
Вот и проверьте доходит ли до них питание, что на квадратной шине творится. Может резисторы подтяжки не того номинала или в обрыве/непропай
Дохлые на есп? Тогда что в #13?
Маловероятно что все три датчика дохлые. Брать мультиметр, искать схему этого модуля или даташиты на каждый датчик отдельно и прозванивать цепи, смотреть все-ли правильно кетайцы запаяли.
Но ведь подключение у них общее, что-то бы да и нашло, мне кажется, что сами пины для подключения дохлые. У меня есть ещё BME, там 1 датчик и он тоже не находится по I2C.
Маловероятно что все три датчика дохлые. Брать мультиметр, искать схему этого модуля или даташиты на каждый датчик отдельно и прозванивать цепи, смотреть все-ли правильно кетайцы запаяли.
Ну как 2 последних лекарства
1. попробуй поменять местами SDA <-> SLC
2. Подтянуть RST резистором 1-10 ком на 3.3v. Может он у тебя банально в reset висит.
Привет, прошу прощения, что пропал на 10 дней, подгрузили по работе.
Так вот, SDA < - > SCL пробовал менять изначально, не помогало. Сейчас подключил на 3.3V через 4.7k по RST (вывел в общее питание) - не помогло Мой I2C-Scanner, код которого я представил выше, так и не заметил этот дорогостоящий датчик. Что теперь делать не знаю - возврат просить уже поздно, а чинить сам не умею.
Ну как 2 последних лекарства
1. попробуй поменять местами SDA <-> SLC
2. Подтянуть RST резистором 1-10 ком на 3.3v. Может он у тебя банально в reset висит.
Ну вот - либо что-то неправильно подключено, либо датчик дохлый
В итоге по правильной распиновке мой золотой датчик не подключился Подключил OLED, всё нашло по адресу 0x3C, буду пробовать работать сейчас с ним, что-то выведу. Похоже, придется возвращаться/менять/покупать датчик CCS-811.
P.S.: Хочу заметить, что у меня всё же не CCS-811, а CJMCU-1881, иными словами - Модуль датчиков качества воздуха CCS811 + SI7021 + BMP280.
Подключал неверно, не знаю, как у автора гайда работало через D0/D1, но вот корректная схема распиновки платы. Буду пробовать подключать так.
Ну вот - либо что-то неправильно подключено, либо датчик дохлый
Скорость в мониторе порта правильно выставлена?
Вот тоже решил только что проверить, как оказалось - нет. Исправил, теперь получаю это сообщение:
Hello CSS811
Failed to start sensor! Please check your wiring.
Сканер I2C отдает ответ:
Scanning...
No I2C devices found
Знаете, что вывелось? Ничего
Скорость в мониторе порта правильно выставлена?
Заметил странное поведение платы, ранее такого не видел. Вот скетч:
void setup() {
Serial.begin(9600);
Serial.println("Hello!");
}
void loop() {
Serial.println("Hello!");
delay(1000);
}
Знаете, что вывелось? Ничего
MykolaM пише:г0сть пише:А пример из библиотеки что говорит?
Дает такой же ответ.
В таком случае как выше было сказано проверьте датчик. Возможно у него адрес китайцы поменяли. Запустите i2с-сканер и посмотрите ответ
Использовал для проверки вот такой скетч:
#include <Wire.h>
void setup(){
Wire.begin();
Serial.begin(9600);
while (!Serial);
Serial.println("\nI2C Scanner");
}
void loop(){
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 8; address < 127; address++ ){
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0){
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4) {
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);
}
Удивительно, но я сейчас не получил сообщение "I2C Scanner", которое находится в void setup().