Ви не увійшли.

Приехал мне из Китая датчик расстояния HC-SR04. Судя по надписям и не запаянным резюкам он может работать по UART и I2C. Но не могу найти информацию о таких модулях. Может кто сталкивался? Интересует его опрос по I2C. Фото прилагаю.
Остання редакція motoGiS (2020-12-24 10:24:40)
Неактивний

Ищите информацию по чипу в центре. На фото надписи на нем плохо видно

https://shopee.com.my/amp/Ultrasonic-distance-sensor-module-(HC-SR04-model-2020-RCWL-9300-RCWL-9602-support-GPIO-UART-and-IIC)-i.35780982.1642652340
ну это какой-то китайский контроллер. Вряд ли вы найдете на него даташит.

Я то понимаю. Но хочется попробовать поработать с ним по i2c. Адрес нашел, 0x57. Поэксперементирую.
Расскажешь что получилось. Кстати, а чего хочешь мерять?
Неактивний

Расскажешь что получилось. Кстати, а чего хочешь мерять?
Нужен датчик приближения для включения подсветки в железяке если кто-то подошел к ней на пол метра и меньше.
Чуток разобрался. В принципе, работает как и по GPIO, команда на посыл/считывание данных.
Запаиваем на место R4 резюк на 10 kOm. Железка получает адрес 0x57.
Сначала отправляем устройству 0x01, затем через 50-100 мс (при меньших значениях нужно еще поэксперементировать) забираем 3 байта. Первых 2, старший и младший соответственно и отдают задержку, а вот не пойму что за третий, может уже наносекунды? Если не забрать все 3 байта, все виснет. Вот пример кода:
        // Запускаем измерение
        Wire.beginTransmission(0x57);
        Wire.write(0x01);
        Wire.endTransmission();
        Serial.println("Send");
        delay(100);
        // Читаем 3 байта
        Wire.requestFrom(0x57, 3);
        byte b1, b2, b3;
        b1 = Wire.read();
        b2 = Wire.read();
        b3 = Wire.read();
        // Соединяем и Делим
        uint16_t distacne_cm = ((b1 << 8) | b2) / 58;
        // Смотрим
        Serial.print("Distance = ");
        Serial.print(distacne_cm);
        Serial.println(" cm.");
        Serial.print(b1);
        Serial.print(", ");
        Serial.print(b2);
        Serial.print(", ");
        Serial.println(b3);Остання редакція motoGiS (2020-12-24 10:25:38)
Неактивний

Да мне интересно было с этим датчиком разобраться + я могу легко выбрать расстояние, при котором будет происходить срабатывание: хочешь 2 метра, хочешь метр, а хочешь так и 10 см.
Мой проект еще в стадии разработки, там все может поменяться 100500 раз.
Неактивний

Судя по фото модуля - там 2 незапаянные перемычки. Скорее всего без перемычек - GPIO
Верхняя по фото перемычка (если запаять) - I2C
Нижняя - UART
Все действия без даташита - на свой страх и риск.

у китайца нашел на китайском   
 

разберитесь, если можно)

разберитесь, если можно)
С китайцем?