Спидометр для велосипеда своими руками на Arduino

Программа

Таблица 1.

Спидометр для велосипеда своими руками на Arduino

/*

велоспидометр

*/

#include

LiquidCrystal led(2, 3, 4, 5, 6, 7); // порты ДЛЯ дисплея

int Htime1; // длительность положительного полупериода датчика скорости

int Ltime1; // длительность отрицательного полупериода датчика скорости

float Ttime1; // период датчика скорости

float frequency1; //скорость движения

void setup ()

}

pinMode (8, INPUT); // вход измерения скорости это порт 8

led.begin(16,2); // дисплей 16 символов 2 строки

}

void loop() {

Htime1 = pulseln(8, HIGH); // измерение полож полупериода датчика скорости

Ltime1 = pulsein(8, low) ; // измерение отриц полупериода датчика скорости

Ttime1 = Htime1 + Ltime1; // вычисление периода датчика скорости

frequency1 = 5760000 / Ttime1; // вычисление скорости движения

led.clear(); // очистка памяти дисплея

led.setCursor(0,0); // установка курсора дисплея на верхнюю строку

led.print(frequency1 ,0); // печать целого значения скорости движения

lcd.print(«km/h»); // печать единицы измерения скорости движения

delay(500); // период обновления 0,5 секунды

}

Действие программы основано на измерении периода импульсов, поступающих с датчика, и последующего расчета скорости движения велосипеда.

Для работы используется функция pulsein , которая измеряет в микросекундах длительность положительного либо отрицательного перепада входного импульса. Так что, для того чтобы узнать период нужно сложить длительность положительного и отрицательного полупериодов.

Поскольку датчик дает один импульс на один оборот колеса нужно узнать длину окружности колеса, то есть, сколько метров колесо проходит за один оборот. Размер колеса был 20 дюймов.

Это диаметр 51 см, далее по известной со школы формуле находим длину окружности. Получается 1,6 метра. Впрочем, длину окружности можно и просто измерить рулеткой.

Теперь нужно узнать сколько оборотов колеса будет на один километр, для чего 1000 / 1,6 = 625. Таким образом, датчик дает 625 импульсов на один километр.

Теперь нужно найти число, которое нужно разделить на период, чтобы получить значение скорости в привычных километрах в час. Обозначим это число X, а количество импульсов на километр N. Тогда X можно рассчитать по такой формуле:

X = 3600000000/N

В данном случае:

X = 3600000000 / 625 = 5760000

В результате получаем формулу, необходимую для перехода от значения периода к скорости в километрах в час:

F = 5760000 / Т

Затем, результат выводится на первую строку ЖК-дисплея. Единицы измерения указаны как «km/h». Если входного сигнала нет, например, велосипед стоит, то на дисплее будет надпись «inf».

Конструкция, достоинства и недостатки механического велосипедного спидометра

Спидометр для велосипеда своими руками на Arduino
Вам будет интересно:Как выбрать проектор для домашнего кинотеатра?

Механический спидометр на велосипеде старого советского образца представлял собой ролик, плотно прилегающий к шине переднего колеса и соединенный тросиком с указателем скорости. Небольшая «восьмерка» или налипшая грязь приводили к тому, что показания становились недостоверными или вообще способствовали выходу прибора из строя.

Конструкция современных механических спидометров достаточно проста и надежна. Такое приспособление состоит всего из трех частей:

  • привода;
  • троса;
  • стрелочного прибора.

Спидометр для велосипеда своими руками на Arduino

К несомненным достоинствам таких измерителей скорости относятся:

  • отсутствие элементов питания;
  • независимость показаний от влияния электромагнитных полей.

Основные недостатки механического спидометра для велосипеда:

  • Изделие не универсально и предназначено для установки только на велосипед с определенным размером переднего колеса. Поэтому перед приобретением необходимо обязательно внимательно ознакомиться с инструкцией по эксплуатации.
  • Такие спидометры можно устанавливать не на все модели велосипедов.
  • Для надежной и долгосрочной работы устройства тросик необходимо периодически смазывать.

GPS Speedometer, Distance Meter (измеритель расстояния)

Приложение позволяет измерять скорость движения при ходьбе, беге или езде на велосипеде, автомобиле, а также пройденное расстояние. Если скорость выше предельно допустимой, GPS Speedometer подает вибрационный или звуковой сигнал.

При помощи настроек можно:

  • изменить единицы расстояния или скорости – мили или км;
  • настроить значение допустимой скорости для уведомления;
  • включить или отключить вибрацию и/или звонок;
  • поменять мелодию и громкость оповещения;
  • включить режим День / Ночь;
  • работать с программой в фоновом режиме;
  • изменить язык интерфейса.

В приложении имеется реклама.

Pro-версия приложения отсутствует.

что нужно знать? — Схема-авто — поделки для авто своими руками

Самостоятельная смотка электронного спидометра: что нужно знать? Электронный спидометр, который сегодня устанавливается на большинстве моделей автотранспортных средств, обязательно комплектуется одометром – счетчиком величины пробега данной машины. Все вместе – это очень сложный приборный комплекс, работа которого связана со многими другими электронными системами и блоками автомобиля и поэтому он находится под постоянным контролем электроники, а данные с него фиксируются в чипах энергонезависимой памяти.

Поэтому корректировка спидометра сегодня – это сложный технологический процесс, для осуществления которого требуется не только наличие дорогостоящего электронного оборудования, но и программного обеспечения, для правильного функционирования таких устройств. Оно пока не унифицировано, и для каждой марки автомобиля или мотоцикла требуются свои программы и свой, особый, подход для того, чтобы корректно смотать спидометр. Часто приходится не только менять показания одометра, но и перепрошивать блоки памяти бортового компьютера. После таких манипуляций старые данные о пробеге машины навсегда теряются, а на их место записываются новые показания. Не остаются в памяти компьютера и данные о том, что в его работу было произведено вмешательство.

Для желающих попробовать самостоятельно смотать спидометр своего автомобиля в продаже есть несколько типов электронных приборов, которые могут выполнять такие функции. Они адаптированы для нескольких моделей машин, но при его покупке нужно обязательно выяснить, подходит ли он именно для вашего автомобиля. Об этом можно узнать, побеседовав с опытным продавцом специализированного магазина. Такие приборы могут подключаться непосредственно к разъему диагностики машины, и перепрограммировать память приборной панели и других блоков памяти. В комплект приборов может входить до 50 различных видов шнуров и шлейфов, которые нужны для их присоединения к разъемам разных моделей машин. Прибор комплектуется подробной инструкцией, в которой описаны все манипуляции для проведения корректировки спидометров. Но вся ответственность за последствия вмешательства в электронику автомобиля ложится на плечи пользователя прибора.

Популярные статьи  Пасхальные поделки своими руками: 64 отличные идеи!

Продавцы таких устройств оказывают своим клиентам услугу – консультации через Интернет и посредством электронной почты. В ходе таких консультаций пользователи могут задавать интересующие их вопросы и получать на них полные квалифицированные ответы. Специалисты-практики могут проконсультировать желающих и по телефону, но это уже платная услуга.

xn—-7sbbil6bsrpx.xn--p1ai

Настройка и основные показатели

Длина окружности колеса

Настройка велокомпьютера всегда начинается с ввода длины окружности колеса велосипеда. Именно от корректности этого значения будет зависеть точность измерений и расчётов устройства.

Длину окружности колеса можно измерить с помощью нитки, обернув её вокруг колеса, или портновского метра, но это не самый точный способ, так как при движении камера сжимается, и эффективная длина становится чуть меньше.

Точную длину окружности для конкретного велосипеда и велосипедиста измеряют с полной нагрузкой. Для этого достаточно пометить точку на покрышке, отметить её на полу или асфальте, проехать ровно оборот и измерить расстояние между двумя отмеченными точками.

