Кнопка старт/стоп двигателя в автомобиле

Сом
Offline
Зарегистрирован: 29.01.2017

MaksVV, необходимо изменить алгоритм... когда включается стартер (второе реле), первое реле должно отключаться. Тоесть пока крутится стартер, чтоб магнитола, свет фар и печка не работали.

MaksVV
Offline
Зарегистрирован: 06.08.2015

больше править не буду, дальше сами

#include <Button.h>

Button StartStop;   //название кнопки


#define Stop          6  // пин входа педали тормоза 
#define ACC           5  // пин реле аксессуары 
#define IGN           3  // пин реле зажигания 1
#define Starter       4  // пин реле стартера
#define StartButton   2  // пин кнопки старт-стоп (кнопка замыкает пин на GND)
#define Start_Button  0  // программный номер кнопки старт-стоп 

bool start = 0;

void setup() {

// пин реле ACC на выход, сначала выключено
pinMode (ACC, OUTPUT);         digitalWrite (ACC,HIGH);        

// пин реле IGN1 на выход, сначала выключено
pinMode (IGN, OUTPUT);  digitalWrite (IGN,HIGH);

// пин реле стартера на выход, сначала выключено
pinMode (Starter, OUTPUT);     digitalWrite (Starter,HIGH);

//ниже для кнопки 

StartStop.NO(); 
StartStop.pullUp();
StartStop.duration_bounce       (  50);
StartStop.duration_click_Db     ( 250);
StartStop.duration_inactivity_Up(5000);
StartStop.duration_inactivity_Dn(1000);
StartStop.duration_press        (1000);
StartStop.button(StartButton); 


}

void loop() {
StartStop.read(); // читаем кнопку 

if (StartStop.event_click_Up(Start_Button) && start) { // если был включен стартер и кнопку отпустили - 
  digitalWrite (Starter,HIGH);                         // выключаем стартер
  digitalWrite (ACC,LOW);                              // а АСС включаем
  start = 0;
}


//////// НИЖЕ ЕСЛИ НАЖАТ ТОРМОЗ
if (!digitalRead (Stop))   {

  if  (digitalRead(ACC) && digitalRead(IGN)){                                // если ВЫКЛючено АСС и ВЫКЛючено зажигание 
  if (StartStop.event_press_short (Start_Button)) digitalWrite (ACC,LOW);}   // и нажали на кнопку - включаем сначала АСС 

  else if (!digitalRead(ACC) && digitalRead(IGN)){                           // если ВКЛючено АСС и ВЫКЛючено зажигание 
  if (StartStop.event_press_short (Start_Button)) digitalWrite (IGN,LOW);}   // и нажали на кнопку - включаем IGN 

  if (StartStop.event_press_long (Start_Button)) { start = 1;
digitalWrite (Starter,LOW); digitalWrite (ACC,HIGH); digitalWrite (IGN,LOW);} // если нажали на кнопку длительно - включаем стартер и зажигание, ACC выключаем 
  
       
                            }

//////// НИЖЕ ЕСЛИ ОТПУЩЕН ТОРМОЗ

else                        {

  if  (digitalRead(ACC) && digitalRead(IGN)){                                // если ВЫКЛючено АСС и ВЫКЛючено зажигание 
  if (StartStop.event_press_short (Start_Button)) digitalWrite (ACC,LOW);}   // и нажали на кнопку - включаем сначала АСС 

  else if (!digitalRead(ACC) && digitalRead(IGN)){                           // если ВКЛючено АСС и ВЫКЛючено зажигание 
  if (StartStop.event_press_short (Start_Button)) digitalWrite (IGN,LOW);}   // и нажали на кнопку - включаем IGN 

  else if (!digitalRead(ACC) && !digitalRead(IGN)){                           // если ВКЛючено АСС и ВКЛючено зажигание 
  if (StartStop.event_press_short (Start_Button)) {                           // и нажали на кнопку
  digitalWrite (IGN,HIGH); digitalWrite (ACC,HIGH);}}                         // то всё выключаем 
                            
                             }

}

 

b707
Онлайн
Зарегистрирован: 26.05.2017

Посмотрел на код - похоже это то, что мы тут совместыми усилиями помогали писать месяца два назад такому же автомобильному рукожопу  :) А теперь он - смотри-ка - выложил в Ютуб и хвастается, как своим :)

ТС - этот код написан автором. понимающим  в ардуино чуть более чем ты. Для реального применения этот код не пригоден.

Что касается отношения форума - какое оно должно быть, если в среднем 2-3 раза на дню заходят подобные тебе ущербные, ничего не знающие, не умеющие думать и даже просто искать в инете? Судя по мозгам - едва окончившие 3 класса - но при этом с гонором первого пацана на раене? - я с такими и в жизни стараюсь не общаться и в инете таким помогать противно

Сом
Offline
Зарегистрирован: 29.01.2017

b707, продолжай лаять )))) караван идет дальше.

Сом
Offline
Зарегистрирован: 29.01.2017

MaksVV, ок! Придут релюхи, сделаю макет, проверю скетч ну и потом уже доработаю, если понадобиться. Благодарю за помощь!