


Датчик расстояния ультразвуковой IOE-SR05 UART
Артикул: | 00515 |
Группа: | Датчики и сенсоры |
Теги: | Расстояние |
В наличии: | 0 шт. |
Прошлая цена: | 612 руб. |
Описание |
Описание: Датчик расстояния ультразвуковой IOE-SR05 UART
Датчик расстояния ультразвуковой IOE-SR05 измеряет расстояние до объектов при помощи ультразвуковых волн. Датчик излучает в пространство ультразвуковую волну и принимает отраженную волну. Время между излучением и приемом отраженной волны пропорционально расстоянию до предмета, отразившего волну. Датчик характеризуется подключением к контроллеру через стандартный последовательный интерфейс UART. Датчик имеет вывод TxD, который подключается непосредственно на вход RxD контроллера. Модуль периодически посылает данные об измерениях в последовательный порт.
Характеристики
- Рабочее напряжение: от 3 до 5,5 В;
- Рабочий ток: 8 мА;
- Частота ультразвука: 40 кГц;
- Диапазон измерений: от 0 до 2000 мм;
- Разрешение измерения: 1 мм;
- Скорость передачи данных: 9600,8,n,1;
- Периодичность измерения: 18 мс;
- Размеры: 36 x 22 x 15 мм.
Контакты
Vcc | Питание |
TxD | Данные |
EN | Вход включения модуля. 0 — включить 1 — отключить |
GND | Земля |
GND | Земля |
Данные
При включении модуль постоянно проводит измерения расстояния с периодичностью до 18 мс. После каждого измерения модуль выводит в последовательный порт TxD посылку данных. Одна посылка состоит из четырех байт и содержит информацию о текущей измеренной дистанции.
Байт 1 | Байт 2 | Байт 3 | Байт 4 |
0xFF | H_DATA | L_DATA | SUM |
0xFF — стартовый байт для определения начала посылки;
H_DATA — старший байт данных измеренного расстояния;
L_DATA — младший байт данных измеренного расстояния;
SUM — сумма трех предыдущих байт без учета переполнения, SUM = 0xFF + H_DATA + L_DATA. Используется для контроля целостности посылки.
H_DATA и L_DATA предоставляют 16-битные данные расстояния, выраженного в миллиметрах.
Расстояние = H_DATA * 256 + L_DATA.
Если модуль не может определить расстояние, например, если диапазон измерения вне допустимых пределов, модуль посылает следующую посылку из четырех байт:
0xFF 0xAA 0xAA 0x53
Пример кода для Arduino
/*
* Выход датчика TXD необходимо подключить на пин 10 контроллера
* Контакт датчика EN необходимо подключить к GND
* Информация об измеренной дистанции выводится в порт Serial на скорости 115200
*/
#include <SoftwareSerial.h>
#define DISTANCE_UNKNOWN 0xAAAA
unsigned int distance = DISTANCE_UNKNOWN; // сюда будем записывать измеренную дистанцию
unsigned char b;
unsigned char buf[4];
unsigned char buf_position = 0;
unsigned char crc;
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(115200);
mySerial.begin(9600);
}
void loop() {
while (mySerial.available()) {
b = mySerial.read();
if ((buf_position==0)&&(b!=0xff)) continue;
buf[buf_position++] = b;
if (buf_position>=4) {
crc = buf[0]+buf[1]+buf[2];
if (crc == buf[3]) {
distance = (buf[1]<<8) | buf[2];
if (distance == DISTANCE_UNKNOWN) Serial.println ("unknown");
else Serial.println (distance);
}
buf_position = 0;
}
}
}
Поделиться: |