ВАЗ 2111 и Дуина

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Имееться приборка ваз 2111 нового образца ЕВРО и arduino uno Собственно как крутить тахометром и спидометром Если я знаю что тахометром через pwm но вот какая частота и т.д Заранее спасибо

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

ссылку хоть на приблорку привел бы

mrjinatan
Offline
Зарегистрирован: 15.11.2014
jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а зачем? отдельные свои датчики ставить и получить почти тоже самое?

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Нее Мне надо крутить приборкой с пк

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а вот оно что)) зачем? просто интересно

mrjinatan
Offline
Зарегистрирован: 15.11.2014

jeka_tm пишет:

а вот оно что)) зачем? просто интересно


Автосимуляторы

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

прикольно. насчет pwm. частота не так уж сильно критична, но лучше конечно повысить, чем использовать 490гц

но для начала надо поэкспериментировать с шимом. просто переменный резистор, оцифровываем значения, дальше управляем шимом и подключаем к панельке, скорее всего понадобится транзистор если ардуина не потянет по току, 40 ма насколкьо помню макс. ток пина

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Ммм,как это сделать я в pwm полный ноль Если более менее освоил прием из serial и выполнение клманды по букве из него то в pwm ноль полный

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

возьми светодиод с резистором и балуйся. станет все понятно

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Это я знаю А вот как с переменным резюком Не знаю

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

http://arduino.ru/Reference/AnalogRead

почитай. или ты резистор не знаешь как подключить?

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Как заставить дуину пускать pwm через резистор

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013
roman2712@mail.ru
Offline
Зарегистрирован: 16.01.2014

А с каких пор тахометры по ШИМ ? ... Там вроде как всегда счет был по частоте импульсов...

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Разобрал приборку а там pic какой-то может в него что нибудь зашить?

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Насколько я знаю только спидометр по импульсам

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

кстати да. наверно надо использовать функцию tone. короче надо пробовать

в пик не надо зашивать. использовать как есть для начала

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Ну приборка пока на машине стоит у отца Просто его феррум на прошивке сейчас Вообще на следуйшей неделе попробую

Мишаня
Offline
Зарегистрирован: 12.10.2014

mrjinatan, бьюсь с подобной проблеммой. Под какой сим делаеться проект?

mrjinatan
Offline
Зарегистрирован: 15.11.2014

Под все что держит x-sim

Мишаня
Offline
Зарегистрирован: 12.10.2014

mrjinatan, ну тут я тебе помогу. 

http://www.technikprojekte.de/Projekte.php?src=Tacho

у меня не получилось запустить, как в видео.

Мишаня
Offline
Зарегистрирован: 12.10.2014

jeka_tm, можете направить мысль в нужное русло, http://arduino.ru/forum/obshchii/podklyuchenie-pribornoi-paneli-k-pk

mrjinatan
Offline
Зарегистрирован: 15.11.2014
int ledPin = 6;    

 
void setup()
{
    pinMode(ledPin, OUTPUT);      
}
 
void loop()
{
     tone(ledPin,320, 5); 
}

Данный скетч кладет стрелку до 200км

mrjinatan
Offline
Зарегистрирован: 15.11.2014
/*
 Скетч управления приборкой ваз 2171 vdo С компьютера 
Пин 6 подключить на провод датчика скорости
*/





char val;  // Variable to receive data from the serial port

void setup() {

  // initialize the digital pins as output
  pinMode(ledPin, OUTPUT);
  

  Serial.begin(9600); 	// Start serial communication at 9600bps
}


// Fordward action
void go_forward() {
  tone(6,31,50000000); 
}

// Stop Forward action
void stop_go_forward() {
 tone(6,45,500000000); 
}

// Reverse action
void go_reverse() {
  tone(6,60,500000000); 
}

// Stop Reverse action
void stop_go_reverse() {
   tone(6,75,500000000); 
}

// Turbo action
void go_spiker() {
  tone(6,93,500000000); 
}

// Stop Turbo action
void stop_go_spiker() {
   tone(6,109,500000000); 
}

// Left action
void go_left() {
    tone(6,126,500000000);   
}

// Right action
void go_right() {
  tone(6,142,500000000); 
}

// Stop turn action
void stop_turn() {
  tone(6,158,500000000); 
}

// Stop car
void stop_car() {
  tone(6,175,500000000); 
}

// Short Lights ON
void lights_on() {
  tone(6,191,500000000); 
}

// Short Lights OFF
void lights_off() {
 tone(6,206,500000000); 
}

// Long Lights ON
void long_lights_on() {
  tone(6,223,500000000); 
}

// Long Lights OFF
void long_lights_off() {
  tone(6,239,500000000); 
}

// Reverse Lights ON
void back_lights_on() {
 tone(6,255,500000000); 
}

// Reverse Lights OFF
void back_lights_off() {
  tone(6,270,500000000); 
}

void q() {
  tone(6,286,500000000); 
}

void w() {
  tone(6,302,500000000); 
}
void e() {
  tone(6,318,500000000); 
}
void r() {
  tone(6,0,500000000); 
}
  
// Read serial port and perform command
void performCommand() {
  if (Serial.available()) {
    val = Serial.read();
  }
    if (val == '1') { // Forward
      go_forward();
    } else if (val == '2') { // Stop Forward
      stop_go_forward();
    } else if (val == '3') { // Backward
      go_reverse();
    } else if (val == '4') { // Stop Backward
      stop_go_reverse();
    } else if (val == '5') { // Turbo
      go_spiker();
    } else if (val == '6') { // Stop Turbo
      stop_go_spiker();
    } else if (val == '8') { // Right
      go_right();
    } else if (val == '7') { // Left
      go_left();
    } else if (val == '9') { // Stop Turn
      stop_turn();
    } else if (val == 'q') { // Stop
      stop_car();
    } else if (val == 'w') { // Short Lights
      lights_on();
    } else if (val == 'e') { // Stop Short Lights
      lights_off();
    } else if (val == 'r') { // Long Lights
      long_lights_on();
    } else if (val == 't') { // Stop Long Lights 
      long_lights_off();
    } else if (val == 'y') { // Stop Long Lights
      back_lights_on();
    } else if (val == 'u') { // Stop Long Lights
      back_lights_off();
    } else if (val == 'i') { // Stop Long Lights
      q();
    }
       else if (val == 'o') { // Stop Long Lights
      w();
    }
       else if (val == 'p') { // Stop Long Lights
      e();
    }
       else if (val == 'a') { // Stop Long Lights
      r();
    }
  
}


void loop() {
  performCommand();
}

Скетч на скорую руку для управления спидометром Скорость в терминале 9600

цифра 1 20км и так далее до 9

от q до p 100-200км

кнопка a 0км

Мишаня
Offline
Зарегистрирован: 12.10.2014

а откуда инфа береться для скетча?

 

mrjinatan
Offline
Зарегистрирован: 15.11.2014

За основу как брать данные из сериал взят скетч mobobtcar остальное методом подмора частоты tone

mrjinatan
Offline
Зарегистрирован: 15.11.2014

охх спасибо Сегодня ночью запилю под свою приборку