Страница 4 из 16 ПерваяПервая 1234567891014 ... ПоследняяПоследняя
Показано с 31 по 40 из 152
  1. #31
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    опять тоже самое открыть не могу

  2. #32
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    34
    Вес репутации
    141

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    ну типа да от того реле 20 амперного запитать более мощьное реле около 40 ампер где то я думаю,сам прикинь посчитай всю зимнюю нагрузку не мало будет точно ,а если зимнюю ночную вообще жесть .

    Название: i.jpeg
Просмотров: 3616

Размер: 3.1 Кб

  3. #33
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    Т.е вот так
    Нажмите на изображение для увеличения. 

Название:	схема Arduina.jpg 
Просмотров:	2451 
Размер:	140.3 Кб 
ID:	17476

  4. #34
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    34
    Вес репутации
    141

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    я тут в коде покалдовал и добавил отсрочку запуска пока там лампочки все проморгают в моем случае пока свечи прогреются :
    PHP код:
    byte ACCPin 11//Выход на транзистор переферии ACC
    byte EnginePin 10//Выход на транзистор зажигания
    byte StarterPin 9//Выход на транзистор стартера
    byte ButtonPin 8//Вход + с кнопки <----------------------------- Стягивающий резистор на "-"
    byte StopPin 12//Вход с тормоза <----------------------------- Стягивающий резистор на "-"
    byte ImmoPin 7//Вход с иммо <----------------------------- Подтягивающий резистор на "+"
    byte TahoPin 6//Вход с тахометра <----------------------------- Стягивающий резистор на "-"
    byte WordsPin 5//Выход на глазок 1 
    byte YellowGlazokPin 4//Выход на глазок 2 
    byte GreenGlazokPin 3//Выход на глазок 3
    byte statusEngine 0;
    //byte rotate = 0;
    unsigned int rotate=0;
    boolean stateACC false;
    unsigned long lastPress 0;
    unsigned long lastImmo 0;
    unsigned long splitTime 0;
    unsigned long time =0;
    byte stat 0;
    void setup()
    {
    pinMode(EnginePinOUTPUT);
    pinMode(StarterPinOUTPUT);
    pinMode(ACCPinOUTPUT);
    pinMode(WordsPinOUTPUT);
    pinMode(YellowGlazokPinOUTPUT);
    pinMode(GreenGlazokPinOUTPUT);
    //time = 0;
    lastImmo=millis();
    lastPress=millis();
    Serial.begin(9600);
    Serial.println("Arduino is started");
    }

    // 0 - Все выключенно
    // 1 - Включено только зажигание
    // 2 - Крутиться стартер, ждем оборотов
    // 3 - Двигатель работает, все включено
    // 4 - Неудачная попытка запуска, включено только зажигание
    // 5 - Двигатель заглушен, АСС пока еще работает
    void loop()
    {
    if (
    stat != statusEngine) {stat statusEngine;
    Serial.println(stat);
    }
    unsigned long newTime millis() - lastPress;
    unsigned int button pressButton();
    if (
    button != 0Serial.println(button);
    lastImmoTest();
    switch (
    statusEngine
    {
    case 
    0:
    digitalWrite(GreenGlazokPinLOW);
    if (
    stateACCdigitalWrite(YellowGlazokPinHIGH); 
    else 
    digitalWrite(YellowGlazokPinLOW);
    if (
    millis() - lastImmo 10000digitalWrite(WordsPinHIGH); 
    else 
    digitalWrite(WordsPinLOW);
    if (
    button == 1500 && stateACC)
    {
    StopAll();
    }
    else if (
    button == 1500 && !stateACCStartACC();
    else if (
    button != && millis() - lastImmo 2000 && newTime 500) {
    StartEngine();
    statusEngine=1;
    }
    break;
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- 
    case 1:
    if (
    digitalRead(ImmoPin) == LOWStopAll();
    digitalWrite(WordsPinHIGH); 
    if (
    stateACCdigitalWrite(YellowGlazokPinHIGH); else digitalWrite(YellowGlazokPinLOW);
    if (
    millis() - lastImmo 2000 && StopIsPress() && newTime 900
    {
    digitalWrite(GreenGlazokPinHIGH); 
    digitalWrite(WordsPinHIGH);
    }
     else
    {
    digitalWrite(GreenGlazokPin,!digitalRead(GreenGlazokPin));
    delay(100);
    }
     
    if (
    button == 1500) {
    StopAll();
    }
    else if (
    button != && newTime 500) {
    if (!
    stateACC
    StopAll();
    else
    {
    StopEngine();
     
    statusEngine=5;
     }
     }
     else if (
    newTime 800 && newTime 900 && StopIsPress())

     {
       
    delay(10000);// отсрочка запуска :)
     
    StartStarter();
     
    statusEngine=2;
     }
     break;
     
     
     
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
     
    case 2:
     
    digitalWrite(WordsPinHIGH); 
     
    digitalWrite(GreenGlazokPinHIGH); 
     if (
    stateACCdigitalWrite(YellowGlazokPinHIGH);
     if (
    digitalRead(TahoPin) == HIGH) {
     
    rotate++;
     while (
    digitalRead(TahoPin) == HIGH) if (digitalRead(ImmoPin) == LOW) {StopAll(); break;}
     }
     if (
    rotate>=2
     {
     
    unsigned int rpm = (rotate*60000*10000/2)/(micros()-splitTime);
     
    Serial.print("rpm: ");
     
    Serial.println(rpm);
     
    rotate=0;
     
    splitTime=micros();
     if (
    rpm>1000) { //<-------ВЕРНУТЬ СЮДА ТЫЩУ!!!! <-------
     
    StopStarter();
     
    StartACC();
     
    statusEngine=3;
     
    Serial.println("Engine is WORK!!");
     break;
     }
     }
     if (
    button != && newTime 500) { 
     
    StopAll();
     }
     else if (
    newTime 5000 || !StopIsPress()){
     
    StopStarter();
     
    statusEngine=4;
     }
     break;
     
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
     
    case 3:
     
    digitalWrite(GreenGlazokPinHIGH);
     
    digitalWrite(YellowGlazokPinLOW);
     if (
    newTime 5000digitalWrite(WordsPinLOW); 
     else 
    digitalWrite(WordsPinHIGH);
     if (
    button == 1500) {
     
    StopAll();
     }
     else if (
    button != && newTime 500) { 
     
    StopEngine();
     
    statusEngine=5;
     }
     break;
     
     
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
     
     
    case 4:
     
     
    digitalWrite(WordsPinHIGH);
     
    digitalWrite(GreenGlazokPin, !digitalRead(GreenGlazokPin)); delay(50);
     
    digitalWrite(YellowGlazokPinLOW);
     if (
    button == 1500 || newTime 10000) {
     
    StopAll();
     }
     else if (
    button != && newTime 500 && StopIsPress()) {
     
    StartStarter();
     
    statusEngine=2;
     }
     else if (
    button != && newTime 500 && !StopIsPress()) {
     
    StopAll();
     }
     break;
     
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
     
    case 5:
     
    digitalWrite(GreenGlazokPinLOW);
     if (
    stateACCdigitalWrite(YellowGlazokPinHIGH); else digitalWrite(YellowGlazokPinLOW);
     if (
    newTime 5000
     {
     if (
    millis() - lastImmo 5000digitalWrite(WordsPinHIGH); else digitalWrite(WordsPinLOW);
     }
     else 
     
    digitalWrite(WordsPinHIGH);
     if (
    button == 1500) {
     
    StopAll();
     }
     else if (
    millis() - lastImmo 2000StopAll();
     else if (
    button != && newTime 500) {
     
    StartEngine();
     
    statusEngine=1;
     }
     
    lastImmoTest();
     break;
     
    //----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
     
    }
     }

    void StartEngine(){
    digitalWrite(EnginePinHIGH);
    Serial.println("Engine is ON");
    lastPress=millis();
     }
     
    void StopEngine(){
     
    digitalWrite(EnginePinLOW);
     
    Serial.println("Engine is OFF");
     
    lastPress=millis();
     }
     
    void StopAll(){
     
    digitalWrite(EnginePinLOW);
     
    digitalWrite(StarterPinLOW);
     
    digitalWrite(ACCPinLOW);
     
    Serial.println("All OFF"); 
     while (!
    digitalRead(ButtonPin)){}
     
    stateACC=false;
     
    lastPress=millis();
     
    statusEngine=0;
     
    lastPress=millis(); 
     }
     
     
    void StartStarter(){
     
    digitalWrite(StarterPinHIGH);
     
    Serial.println("Starter START!");
     
    splitTime=micros();
     
    lastPress=millis();
     }
     
    void StopStarter(){
     
    digitalWrite(StarterPinLOW);
     
    Serial.println("Starter if OFF!");
     
    lastPress=millis();
     }
     
     
    void StartACC(){
     
    digitalWrite(ACCPinHIGH);
     
    Serial.println("Starter ACC!");
     
    stateACC=true;
     
    lastPress=millis();
     }
     
    void lastImmoTest(){
     if (
    digitalRead(ImmoPin) == LOW) { //<----------------------------- Поменял на LOW
     
    lastImmo=millis();
     
    Serial.println("Immo+");
     }
     }
     
     
    unsigned int pressButton(){
     
    unsigned long newTime millis();
     
    boolean currentPosition digitalRead(ButtonPin);
     if (
    currentPosition == HIGH){ 
     
    delay(50);
     
    currentPosition=digitalRead(ButtonPin); 
     }
     while (!
    currentPosition) {
     
    currentPosition=digitalRead(ButtonPin);
     if (
    millis() - newTime 1000) return 1500;
     }
     
    newTime=millis() - newTime;
     if (
    newTime 60newTime 0;
     return 
    newTime
     }
     
    boolean StopIsPress(){
     return 
    digitalRead(StopPin); 
     } 
    Так точно .А что за авто?
    Последний раз редактировалось maestro777; 09.01.2014 в 19:22.

  5. #35
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    ВАЗ 2112

  6. #36
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    Кстате вот видео парня который делал этот скетчь
    Последний раз редактировалось Chip; 09.01.2014 в 22:06.

  7. #37
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    34
    Вес репутации
    141

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    клевое видео молодец парень на 2112 в схеме есть реле асс почти на все приборы так что 30 амперного реле вполне хватит так что не парься с доп реле.

  8. #38
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    на ВАЗ в природе не существует режима АСС. Т.е. можно сразу подключить к модулю??
    Последний раз редактировалось Сергей174; 09.01.2014 в 20:01.

  9. #39
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    34
    Вес репутации
    141

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    нее подожди как нет ?

  10. #40
    Пользователь
    Регистрация
    05.01.2014
    Сообщений
    25
    Вес репутации
    140

    По умолчанию Re: Кнопка Старт/Стоп на МК Arduino

    Там только два положения ключа
    1. Выключено
    2. Зажигание
    там есть контакт определения вставлен ли ключ в замок

Страница 4 из 16 ПерваяПервая 1234567891014 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •