#include <Wire.h>
// Адрес датчика (0x57 - наиболее вероятный)
// Если не работает, запустите сканер I2C (код ниже)
#define SONAR_ADDR 0x57
void setup() {
Serial.begin(9600);
Wire.begin();
Serial.println("=== ReX Distance 1T Test ===");
Serial.println("Подключите датчик: 5V->5V, GND->GND, SDA->A4, SCL->A5");
delay(2000);
}
void loop() {
// Запрашиваем 2 байта данных
Wire.requestFrom(SONAR_ADDR, 2);
if (Wire.available() >= 2) {
// Читаем два байта и собираем в одно число (16 бит)
int distance = Wire.read() << 8 | Wire.read();
// Выводим результат
Serial.print("Расстояние: ");
Serial.print(distance);
Serial.println(" см");
// Индикация проблем
if (distance == 0) {
Serial.println(" -> Нет препятствия или объект в мёртвой зоне (<2 см)");
} else if (distance > 100) {
Serial.println(" -> Возможно, превышение дальности (модель 1T = до 1 м)");
}
} else {
Serial.println("Ошибка: датчик не отвечает!");
}
delay(500); // Опрос 2 раза в секунду
}