Спидометр для велосипеда своими руками на Arduino Самый точный способ измерения длины окружности колеса

Для быстрой настройки подходит таблица соответствий размеров колёс и длин окружностей:

Маркировка

Длина окружности в мм

16″ x 1.5″

1206

16″ x 2.0″

1253

6″ x 1.95″

1257

20″ x 1-1/4″

1618

26″ x 1.0″

1913

24″ x 1.9″

1916

650c x 20 мм

1945

26″ x 1.25″

1953

26″ x 1.5″

1985

650c x 23 мм

1990

26″ x 1.75″

2035

26″ x 1.9″

2055

26″ x 2.0″

2074

700с x 20 мм

2074

26″ x 2.1″

2095

700с x 23 мм

2105

26″ x 2.25″

2115

700с x 25 мм

2124

700с, камерная

2130

26″ x 2.3″

2135

700с x 28 мм

2136

700с x 30 мм

2145

27″ x 1-1/8″

2155

700с x 32 мм

2155

27″ x 1-1/4″

2161

700с x 35 мм

2168

700с x 38 мм

2180

В некоторых моделях компьютеров достаточно настройки размера колеса, а расчёт длины не требуется.

Настройка часов и других показателей

Многие велокомпьютеры оснащаются не только функцией измерения скорости и расстояния, но и различными дополнительными показателями.

В первую очередь, это часы. Их настройка зависит от количества кнопок, но не вызывает проблем.

Следующий по популярности показатель – это подсчёт калорий. Он может быть полезен, хотя обычно использует совершенно удивительные алгоритмы. Для этого расчёта необходима настройка веса

Также стоит уделить внимание единицам измерения. Если окружности практически везде настраивается в миллиметрах, то вес часто измеряют в фунтах

Основные показатели

За долгое время сложился стандартный набор показателей велокомпьютеров с единицами измерения. Разберём их.

  • SPD, SPEED – текущая скорость. Обычно отмечается, Mph – миль в час, Kmh – километров в час.
  • AVG, AVS – средняя скорость после последнего сброса. Нулевая скорость обычно не учитывается.
  • TM, TIME – общая длительность движения после сброса. При нулевой скорости так же останавливается.
  • DST – дистанция, общее расстояние с момента сброса.
  • ODO – общая дистанция (пробег). ODO так же сбрасывается, но по особой команде RESET, вместе с другими настройками велокомпьютера.
  • Scan – отметка режима демонстрации показателей, когда они отображаются на дисплее по очереди.

Спидометр для велосипеда своими руками на Arduino Велокомпьютер с актуальными показателями

Окончательная программа для спидометра

Загрузите приведенный код на Arduino. Проверьте работу переключателя подсветки и насколько корректно отображается скорость.

Уточните радиус вашего коле в дюймах и вставьте это значение в строку: float radius = »»’;

В этой части кода я использовал прерывания, чтобы переменная «timer» увеличивала свое значение с частотой 1 кГц.

//Спидометр для велосипеда с использованием геркона

//скорость велосипеда отображается на LCD экране

//расчеты

//радиус колеса ~ 13.5 дюймов

//расстояние = pi*2*r =~85 дюймов

//максимальная скорость 35 миль/час =~ 616 дюймов/секунду

//максимальная угловая скорость =~7.25

#define reed A0// пин, к которому подключен геркон

// переменные

float radius = 13.5;// радиус колеса (в дюймах)- измените это для своем велосипеде

int reedVal;

long timer = 0;// время одного полного оборота (в милисекундах)

float mph = 0.00;

float circumference;

boolean backlight;

int maxReedCounter = 100;// минимальное время (в милисекундах) одного оборота

int reedCounter;

void setup(){

reedCounter = maxReedCounter;

circumference = 2*3.14*radius;

pinMode(1,OUTPUT);// tx

pinMode(2,OUTPUT);// свич подсветки

pinMode(reed, INPUT);

checkBacklight();

Serial.write(12);// очищение

cli();// остановка прерываний

// устанавливаем прерывание timer1 на частоте 1 кГц

TCCR1A = 0;// устанавливаем внутренний регистр TCCR1A в 0

TCCR1B = 0;// то же самое для TCCR1B

TCNT1 = 0;

// устанавливаем инкремент для счетчика 1 кГц

OCR1A = 1999;// = (1/1000) / ((1/(16*10^6))*8) — 1

// активируем режим CTC

TCCR1B |= (1

TCCR1B |= (1

// таймер сравнивает прерывание

TIMSK1 |= (1

sei();//allow interrupts

// Конец настройки таймера

Serial.begin(9600);

}

void checkBacklight(){

backlight = digitalRead(2);

if (backlight){

Serial.write(17);// включаем подсветку

}

else{

Serial.write(18);// выключаем подсветку

}

}

ISR(TIMER1_COMPA_vect) {// Прерывание с частотой 1 кГц для измерений герконом

reedVal = digitalRead(reed);// получаем значение A0

if (reedVal){// если геркон замкнул контакт

if (reedCounter == 0){// минимальное время между импульсяами прошло

mph = (56.8*float(circumference))/float(timer);// расчет миль в час

timer = 0;// перезагрузка таймера

reedCounter = maxReedCounter;// перезагрузка reedCounter

}

else{

if (reedCounter > 0){// не позволяем reedCounter принять негативное значение

reedCounter -= 1;// декремент reedCounter

}

}

}

else{// если геркон не замкнут

if (reedCounter > 0){// не позволяем reedCounter принять негативное значение

reedCounter -= 1;// декремент reedCounter

}

}

if (timer > 2000){

mph = 0;// если не поступают импульсы от геркона, значит скорость равна 0

}

else{

timer += 1;// инкремент таймера

}

}

void displayMPH(){

Serial.write(12);// очищаем

Serial.write(«Speed =»);

Serial.write(13);// начинаем новую строку

Serial.print(mph);

Serial.write(» MPH «);

//Serial.write(«0.00 MPH «);

}

void loop(){

// отображаем mph раз в секунду

displayMPH();

delay(1000);

checkBacklight();

}

Как работает

Вне зависимости от того, с какой скоростью движется ваше транспортное средство, его колёса совершают определённое количество оборотов, проходя километр пути. Этот показатель остаётся неизменным. Зная число оборотов колеса, легко рассчитать количество пройденных километров и вывести его на счётчик. В одометрах разного типа подсчёт и передача происходят по-разному.

Существует три вида одометров:

  • механические;
  • электромеханические;
  • электронные.

Более старые и мало-помалу уходящие в прошлое механические модели функционируют с помощью специального гибкого тросика, который вращается с той же скоростью, что и колесо. Вращение передаёт выходной вал, дальше усилие идёт по тросику на магнитную стрелку. Магнитная стрелка отображает числовой показатель на намагниченном диске.

Популярные статьи  Необычный настенный держатель для изделий из бумаги

Довольно простой по комплектации, механический одометр относительно дёшев. Его просто разбирать и ремонтировать, меняя старые детали на новые. Его работа не зависит от батареек и магнитных бурь. Между тем, при правильной установке и настройке со своей основной функцией элементарного подсчёта километров такой прибор справляется достойно.

Недостатком можно считать автоматическое обнуление показаний по достижении определённой пороговой цифры. К тому же механическое устройство несколько затрудняет вращение колеса, а в случае, если колёса изогнуты восьмёркой, не работает совсем. Может повлиять на показания счётчика и попадающая на прибор грязь. Так что такой одометр необходимо часто и тщательно протирать и смазывать. Зато для прогулок по чистому и гладкому шоссе прибор с механической передачей вполне подойдёт.

Электромеханические одометры работают за счёт вращения шестерёнки, которая приводит усилие к электромеханическому датчику.

Спидометр для велосипеда своими руками на Arduino

Сенсорное устройство производит импульсы электричества, попадающие по проводам в блок спидометра, где вращается маленький электродвигатель, выполняющий роль привода пробегового счётчика. Одометры такого типа установлены на большинстве современных автомобилей.

Датчики электронных одометров полностью электронные. Кроме того, они имеют жидкокристаллические индикаторы. Такой прибор труднее «обмануть», для этого потребуется применить специальное устройство.

Современные велосипедные одометры, по сути, становятся частью «бортовых» велокомпьютеров, подсчитывающих не только общий пробег байка, но и многие другие параметры движения, необходимые велосипедистам, серьёзно занимающихся велотренировками. Это могут быть, к примеру, такие показатели, как:

  • текущая скорость;
  • средняя скорость;
  • длина дистанции;
  • время в пути;
  • каденс;
  • пробег;
  • часы.

Датчиком электронного одометра выступает контакт, герметично расположенный в корпусе, – геркон. Его закрепляют на перьях передней вилки либо (когда длина проводов для этого достаточна) около заднего колеса. На спице колеса крепится постоянный магнит, который заставляет датчик срабатывать. Время между двумя ближайшими включениями датчика отслеживает микроконтроллер. Жидкокристаллические индикаторы с семью сегментами отражают полученный результат, функцию подсветки выполняют светодиоды.

Спидометр для велосипеда своими руками

написал на сайте, но повторю здесь, в надежде что автор увидит и реализует: сделать gps-маяк для велосипеда на arduino чтобы была возможность спрятать в трубах велосипеда. Это на случай угона велосипеда и можно было бы отследить его на карте.

Вместо ардуимы лучше взять esp-12e ибо с энергоэффективностью у нее получше + есть вифи. GPS трекер нельзя зашивать в металлическую трубу. Аналогично нельзя зашивать и GPRS модуль в трубу ибо чревато потерей сигнала и повышенной бесполезностью всей конструкции.

Остается всего 1 вариант. Выносить антенны от GPS/GPRS на раму. Любой угонщик у вас сразу же их оборвет.

ну есть варианты, вот например: спрятать в седле/под седлом; сделать скрытую (PCB антенну, скрытую под слой краски/пленки на раме). Я вот больше проблем вижу в том, что GPS в здании скорее всего не будет работать, а еще проблемы с питанием. А смысл в wifi?

wifi просто плюсик да и более выгодный и быстрый протокол для связи и передачи трека на телефон. Тут упор на питание. ESP отлично впадает в спячку без работы, GPRS жрет не так много с условием если передавать данные по треку раз минут эдак в 20 и только с условием что вел в движении. Т.ч. только GPS будет жрать. Я с ним не работал т.ч. судить о прожорливости модуля не могу.

PCB можно использовать что для GPS что для GPRS. GPS с активной антенной скорей всего будет в здании работать но 100% высаживать аккум будет с дикой скоростью.

Можно купить карбоновый руль или подсиделку, цена вопроса от 20 баксов

я с вами согласен, посмотрел размеры антенны. Ну хоть посмотреть как это должно выглядеть, ведь маяк можно поставить не только на велосипед, например на автомобиль, свой или проследить за чьим то автомобилем =)

да, надеюсь доберусь я и до ЖПС!

вроде бы есть готовые решения. где-то видел, но не помню где

наверняка есть, и оно скорее всего ппц какое дорогое. Ну и очень много таких наворотов легко решается с помощью ардуинки и прямых рук, что и доказывает нам автор видео на своём канале.

Установка спидометра на транспортное средство

В нашем проекте мы установили этот спидометр на велосипед, на наш взгляд получилось весьма неплохо. Далее представлены решения каким образом мы все это смонтировали и разместили на велосипеде, но вы можете сделать этот шаг на ваше усмотрение, с использованием имеющихся у вас средств и материалов. Единственное, о чем нужно побеспокоиться – чтобы магнит был надежно прикреплен к ободу колеса, а датчик Холла был размещен как можно ближе к магниту чтобы он срабатывал всегда, когда магнит будет пересекать его.

Спидометр для велосипеда своими руками на Arduino Спидометр для велосипеда своими руками на Arduino

Мы использовали 3D принтер для изготовления всех необходимых коробочек и креплений, поэтому мы не были ограничены в дизайне этих вещей. Если у вас нет доступа к 3D принтеру пропустите эту часть статьи и используйте свою собственную фантазию для закрепления спидометра на вашем транспортном средстве.

Если у вас есть доступ к 3D принтеру и вы хотите использовать наши файлы для работы 3D принтера, то убедитесь что размеры вашей платы примерно такие же, как и у нас на приведенном рисунке.

Спидометр для велосипеда своими руками на Arduino

Сначала напечатайте на 3D принтере корпус для нашей вспомогательной платы, содержащей датчик Холла и резистор, и разместите их на вашем транспортном средстве как показано на следующих рисунках.

Спидометр для велосипеда своими руками на Arduino

Перед печатью корпуса для основной платы желательно смоделировать как все это будет выглядеть чтобы тщательно подогнать все размеры. Вид этой модели показан на следующем рисунке.

Спидометр для велосипеда своими руками на Arduino

Спидометр для велосипеда своими руками на Arduino

Теперь можно приступать к дизайну корпуса для нашей основной платы. Мы разбили дизайн этого корпуса на два файла, на одной части будет смонтирована вся электроника, а вторая будет неподвижно закреплена на велосипеде с помощью гаек и болтов. Эти две части в любой момент можно будет легко соединять и разъединять. После размещения в корпусе электроники мы получим следующий вид нашего устройства:

Популярные статьи  Моддинг системника "Бесконечная пустота"
Спидометр для велосипеда своими руками на Arduino Спидометр для велосипеда своими руками на Arduino

Как вы можете видеть, в передней части корпуса имеются два отверстия. Одно будет использоваться для вывода USB, через который мы будем заряжать наш мобильный телефон. А второе будет использоваться для micro USB, через которое мы сможем заряжать наш литиевый аккумулятор.

После этого печатаем вторую часть корпуса для главной платы и проверяем насколько хорошо они стыкуются друг с другом.

Спидометр для велосипеда своими руками на Arduino Спидометр для велосипеда своими руками на Arduino

Если вы удовлетворены качеством стыковки этих двух частей, то вы можете установить неподвижную часть корпуса на велосипед.

Спидометр для велосипеда своими руками на Arduino Спидометр для велосипеда своими руками на Arduino

Теперь подсоединяем аккумулятор к нашему устройству. Желательно замотать его в герметичную ленту чтобы обеспечить целостность соединений.

Спидометр для велосипеда своими руками на Arduino

Спидометр для велосипеда своими руками на Arduino

Теперь наше устройство готово к окончательному монтажу. Просто соедините модуль датчика Холла с основной платой и устройство будет готово к работе.

Спидометр для велосипеда своими руками на Arduino

Шаг 1. Держатель

Для этого проекта очень важно иметь сильный и стабильный держатель нашего Ардуино спидометра. Смысл в том, что велосипед может пострадать от сильного импульса, когда он попадает в дыру или когда вы решаете повеселиться и взять вел в тяжелые условия езды

Кроме того, наши входные данные фиксируется, когда магнит на колесе пересекает датчик эффекта Холла на опоре.

Если все одновременно пойдет не так, Arduino покажет скорость высокоскоростного поезда. Кроме того, вы не захотите, чтобы ваш лучший друг Ардуино упал на дороге только потому, что вы решили быть ленивым и использовать для держателя очень дешевые материалы.

Поэтому, чтобы соблюсти все нюансы безопасности, мы решил использовать алюминиевые ленты, так как их можно легко разрезать и просверлить, они устойчивы к коррозии и довольно дешевы, что всегда хорошо для поделок своими руками. Мы также использовали некоторые гайки (с шайбами) и болты, чтобы закрепить держатель на раме, так как всё должно быть надежно закреплено на раме.

Еще одной важной частью является то, что электроника нашего спидометра Ардуино должна быть должным образом изолирована от опор, если они сделаны из какого-либо металла. Горячий клей, который мы использовали, работал отлично, он также поглощал и смягчал удары, что было хорошо для довольно хрупкого дисплея

Электросхема

Прибор может работать только в автомобиле с инжекторным двигателем (в карбюраторных датчика скорости нет, а датчик зажигания есть далеко не во всех). Схема прибора показана на рисунке 1. На этом рисунке плата ARDUINO UNO показана схематично как «вид сверху».

Рис. 1. Принципиальная схема спидометра и тахометра на базе Arduino.

Для согласования портов с датчиками используются каскады на транзисторах VT1 и VT2. Так как питание поступает на прибор с выхода замка зажигания он работает только при включенном зажигании. Датчик скорости, равно как и датчик зажигания автомобиля представляют собой источники импульсов, частота которых зависит от вращения механических деталей автомобиля.

Датчик зажигания автомобиля с четырехцилиндровым бензиновым двигателем формирует два импульса за один оборот коленчатого вала. Если у двигателя не четыре цилиндра частота следования импульсов будет иной.

Датчики скорости бывают разные, но в большинстве своем, что особенно касается отечественных автомобилей, они дают 6000 импульсов за один километр пробега. Хотя, бывают, и такие что дают 2500 импульсов на километр, возможно, есть и другие.

Электросхема проекта приведена ниже.

1. Один подключен к питанию 9 вольт

2. Второй переключатель — к LCD экрану для его включения/выключения

3. Магнитный выключателя (геркон), который замыкает цепь каждый раз, когда колесо совершает полный оборот.

LCD монитор Parallax, который используется в проекте, подключается к Arduino по трем пинам. Один идет к 5 В, один к земле, третий — к серийному выходу (TX) на плате Arduino на цифровом пине 1.

Резисторы на 10 кОм подключены к переключателям и подсветке монитора, чтобы избежать превышения допустимой силы тока между 5 В и землей (ни в коем случае не подключайте 5 В и землю напрямую к Arduino).

Программа на C с подробными комментариями приведена в таблице 1. Действие программы основано на измерении периода импульсов, поступающих с датчиков, и последующего расчета скорости и частоты вращения коленвала.

Таблица 1. Исходный код программы.

Для работы используется функция pulseln , которая измеряет в микросекундах длительность положительного либо отрицательного перепада входного импульса. Так что, для того чтобы узнать период нужно сложить длительность положительного и отрицательного полупериодов.

F= 1440000/Т

Под другой датчик нужно будет рассчитать другое число, которое делится на период, и подставить его в программу вместо «600000».

Затем, результаты выводятся в соответствующие строки ЖК-дисплея. Единицы измерения указаны как «km/h» и «оЬ/тіп» (если не нравится, можете изменить).

Если входного сигнала нет, например, включили зажигание, но двигатель не завели, не поехали, то в строках, где нет сигнала, будет надпись «inf».

В принципе, налаживания не требуется. Однако, если неизвестно сколько импульсов на километр дает датчик скорости конкретного автомобиля, это нужно предварительно выяснить.

Либо заниматься экспериментальным подгоном числа, которое делится на период, сверяясь со стрелочным спидометром, что весьма хлопотно, или невозможно, если штатный спидометр неисправный (что и могло стать причиной изготовления данного прибора).

X = 3600000000 / N

Х= 3600000000 / 2500 = 1440000

Х= 3600000000 / 6000 = 600000

Загрузите приведенный код на Arduino. Проверьте работу переключателя подсветки и насколько корректно отображается скорость.

Уточните радиус вашего коле в дюймах и вставьте это значение в строку: float radius = »»’;

В этой части кода я использовал прерывания, чтобы переменная «timer» увеличивала свое значение с частотой 1 кГц.

//Спидометр для велосипеда с использованием геркона

//скорость велосипеда отображается на LCD экране

Оцените статью
Денис Серебряков
Добавить комментарии

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Спидометр для велосипеда своими руками на Arduino
Генератор 12В на основе нитродвигателя