Съдържание:

Направи си сам велосипеден оборотомер: 5 стъпки (със снимки)
Направи си сам велосипеден оборотомер: 5 стъпки (със снимки)

Видео: Направи си сам велосипеден оборотомер: 5 стъпки (със снимки)

Видео: Направи си сам велосипеден оборотомер: 5 стъпки (със снимки)
Видео: バーグマン400ABS(スズキ)はバイクの乗り味を持つビッグスクーター!試乗インプレ SUZUKI BURGMAN400 ABS test ride in Japan 2024, Ноември
Anonim
Image
Image
Направи си сам велосипеден оборотомер
Направи си сам велосипеден оборотомер

Ще ви покажа как да изградите скоростомер за велосипеди. Той показва вашата скорост, средната скорост, температурата, времето за пътуване и общото разстояние. Можете да го промените с помощта на бутона. Освен това скоростта се показва на тахометър. Построих го, защото обичам да строя нови неща, не намерих нищо подобно в интернет, затова искам да ви покажа как да изградите добър скоростомер, тъй като този на мотора ми не е толкова готин, колкото искам:). Така че нека започнем.

Стъпка 1: Части:

Части
Части

Това е списък с части, които ще ви трябват. Те ми струваха около $ 40:

  • Arduino
  • Велосипед с тръстиков превключвател
  • LCD дисплей 16x2
  • Серво
  • Платка
  • Термометър DS18B20
  • Резистор 1.2k Ω, 4.7k Ω
  • Превключване
  • Бутон
  • Потенциометър 10 kΩ
  • 9V батерия
  • Кабели
  • Кутия
  • Инструменти (бормашина, запояване, нож, лента)

Стъпка 2: Свързване

Връзка
Връзка
Връзка
Връзка
Връзка
Връзка
Връзка
Връзка

Добавих снимка от Fritzing и устно описание на това как да го свържа. На снимката всички червени проводници са свързани към 5V, всички сини кабели са свързани към GND.

ЛСД дисплей:

VSS GND Arduino

VDP 5V Arduino

VO изходен потенциометър (потенциометър VCC -> 5V Arduino, потенциометър GND -> Arduino GND).

RS пин 12 Arduino

RW GND Arduino

E пин 11 Arduino

D4 пин 5 Arduino

D5 пин 4 Arduino

D6 пин 3 Arduino

D7 пин 2 Arduino

5V Arduino

K GND Arduino

Серво:

VCC 5V Arduino

маса GND Arduino

Пункт за данни 6 Arduino

Термометър:

VCC 5V Arduino

маса GND Arduino

Пункт за данни 1 Arduino

данните и захранването са свързани чрез резистор от 4,7 kΩ

Сензор на колело:

единият край -> 5V Arduino

втори край -> A0 Arduino и резистор 1, 2 kΩ

Другият край на резистора към земята в Arduino

Бутон:

един край 5V Arduino

втори край A1 Arduino

Стъпка 3: Качване на код:

По -долу добавих кода в коментарите има обяснение.

връзки към библиотеките за изтегляне:

www.pjrc.com/teensy/arduino_libraries/OneWire.zip

github.com/milesburton/Arduino-Temperature-Control-Library

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

схема = π*d*2, 54 (d = диаметър на вашето колело, умножих го по 2,54, за да получа резултата в метри).

/*

################################################# Авторско право от Никодем Бартник юни 2014 г. ########################################## ###### */// библиотеки #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Даларски сензори за температура (& oneWire); // щифтове за LCD дисплей LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // име на серво Серво myservo; // дефиниране на променливи дълго преди, трипред, време, импулси; плаващ скоростомер, dist, аспектиран; int серво; int екран = 1; // Ако имате друга верига на колело, трябва да я промените поплавъчна верига = 2.0; двойна температура; void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // серво дефиниция и настройка на оборотомера на 0 myservo.attach (6); myservo.write (180); lcd.print ("Тахометър за велосипеди"); забавяне (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); забавяне (4000); lcd.clear (); забавяне (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// ако колелото се завърти if (analogRead (A0)> = 300) {// брой на завоите ++ импулси ++; // броим времето за завъртане = (millis ()-предишно); // пребройте скоростомера на скоростта = (верига /време)*3600.0; предишен = millis (); Оборотомер (); забавяне (100); } Lcd (); } // показване на скоростта на тахометъра void Tachometer () {// картографиране на скоростта 0-180 на серво скоростомер = int (скоростомер); серво = карта (скоростомер, 0, 72, 180, 0); // настройка на серво myservo.write (servo); } void Lcd () {// когато се натисне бутон if (analogRead (A1)> = 1010) {lcd.clear (); екран ++; if (екран == 5) {екран = 1; }} if (screen == 1) {// показва скорост lcd.setCursor (0, 1); lcd.print ("Скорост:"); lcd.setCursor (7, 1); lcd.print (скоростомер); lcd.print ("км/ч"); } if (screen == 2) {// показва температурата на температурата = sensors.getTempCByIndex (0); sensors.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (температура); lcd.print ("C"); } if (screen == 3) {// показва средна скорост aspeed = dist/(millis ()/1000.0)*3600.0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (аспектиран); lcd.print ("км/ч"); } if (screen == 4) {// показва време на пътуване triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Време:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // изчисляване на разстоянието dist = импулси*верига/1000.00; // забавя разстоянието lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Стъпка 4: Опаковайте

Пакет
Пакет
Пакет
Пакет
Пакет
Пакет

Като капак използвах пластмасова кутия, която купих за $ 1. Изрязах дупки с помощта на нож и бормашина. Серво и LCD дисплей залепих с лента, върха направих с кашон и го боядисах с боя. Направих щит в Corel Draw X5 и го отпечатах, добавих-p.webp

Стъпка 5: Стартирайте го

Пусни го!
Пусни го!
Пусни го!
Пусни го!
Пусни го!
Пусни го!
Пусни го!
Пусни го!

Сега е готов. Всичко, което трябва да направите, е да го включите и да карате. Забавлявайте се с вашия скоростомер. Ако ви харесва този проект, моля, гласувайте за мен.

Препоръчано: