цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Простой спидометр для велосипеда на основе Arduino и геркона своими руками



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

Автор: Mike(admin) от 17-05-2021, 05:55

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


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

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


Схема подключения компонентов велосипедного спидометра на основе Arduino представлена далее.


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

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

Вот так может выглядеть сборка на макетной плате.


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

Для быстрого ввода в эксплуатацию данного спидометра на основе Arduino можно сделать корпус из коробки и разместить всю конструкцию на руле велосипеда. При этом следует также расположить геркон на раме у колеса, а на спице разместить магнит для замыкания герконового реле.


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

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

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

Код программы спидометра на основе Arduino и геркона представлен далее.



#include <LiquidCrystal.h>

int reedSwitch = 2;
int radius = 12.5;
int circumference;
int totaltime;
int Speed;
int timer;

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 6;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void isr()           
 {
      timer++;
      delayMicroseconds(9600);
 }
void setup(){
  Serial.begin(9600);

  lcd.begin(16,2);
  lcd.setCursor(6, 0);
  lcd.print("Speed");
   
   attachInterrupt(digitalPinToInterrupt(2), isr, RISING);

   pinMode(reedSwitch, INPUT_PULLUP);
   timer = 0;
   Speed = 0;
   totaltime = 0;
   circumference = 6.28 * radius;
}
void loop() {

   if (millis() - totaltime >= 1000) {

        detachInterrupt(digitalPinToInterrupt(2));

        Speed = ((8.181818182*circumference)/(millis() - totaltime)*timer);

        timer = 0;
        totaltime = millis();
        attachInterrupt(digitalPinToInterrupt(2), isr, RISING);

        lcd.setCursor(8,1);
        lcd.print(Speed);
        Serial.print("Speed");
        Serial.print(Speed);

   }
}



© digitrode.ru


Теги: Arduino, геркон




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий