Найти тему
Mega.Animeshnik

Adafruit APDS9960 failed to initialize device! Please check your wiring.

Оглавление

Я уже писал статью про APDS9960 https://dzen.ru/media/mega_animeshnik/661de897dbc1430ad9b68196 но там была речь про библиотеку от SparkFun. Сегодня, я хотел потестить датчик для определения температуры света, получилась хрень, то ли датчик мой совсем паль, то ли что.

Проблема

Скаченная библиотека и скетч из примера, не хотят работать с датчиком и выдают только "failed to initialize device! Please check your wiring."

Решение

В файле Adafruit_APDS9960.h, найти и заменить

APDS9960_GCONF4 = 0xAB,

на

APDS9960_GCONF4 = 0xA8,

В файле Adafruit_APDS9960.cpp

uint8_t x = read8(APDS9960_ID);
if (x != 0xAB) {
return false;
}

заменить на

uint8_t x = read8(APDS9960_ID);
if (x != APDS9960_GCONF4) {
return false;
}

После этого, палёный датчик, скорее всего заработает, мой заработал.

Имейте в виду, что если вы захотите заменить датчик, вам может понадобится обратно 0xA8 заменить на 0xAB.

пикча для обложки
пикча для обложки