RoboxКомплект из сервопривода и датчика расстояния
V.4Лабораторный стенд Promobot
RRStudioПростое написание алгоритмов
TestDevicesТестирование оборудования и проверка связи
Настройка WSL2Windows Subsystem for Linux
TelegramНаписать в чат технической поддержки
// Включение необходимых библиотек:
// Библиотека для работы с датчиком расстояния
#include "Ranger.h"
// Модуль для инициализации шины передачи данных
#include "bus_handler.h"
// Объявление структуры данных для чтения значений с датчика.
// Структура имеет вид:
// struct sensor_data {
// uint8_t US_distance;
// uint8_t IR_distance;
// };
struct sensor_data data;
// Выставление адреса датчика расстояния. По умолчанию - 1
int sensor_addr = 1;
int main()
{
// Инициализация последовательного порта для работы с датчиком.
// Вывод отладочной информации отключен.
// Порт по умолчанию для ubuntu - /dev/RS_485
if (init_port("/dev/RS_485",false) < 0)
{
return -1;
}
while(1)
{
// Отправка команды на измерение расстояния
trig_sensor(sensor_addr);
// Ожидание отражения сигналов измерения
// Расчет времени = (макс.дист. / скорость звука) * 2, таким образом (2.5 / 343)*2 = 0.014 секунды
usleep(10000);
// Чтение измеренных значений расстояния
data = read_sensor(sensor_addr);
// Вывод измеренных расстояний
printf("Data from sensor: \n");
printf("US_diatance: %i\n",data.US_distance);
printf("IR_distance: %i\n\n",data.IR_distance);
}
return 0;
}