Велокомпьютер
- Войдите на сайт для отправки комментариев
Здравствуйте уважаемые гуру и только начинающие.
Чувствую, что задача смешная, но всё же спрошу, потому что запутался.
Идея простая: сделать очередной велокомпьютер из arduino. Подсчёт оборотов решил делать с помощью датчика Холла a3144. В коде, на данный момент, удаётся вести подсчёт количества оборотов колеса.
unsigned long NewMileage = 0; unsigned long NumberOfCircles = 0; // считаю количество оборотов колеса void rpm(){ NumberOfCircles++; NewMileage=NumberOfCircles; } void setup() { // фиксирую только переход датчика А3144 с HIGH на LOW, то есть // когда поблизости магнит, то сигнал становится LOW attachInterrupt(0, rpm, FALLING); Serial.begin(9600); } void loop() { Serial.println(NewMileage); }
Общее пройденное расстояние легко подсчитать просто умножив количество оборотов колеса за всё время поездки на длину окружности колеса. Но как быть с подсчётом скорости (v=S/t) Даже если принять, что согласен считать количество оборотов колеса за 1 секунду, то количество оборотов мне известно общее за всю велопрогулку, а не за одну прошедшую секунду.
Наставьте на путь истинный, пожалуйста. Как знать текущую скорость езды ?
считай v = S / t , где S - длина обода колеса, а t - время между кликами датчика
Спасибо за ответ. Эту формулу я написал в первом посте ветки, проблема у меня как раз подсчёте времени оборота, ну или количества оборотов за определённый промежуток времени(что считаю менее удачныи решением). Никак не соображу как это делать. Уже начал читать про millis, про таймер в arduino, но просветление пока так и не пришло.
ок. класс титановый велосипед StopWatch.
Никак не соображу как это делать. Уже начал читать про millis, про таймер в arduino, но просветление пока так и не пришло.
Читать - это хорошо, но лучше бу начать с учебника по программированию. Мало пользы в изучении дорожных знаков, если Вы понятия не имеете, для чего в автомобиле руль и педали и как ими пользоваться.
Ну а по поводу "сообразить" - просто представьте, как бы Вы сами стали решать эту задачу, если бы на месте контроллера были лично Вы. Смогли бы Вы, располагая счетчиком оборотов и часами, вычислить скорость движения?
Спасибо всем отозвавшимся. Накидал я тут код, вроде бы даже считает и расстояние и скорость.
Уважаемые гуру, взгляните на него пожалуйста, всё ли верно:
Никто не может проверить код на логичность ?
Это основной функционал, не хочется делать базис с ошибками.
Заранее спасибо.