Оглавление:

Велотахометр своими руками: 5 шагов (с изображениями)
Велотахометр своими руками: 5 шагов (с изображениями)

Видео: Велотахометр своими руками: 5 шагов (с изображениями)

Видео: Велотахометр своими руками: 5 шагов (с изображениями)
Видео: Спидометр для велосипеда своими руками 2024, Июль
Anonim
Image
Image
Велотахометр своими руками
Велотахометр своими руками

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

Шаг 1: Детали:

Части
Части

Это список деталей, которые вам понадобятся. Они обошлись мне примерно в 40 долларов:

  • Ардуино
  • Велосипед с герконом
  • ЖК-дисплей 16x2
  • Сервопривод
  • Макетная плата
  • Термометр DS18B20
  • Резистор 1,2 кОм, 4,7 кОм
  • Выключатель
  • Кнопка
  • Потенциометр 10 кОм
  • Аккумулятор 9В
  • Кабели
  • Коробка
  • Инструменты (дрель, пайка, нож, лента)

Шаг 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 кОм

Датчик на колесе:

один конец -> 5V Arduino

второй конец -> A0 Arduino и резистор 1,2 кОм

Другой конец резистора к земле в 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); // Выводы ЖК-дисплея LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // имя сервопривода Servo myservo; // определение переменных long previous, triptime, time, impulses; поплавковый спидометр, расстояние, скорость; int servo; int screen = 1; // Если у вас другая схема колеса, вам нужно ее изменить float circuit = 2.0; двойная температура; void setup () {lcd.begin (16, 2);

pinMode (A0, ВХОД); pinMode (A1, ВХОД); // определение сервопривода и установка тахометра на 0 myservo.attach (6); myservo.write (180); lcd.print («Велотахометр»); задержка (1000); lcd.setCursor (5, 1); lcd.print ("Версия 1.0"); задержка (4000); lcd.clear (); задержка (500); lcd.setCursor (0, 0); lcd.print ("Расстояние:"); } void loop () {// если колесо вращается if (analogRead (A0)> = 300) {// количество оборотов ++ impulses ++; // подсчитываем время поворота time = (millis () - previous); // подсчитываем скорость спидометра = (схема / время) * 3600.0; предыдущий = миллис (); Тахометр(); задержка (100); } Lcd (); } // отображение скорости на тахометре void Tachometer () {// отображение скорости 0–180 на серво спидометр = int (спидометр); серво = карта (спидометр, 0, 72, 180, 0); // настраиваем серво myservo.write (серво); } void Lcd () {// при нажатии кнопки if (analogRead (A1)> = 1010) {lcd.clear (); экран ++; если (экран == 5) {экран = 1; }} if (screen == 1) {// отображает скорость lcd.setCursor (0, 1); lcd.print ("Скорость:"); lcd.setCursor (7, 1); lcd.print (спидометр); lcd.print ("км / ч"); } if (screen == 2) {// отображает температуру temperature = sizes.getTempCByIndex (0); sensor.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Температура:"); 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 (aspeed); lcd.print ("км / ч"); } if (screen == 4) {// отображает время отключения triptime = millis () / 60000; lcd.setCursor (0, 1); lcd.print ("Время:"); lcd.setCursor (7, 1); lcd.print (время поездки); } lcd.setCursor (0, 0); lcd.print ("Расстояние:"); // расчет расстояния dist = impulses * circuit / 1000.00; // отображает расстояние lcd.setCursor (6, 0); lcd.print (расст); lcd.print («км»); }

Шаг 4: упаковка

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

В качестве крышки я использовал пластиковую коробку, которую купил за 1 доллар. Я вырезал отверстия с помощью ножа и дрели. Сервопривод и ЖК-дисплей я заклеил скотчем, наконечник сделал из картона и покрасил краской. Я сделал щит в Corel Draw X5 и распечатал его, добавил изображение-p.webp

Шаг 5: Запустите

Запустить его!
Запустить его!
Запустить его!
Запустить его!
Запустить его!
Запустить его!
Запустить его!
Запустить его!

Теперь все готово. Все, что вам нужно сделать, это включить его и поехать. Развлекайтесь со своим спидометром. Если вам понравился этот проект, проголосуйте за меня.

Рекомендуемые: