Ви не увійшли.
Приехал мне из Китая датчик расстояния 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
Все действия без даташита - на свой страх и риск.
у китайца нашел на китайском
разберитесь, если можно)
разберитесь, если можно)
С китайцем?