Готов создать решение вашей задачи

Тема в разделе "Сделаю проект", создана пользователем Vetrinus, 16 май 2016.

  1. ostrov

    ostrov Гуру

    Это надо внимательно смотреть при помощи анализатора сигнал от настоящего двигателя, много думать, а потом пытаться повторить его при помощи МК в зависимости от аналоговых сигналов существующего двигателя. Не думаю, что можно протокол найти в открытом доступе, хотя попытаться можно. Есть двигатель донор сигналов?
     
  2. KellaKilla

    KellaKilla Нерд

    Если мне память не изменят, то по CAN шине идет почти вся информация в том числе и с тахометра. На ардуино есть реализация. Мы как то делали один проект- нужно было считывать информацию с CAN шины у тайоты спасио и выводить на экран. Реализация дошла до финал, но вот побороть дикие помехи мы так и не смогли. если память мне не изменят, то где то в недрах буржуйских сайтов есть готовое описание подобного девайса.


    ААА только увидел всю историю, информация по шине CAN передается пакетами, поэтому нужно будет "налету" вскрыть пакет, запихать туда данные с тахометра и отправить дальше.
     
  3. technomag

    technomag Нуб

    Запустились часы на городской ратуше, благодаря товарищу Ventirus который любезно помог с кодом, огромное ему спасибо!!!!!!!!!!!!!!!!

    #include <Stepper.h>
    #include <RTC.h>
    #define STEPS 200 // 1 шаг = 1 градус
    Stepper stepper(STEPS, 3, 4); // пины на ардуино
    byte current_minute;
    RTC time;
    unsigned long timer;

    void setup()
    {
    Serial.begin(9600);
    stepper.setSpeed(500); // скорость движения вала
    time.begin(RTC_DS3231); //Либо другой
    current_minute = atoi(time.gettime("i"));
    }

    void loop()
    {
    if (atoi(time.gettime("i")) != current_minute) { //Сравниваем текущую минуту с записанной, если не сошлось
    Serial.println("Pass a minute...");
    Serial.println("timer start...");
    timer=millis();
    stepper.step(3200); // выполняет пол оборота вала согласно расчетам редуктора стрелок часов (секундной стрелки нет)
    Serial.print("Timer value is ");
    Serial.println(millis()-timer);
    current_minute = atoi(time.gettime("i")); //Обновляем текущее значение минуты.
    }
    }