Датчик скорости - ФОРУМ ДВ Робот dvrobot.ru
Суббота, 23.06.2018, 10:42
Главная Мой профиль Регистрация Выход
  • НАШ МАГАЗИН
  • Вы вошли как Гость | Группа "Гости"Приветствую Вас, Гость
    [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Модератор форума: Serg, GRACH  
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Датчик скорости (Помогите с скетчем для датчика скорости.)
    Датчик скорости
    bodi55Дата: Среда, 20.11.2013, 22:51 | Сообщение # 1
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 7
    Репутация: 0
    Статус: Offline
    Помогите со скетчем для датчика скорости. (http://dvrobot.ru/shop/i148.datchik_skorosti.htm)
    Искал в интернете не какой информации нет, по коду для датчика.




    Сообщение отредактировал bodi55 - Среда, 20.11.2013, 22:52
     
    SergДата: Четверг, 21.11.2013, 23:08 | Сообщение # 2
    Ампер
    Группа: Модераторы
    Сообщений: 510
    Репутация: 28
    Статус: Offline
    Вот счетчик с выводом на дисплей
    ХХХХХ заменить на число просветов в валкодере
    Код


    #include <LiquidCrystal.h>
    LiquidCrystal lcd(3, 5, 9, 10, 11, 12);

    volatile float time = 0;
    volatile float time_last = 0;
    volatile int rpm_array[5] = {0,0,0,0,0};

    void setup()
    {
       //Digital Pin 2 Set As An Interrupt
      attachInterrupt(0, fan_interrupt, FALLING);

       // set up the LCD's number of columns and rows:  
       lcd.begin(16, 2);
       // Print a message to the LCD.
       lcd.print("Current RPM:");
    }

    void loop()
    {
       int rpm = 0;
        
       while(1){     

          //Slow Down The LCD Display Updates
       delay(400);
        
       //Clear The Bottom Row
       lcd.setCursor(0, 1);
       lcd.print("                ");    
        
       //Update The Rpm Count
       lcd.setCursor(0, 1);
       lcd.print(rpm);    

       ////lcd.setCursor(4, 1);
       ////lcd.print(time);    

       //Update The RPM
       if(time > 0)
       {
         //5 Sample Moving Average To Smooth Out The Data
           rpm_array[0] = rpm_array[1];
           rpm_array[1] = rpm_array[2];
           rpm_array[2] = rpm_array[3];
           rpm_array[3] = rpm_array[4];
           rpm_array[4] = 60*(1000000/(time*ХХХХХ));     
         //Last 5 Average RPM Counts Eqauls....
           rpm = (rpm_array[0] + rpm_array[1] + rpm_array[2] + rpm_array[3] + rpm_array[4]) / 5;
       }
       
      }
    }

    void fan_interrupt()
    {
        time = (micros() - time_last);  
        time_last = micros();
    }

     
    bodi55Дата: Суббота, 23.11.2013, 07:17 | Сообщение # 3
    1.5 Вольт
    Группа: Пользователи
    Сообщений: 7
    Репутация: 0
    Статус: Offline
    Спасибо! Буду разбираться.

     
    ФОРУМ ДВ Робот dvrobot.ru » DV ROBOT » Arduino - вопросы и ответы. » Датчик скорости (Помогите с скетчем для датчика скорости.)
    • Страница 1 из 1
    • 1
    Поиск:

    ДВ Робот - Чат