Велосипеден скоростомер на Arduino
Представям проект на велосипеден скоростомер, който ви позволява да следите скоростта на колоездене с помощта на Arduino. Магнитен превключвател (наричан още рийд превключвател) се използва за измерване на скоростта на едно колело. Контролерът Arduino изчислява скоростта и показва тази информация на LCD дисплея, монтиран на кормилото. Устройството е съвместимо с всеки велосипед/колело, трябва само да въведете радиуса на колелото във фърмуера за калибриране.

Списък с части: (1x) Arduino Uno REV 3. (1x) Рид ключ. (1x) 10KΩ 0,25W резистор. (1x) 9V батерия. (1x) Конектори за 9V батерия. (1x) Платка за развитие. (1x) паралаксно осветен LCD 27977-RT. (x2) Превключвател. (2x) BLS щифтове. (1x) BLS конектори.
Допълнителни материали: Тел #22. Спойка. Шкурка. Шперплат. Лепило за дърво. Топящо се лепило. Винтове. Кабелни връзки.

електрическа схема
На диаграмата има три превключвателя: - първият на захранващата линия 9V. е вторият, който включва и изключва подсветката на LCD дисплея. - и един магнитен превключвател (т.нар. рийд превключвател), който се затваря всеки път, когато колелото направи един пълен оборот.
Parallex LCD се свързва към Arduino, използвайки само 3 пина: 5V, GND и сериен цифров изход (TX) - 1 щифт на Arduino.
10 kΩ резистори са свързани към рийд превключвателя и превключвателя за задно осветяване, за да предотвратят излишния ток между 5V и GND на Arduino.
Запоете три реда BLS щифтове върху макетната платка, както е показано на снимката, за да свържете Arduino.

Магнитният превключвател се състои от две части: рид ключ и магнит. Тръстиковият превключвател има контакти, които механично се затварят вътре в него, когато магнитът се приближи.

Спойкатокоограничаващ резистор 10kΩ между A0 и GND на макетната платка. Запойте дълги проводници към A0 и 5V - те ще бъдат прекарани около мотора и свързани към рийд превключвателя.
Инсталиране на рийд превключвател на колело
Прикрепете магнита и рийд превключвателя към вашия велосипед с тиксо (всяко колело ще свърши работа). Както можете да видите на снимката, магнитът е монтиран на една от спиците на колелото, рийд превключвателя на рамката на велосипеда. Тоест, всеки път, когато колелото направи пълен оборот, магнитът преминава през рийд превключвателя, затваряйки го. Свържете проводниците, предварително запоени към платката, към рийд превключвателя. Тръстиковият превключвател е неполярен, така че няма значение как да го свържете.

Използвайте кода по-долу, за да проверите. Когато магнитът на колелото премине през рийд превключвателя, Arduino ще изведе стойността
1023, в противен случай стойността ще бъде
0. Отворете Сериен монитор (Инструменти >> Сериен монитор) в Arduino IDE, за да проверите това. Ако магнитът не влияе на рийд превключвателя, опитайте да го преместите или използвайте по-силен.
Флаширайте Arduino. Включете серийния монитор. Трябва да показва 0.00. Започнете да въртите колелото и ще видите как скоростта на mph се променя всяка секунда.
Използвах сериен LCD. Запоете линия BLS конектори към задната страна (с щифтове) на макетната платка. За свързване на LCD ще се използват три конектора. LCD дисплеят ще пасне добре на тези конектори.
Свържете 5V, GND и TX (1 цифров щифт на Arduino) от Arduino към конектора на дисплея. Погледнете етикетите на LCD щифтовете, за да го разберете правилно.

Има два превключвателя и потенциометър в долната част на Parallax LCD. Потенциометърът контролира контраста на дисплея. ЗаЗа правилна работа превключвателите трябва да са настроени както е на снимката.

За да тествате LCD, използвайте следния код. По някаква причина произволни символи започват да се появяват на моя LCD по време на мигане, но те изчезват, след като свържа отново USB кабела. Мисля, че това пречи на комуникацията на Arduino с компютъра чрез 1 цифров щифт (TX) по време на мигане.
Когато е включен, LCD трябва да показва "Hello World".
Свържете превключвателя, както е показано на снимката. Запоете резистор от 10 kΩ и зеления проводник към единия щифт, а червения проводник към другия.
Свържете червения проводник към Arduino 5V и към GND чрез резистор, а зеления проводник към D2.
Флаширайте Arduino със скицата, която можете да изтеглите в долната част на статията. Уверете се, че подсветката се включва и изключва и скоростта се показва правилно. (Може да се наложи да свържете отново вашия Arduino, за да работи правилно).
Измерете радиуса на колелото (в инчове) и го поставете в низа: float radius = ""';
Използвах прекъсвания на таймера. За да покажете скоростта в km / h, трябва да направите корекция на програмата.
Свържете последователно конектора на батерията и превключвателя, както е показано на снимката. Свържете червения проводник от превключвателя към Arduino Vin и черния проводник от конектора на батерията към Arduino GND.

Изрязах кутията за моя проект с помощта на лазерен нож 1/4" 120W. Размерите на кутията са 3,5"x4"x2". Моделирах корпуса в AutoCAD и направих лазерно изрязани файлове (с шипове) в Autodesk 123D Make. След това добавих два отвора за превключвателите и правоъгълен отвор за LCD. Добавени са и няколко дупки в долната част на кутията за по-лесно закрепване към велосипеда.

След това залепих тялото с лепило за дърво и шлайфах ръбовете. След завършване на корпуса го лакирах.


Инсталиране на компоненти в шасито
Закрепете превключвателите към тялото с гайки. Залепете или завийте LCD дисплея от вътрешната страна на предния панел. Инсталирайте макетната платка, Arduino и батериите в кутията и ги закрепете с велкро или лепило.

Увийте кабелите от тръстиковия превключвател около рамката, като избягвате движещите се части на мотора. Използвах кабелни връзки, за да прикрепя скоростомера към волана.


Сега можете да шофирате с този скоростомер, но не откъсвайте очите си от пътя, докато шофирате!