Несколько измерений за один луп одним ультразвуковым датчиком HC-SRO4
- Войдите на сайт для отправки комментариев
Сб, 04/03/2017 - 12:15
Пытался написать код для робота-машины. Он должен измерить расстояние спереди, повернуть с серво налево, направо и также измерить расстояние. Проблема в том, что он за один луп измеряет только один раз расстояние. Как можно несколько раз применять датчик?
Проблема в том, что он за один луп измеряет только один раз расстояние.
Сколько раз напишете, столько и будет.
Напишете 1 раз - будет измерять 1 раз.
Напишете 10 раз - будет измерять 10 раз.
Напишете 0 раз - вообще не будет измерять.
PS. На самом деле в правильно написанном коде он и должен измерять за один проход цикла не более 1 раза. Но на разных проходах вполне может использовать различные датчики.
Пытался написать код для робота-машины. Он должен измерить расстояние спереди, повернуть с серво налево, направо и также измерить расстояние. Проблема в том, что он за один луп измеряет только один раз расстояние. Как можно несколько раз применять датчик?
Так и напишите
В правильно написаном коде измерение расстояния за один проход цикла должно проводится 0 раз. Оно не должно быть привязано к лупу, а должно быть реализовано на прерывании. Почему? Да потому что 1м расстояния это 6мсек ожидания эха. Если луп будет столько ждать данные с датчика расстояния на остальное уже времени не хватит.
Конечно Вы, как автор вправе делать как нравится, только будет просьба, для следующих своих вопросов не создавайте новые темы, а дописывайте в существующие, тех кто уже прыгал по этим граблям, а именно: "многопоточность в ардуино", "ардуино не успевает", "разгон ардуино", "как связать две ардуино" и т.п. ;)