Установка для проверки/промывки топливных форсунок

Kolya12008
Offline
Зарегистрирован: 01.06.2020

MaksVV пишет:

ну можно и так. Только смысл ставить 4 строчный отпадает, если менять только эту строку. Т.к. нужно везде в коде поменять, где печать на LCD, чтобы красиво распределить на 4 строки. Можете открыть два этих кода и сравнивать чем они  отличаются в местах, где печать на экран. 

MaksVV сравнил два скетча и переписал так, загрузил,и проверил, рботает:

 
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
#include <PWM.h>
#define outPWM  9   //пин для генератора сигналов (не менять) - это выход на Мосфет управления форсунками. 

#define buzzer         3    // пин пищалки
#define FUELRelay      4    // пин реле топливного насоса
#define VALVERelay     7    // пин реле клапанов слива

#define pressBut       650  // частота тона нажатия клавиш
#define time_presstone 90   // длительность тона нажатия клавиш

#include <Button.h> // библиотека для создания различных видов нажитий на кнопки плюс защита от дребезга, спасибо КЛАПАУЦИЮ!. 
Button test;    

LiquidCrystal_I2C lcd(0x27, 20, 4); // адрес LCD на шине i2c и  строчность LCD 
         


byte PWM = 128;         //стартовое значение ШИМ (от 0 до 255)

byte frequency = 7; //стартовое значение частоты в Гц
                    //(соответсвует 840 об/мин)

byte Menu=4;    // номера меню, по умолчанию меню "старт теста"

bool last5 = 0;

bool pwm = 1;   // ЗДЕСЬ НУЖНО ВЫБРАТЬ ЛОГИКУ ВЫХОДА ШИМ - ПРЯМАЯ ИЛИ ОБРАТНАЯ,
//В ЗАВИСИМОСТИ ОТ ТОГО, КАКАЯ ЛОГИКА НА ВХОДЕ МОСФЕТА. РУЛИМ ПРИ ЭТОМ "МИНУСОМ" ФОРСУНКИ!!! Т.Е. ОДИН ВЫВОД ФОРСУНКИ +12В, ВТОРОЙ - К ВЫХОДУ МОСФЕТА. 
//  0 - ОБРАТНЫЙ ШИМ,   1 - ПРЯМОЙ ШИМ
// ОБРАТНЫЙ ШИМ - 100% ШИМ СООТВЕТСТВУЕТ ПОЛНОМУ СИГНАЛУ "GND" НА ВЫХОДЕ МОСФЕТА
// ПРЯМОЙ ШИМ -   100% ШИМ СООСТВЕТСВУЕТ ПОЛНОМУ СИГНАЛУ "12В" НА ВЫХОДЕ МОСФЕТА 

float t = 3.00;              // время впрыска, мсек
uint32_t testtime = 30;      // время теста, сек
bool full = 1;               // флаг режима полное открытие форсунок
unsigned long time, timer=0; // для таймера отсчета времени теста
bool timerenabled=false;     // для таймера отсчета времени теста
bool Delay = 0;              // для таймера delay
uint32_t  timerDelay = 0;    // для таймера delay

bool timerenabledOPENvalve = 0; // для таймера отсчета времени на открытие иглы форсунки
uint32_t  timerValve = 0;       // для таймера отсчета времени на открытие иглы форсунки
uint32_t prev = 0;              // для таймера периодического вывода инфы на экран



enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE};  // кнопки стенда


bool longpressLEVO = 0;   // флаг длительного удержания кнопки
bool longpressPRAVO = 0;  // флаг длительного удержания кнопки
bool longpressMENU = 0;   // флаг длительного удержания кнопки

bool menu = 0;       // флаг вывелось или нет на экран новое меню 

bool Impedance = 1;  // сопротивление обмотки форсунки true - больше 10 Ом, false - менее 5 Ом

void setup()
{
//ниже настройка пина пищалки
pinMode (buzzer,     OUTPUT); digitalWrite (buzzer,     LOW);
pinMode (FUELRelay,  OUTPUT); digitalWrite (FUELRelay,  LOW);
pinMode (VALVERelay, OUTPUT); digitalWrite (VALVERelay, LOW);  


//ниже настройка библиотеки работы кнопок
test.NO(); // N.O. Normal Open
test.pullUp();
test.duration_bounce       (  50);
unsigned long duration_check = 200;
test.duration_click_Db     (duration_check);
test.duration_inactivity_Up(duration_check);
test.duration_inactivity_Dn(600);
test.duration_press        (500);

//enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE};
test.button( 10,   11,    12,    6,    5,    8  ); // соответствующие пины ардуино, к которым подключены кнопки

//ниже настройка LCD
lcd.begin();
lcd.backlight();

//ниже настройка выхода PWM
 InitTimersSafe(); 
 SetPinFrequencySafe(outPWM, frequency); 

if (!pwm){ pwmWrite(outPWM, 255);}
else {pwmWrite(outPWM, 0);}

//ниже мелодия при включении
tone(buzzer,659,150);
delay(150);
tone(buzzer,659,300);
delay(300);
tone(buzzer,659,150);
delay(300);
tone(buzzer,523,150);
delay(150);
tone(buzzer,659,300);
delay(300);
tone(buzzer,784,600);
    }   


void loop() {

test.read();   // обновление состояния кнопок

// ниже опрос длительных нажатий на кнопки
if (test.event_inactivity_Dn(LEVO) ==1)   longpressLEVO = 1;
if (test.event_click_Up (LEVO) == 1)      longpressLEVO = 0;
if (test.event_inactivity_Dn(PRAVO) ==1)  longpressPRAVO =1;
if (test.event_click_Up (PRAVO) == 1)     longpressPRAVO =0;

if (test.event_click_Dn  (FUEL)) {digitalWrite (FUELRelay, !digitalRead(FUELRelay)); tone (buzzer, pressBut, time_presstone);}

if (test.event_click_Dn  (STOP)) {   // при нажатии кнопки "экстренный стоп" всё выключаем
    digitalWrite (FUELRelay, 0);
 if (!pwm){pwmWrite(outPWM, 255);}
      else {pwmWrite(outPWM, 0);}
      timerenabled=false;
      tone (buzzer, 1500, 1500);
                                 }

if (test.event_click_Dn  (VALVE)) {digitalWrite (VALVERelay, 1); tone (buzzer, pressBut, time_presstone);}
if (test.event_click_Up  (VALVE)) {digitalWrite (VALVERelay, 0); }



if (Menu==0){//меню выбора Частоты вращения ДВС
             
             if (!menu){lcd.setCursor(3,3);
             lcd.print("N/min"); 
             lcd.print(" >>         "); menu=1;}
             
             if (test.event_click_Dn  (LEVO) == 1 || (longpressLEVO && !Delay)) {
              
              full=0;
              frequency--;
              if(frequency<1){frequency=1;}
              if (longpressLEVO) {Delay = 1; timerDelay = time;}
              else tone (buzzer, pressBut, time_presstone);
              PWMrefresh();
            }
            if (test.event_click_Dn  (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
           
              full=0;
              frequency++; if (frequency>83) frequency=83;
              if (longpressPRAVO) {Delay = 1; timerDelay = time;}
              else tone (buzzer, pressBut, time_presstone);
              PWMrefresh();
            }  
}
if (Menu==1){//меню выбора длины импульса (времени) впрыска
            
             if (!menu){lcd.setCursor(3,3);
            lcd.print("millisec");
            lcd.print(" >>      "); menu=1;}
          
            if (test.event_click_Dn  (LEVO) == 1 || (longpressLEVO && !Delay)) {
              full=0;
              t-=0.1;
              if (t<1.00) t=1.00;
              if (longpressLEVO) {Delay = 1; timerDelay = time;}
              else tone (buzzer, pressBut, time_presstone);
              PWMrefresh();
                                                                      }
            
            
            if (test.event_click_Dn  (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
              full=0;
              t+=0.1;
              if (t>11.00) t=11.00;
              if (longpressPRAVO) {Delay = 1; timerDelay = time;}   
              else tone (buzzer, pressBut, time_presstone);
              PWMrefresh();     
                                                                        }
            
            }

if (Menu==2) {  // меню выбора/отмены режима постоянного открытия форсунок

if (!menu){lcd.setCursor(3,3);
lcd.print("Full On/Off");
lcd.print(" >>   "); menu=1;}  
  
  if(!timerenabled) if (test.event_click_Dn  (LEVO) == 1 ||  test.event_click_Dn  (PRAVO) == 1) 
  {full=!full; tone (buzzer, pressBut, time_presstone);}
  
             }

            
if (Menu==3) {  // меню выбора времени теста

if (!menu){lcd.setCursor(3,3);
lcd.print("TIME TEST");
lcd.print(" >>   "); menu=1;}

if( !timerenabled){
              if (test.event_click_Dn  (LEVO) == 1 || (longpressLEVO && !Delay)) {
              if (testtime>=5) testtime-=5;
              
              if (longpressLEVO) {Delay = 1; timerDelay = time;}
              else tone (buzzer, pressBut, time_presstone);                                                          }
              
              if (test.event_click_Dn  (PRAVO) == 1 || (longpressPRAVO && !Delay)) {
              testtime+=5;
              if(testtime>600){testtime=600;} 
              if (longpressPRAVO) {Delay = 1; timerDelay = time;}
              else tone (buzzer, pressBut, time_presstone);                                                             }
            
            }          }  

if (Menu==4) { // меню старт

 if (!menu){lcd.setCursor(3,3);
 lcd.print("STOP     START");
 lcd.print(" >>");  menu=1;}

if (!timerenabled && test.event_click_Dn  (PRAVO) == 1){ 
  timer=time; 
  timerenabled=true; 
  tone (buzzer, 1500, 700);   
  PWMrefresh();
  
  }
  
  
            
if (test.event_click_Dn  (LEVO) == 1){
  if (!pwm){pwmWrite(outPWM, 255);}
  else {pwmWrite(outPWM, 0);}
  timerenabled=false;
  tone (buzzer, pressBut, time_presstone);  
  }
  

}

if (Menu==5) {// меню выбора сопротивления обмотки форсунки

if (!menu){lcd.setCursor(3,3);
lcd.print("IMPEDANCE");
lcd.print(" >>     "); menu=1;}

if (!timerenabled) {if (test.event_click_Dn  (LEVO) == 1 ||  test.event_click_Dn  (PRAVO) == 1) 
{Impedance=!Impedance; tone (buzzer, pressBut, time_presstone);  }} 
}



// ниже работа таймера времени теста

time = millis();

if (Delay && time - timerDelay>93 ) Delay = 0;

  if (timerenabled) {
if (timerenabledOPENvalve && time - timerValve > 1000) timerenabledOPENvalve = 0;
  
   if (!timerenabledOPENvalve && full) 
    {
      if (Impedance){
       if (!pwm)pwmWrite(outPWM, 10);
       else     pwmWrite(outPWM, 245);    
                    }
      else {
        if (!pwm)pwmWrite(outPWM, 90);
        else     pwmWrite(outPWM, 165);    
           }
    }

        
    if ((time-timer)>(testtime*1000)) {
      if (!pwm){pwmWrite(outPWM, 255);}
      else {pwmWrite(outPWM, 0);}
      timerenabled=false;
      tone (buzzer, 1500, 1500); 
      
            }
                    }

    
if (test.event_click_Dn (MENU) == 1){ //переключение менюшек
  Menu++; menu = 0; tone (buzzer, pressBut, time_presstone);
  if(Menu>=6){Menu=0;}
} 


// ниже обновление информации на LCD

if (millis () - prev>100){
lcd.setCursor(14,1);
int sec; sec= testtime - ((time - timer)/1000);
    if (timerenabled){  lcd.print(sec);lcd.print("   ");}
  else lcd.print ("00 ");

lcd.setCursor(0,0);
if (!full){
lcd.print("inj=");
lcd.print(t);
lcd.print("msec ");
lcd.setCursor(0,1);
lcd.print("N=");
long frequencyX=frequency*120;
lcd.print(frequencyX); 
if (frequencyX>9999) lcd.print(" RPM  ");
else lcd.print(" RPM   "); 
}
else {lcd.print ("FULL mode    "); lcd.setCursor(0,1); lcd.print ("OPEN         ");
lcd.setCursor(4,2);
lcd.print("Imp: ");
if (Impedance) lcd.print (">10 Ohm ");
else lcd.print ("<5 Ohm  ");

}


lcd.setCursor(14,0);
lcd.print(testtime); lcd.print("sec  ");

  lcd.setCursor(0,3);

   lcd.print("<< ");    
      
      
lcd.display();
prev = millis();
}
}


// ниже фукнция включения выхода PWM

void PWMrefresh(){
  SetPinFrequencySafe(outPWM, frequency);
  if (!full)PWM=frequency*t*0.255;
    else PWM=255; 
    if(PWM<0)PWM=0;
    if(PWM>255)PWM=255;
  if (full) {timerenabledOPENvalve=1; timerValve = time; SetPinFrequencySafe(outPWM, 4000);}
  if (timerenabled){
  if (!pwm){ pwmWrite(outPWM, 255-PWM);}
  else {pwmWrite(outPWM, PWM);}
                   }
  }

 

 

Kolya12008
Offline
Зарегистрирован: 01.06.2020

 MaksVV спасибо вам за изделие!!!

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

Рад, что материал оказался полезен. 

Kolya12008
Offline
Зарегистрирован: 01.06.2020

MaksVV пишет:

Рад, что материал оказался полезен. 

Здравствуйте MaksVV ! Возможно ли в проект добавить режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов?

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

возможно, если время найду конечно. 

Kolya12008
Offline
Зарегистрирован: 01.06.2020

MaksVV пишет:

возможно, если время найду конечно. 

Спасибо за ответ! Буду ждать !

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

Kolya12008 пишет:

MaksVV пишет:

возможно, если время найду конечно. 

Спасибо за ответ! Буду ждать !

Коля, "время-деньги", как говорится. Если для вас чистка форсунок - бизнес - можно и простимулировать автора.

Kolya12008
Offline
Зарегистрирован: 01.06.2020

b707 пишет:

Kolya12008 пишет:

MaksVV пишет:

возможно, если время найду конечно. 

Спасибо за ответ! Буду ждать !

Коля, "время-деньги", как говорится. Если для вас чистка форсунок - бизнес - можно и простимулировать автора.

b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.

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

Kolya12008 пишет:

b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.

Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.

Понятно, что это не обязательно, не понятно другое - ваша реакция на это.

Kolya12008
Offline
Зарегистрирован: 01.06.2020

b707 пишет:

Kolya12008 пишет:

b707, С чего вы взяли, что для меня это бизнес?, я делаю этот стенд исключительно для себя, и брата! Да, и то я к автору обращался, а не к вам.

Коля, а что вы так возбудились? Я вам просто намекнул, а то Макс скромный, сам не скажет. Человек делает проекты для всех и выкладывает в открытый доступ. Если для вас этот проект оказался полезным - почему бы не поддержать автора? Особенно если он будет добавлять какие фичи конкретно по вашему заказу.

Понятно, что это не обязательно, не понятно другое - ваша реакция на это.

 b707 Я всего лишь спросил, почему вы решили , что мне проект нужен для бизнеса? А вы целую питицию мне в ответ написали), Вы лично Макса знаете? Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.

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

Kolya12008 пишет:
Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.

ну это же просто делается.

Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.

Цитата:
почему вы решили , что мне проект нужен для бизнеса?

ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.

 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

"Питицию" - это хорошо. Это еще одно слово в калекцею. 

Kolya12008
Offline
Зарегистрирован: 01.06.2020

b707 пишет:

Kolya12008 пишет:
Были бы его контакты, я бы давно с ним связался по этому поводу вне форума, и без ваших намеков.

ну это же просто делается.

Прямо в ветке форума пишете "Уважаемый Макс, как с Вами свзяться. хочу заказать Вам доработку Вашего проекта"
Он читает форум регулярно и в любом случае откликнется.

Цитата:
почему вы решили , что мне проект нужен для бизнеса?

ну мне кажется (я могу ошибаться), что обычному автомобилисту "установка для промывки и раскоксовки форсунок" нафик не нужно :), ему проще раз в 3-5 лет обратится для этого на сервис. А вот гаражному умельцу или владельцу небольшой автобазы - очень даже.

 

 b707 Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!! А не для комерции, так, что вы ошибаетесь!

Kolya12008
Offline
Зарегистрирован: 01.06.2020

DetSimen пишет:

"Питицию" - это хорошо. Это еще одно слово в калекцею. 

)))

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

Kolya12008 пишет:

Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!

ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.

Kolya12008
Offline
Зарегистрирован: 01.06.2020

b707 пишет:

Kolya12008 пишет:

Вот уже на протяжении 30-ти с лишним лет я увлекаюсь электронникой , и у меня есть желание сделать стенд именно для личного пользования!!!

ну если увлеваетесь, то добавить " режим раскоксовки, например 1 секунда впрыск, 30 секунд пауза, и так 20 циклов" - наверно сможете и сами... Сложного в этом ничего нет.

b707 я в програмировании не силен, если бы умел, то не обращался за помощью к Максу!

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

Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется. 

По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца. 

Kolya12008
Offline
Зарегистрирован: 01.06.2020

MaksVV пишет:

Друзья, пока нет времени, работы много что-то стало. Позже может... Денег за такую работу брать точно не буду, т.к. я, по большому счёту, дилетант в программировании. Если взял деньги - то должно надёжно работать, я так привык. а при моём уровне скилла надёжность не гарантируется. 

По опыту, сейчас ультразвуком (или просто в ванне с режимом раскоксовки) смысла мыть форсунки нет. Мойка на месте при работе двигателя решает - жидкости стали очень хорошие, Wynns например. Отмывает в большинстве случаев, а если нет, от и ультразвук вряд ли сможет. А вот убить форсунки ультразвуком более чем реально. Если не отмывается винсом - менять форсунку и не парицца. 

Макс спасибо!!! Всем Удачи, Здоровья!!!

2250003439201
Offline
Зарегистрирован: 08.03.2021

Подскажите как подключить бензонасос

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

2250003439201
Offline
Зарегистрирован: 08.03.2021

спасибо

piridol
Offline
Зарегистрирован: 14.03.2020

В коде из #201 внес исправления, а то кнопки влево, меню и право не работали.
БЫЛО - test.button( 10, 11, 12, 6, 5, 8 )
СТАЛО - test.button( A0, A1, A2, 6, 5, 8 )

test.duration_inactivity_Dn(600);
test.duration_press (500);

//enum but {LEVO, MENU, PRAVO, FUEL, STOP, VALVE};
test.button( A0, A1, A2, 6, 5, 8 ); // соответствующие пины ардуино, к которым подключены кнопки

//ниже настройка LCD
lcd.begin();
lcd.backlight();

Теперь все работает отлично.

piridol
Offline
Зарегистрирован: 14.03.2020

Также внес некоторые исправления в печатную плату

https://disk.yandex.ru/d/dGGX4vSt6VHQEA

piridol
Offline
Зарегистрирован: 14.03.2020

Еще хочу спросить Вашего мнения о целесообразности разнесения 1 выхода на 1 форсунку.

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

piridol
Offline
Зарегистрирован: 14.03.2020

And_N
Offline
Зарегистрирован: 19.02.2019

Особого смысла нет. Ведь можно вообще по одной форсунке мыть. А так или програмно все форсы включай или разъемы одевай. Поэтому кому как удобней.

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

 а зачем отдельно управлять каждой форсункой при проверке?

piridol
Offline
Зарегистрирован: 14.03.2020

And_N пишет:
Особого смысла нет. Ведь можно вообще по одной форсунке мыть. А так или програмно все форсы включай или разъемы одевай. Поэтому кому как удобней.

MaksVV пишет:

 а зачем отдельно управлять каждой форсункой при проверке?

Просто спросил мнение специалистов. 

And_N
Offline
Зарегистрирован: 19.02.2019

С технической точки зрения не важно все разом или по одной проверять на пролив или распыл. Главное чтоб лили как надо и сколько нужно. Хоть бумажку под форсунку клади и давай один импульс - на бумажке нарисуется цветочек с количеством лепестков равным количеству отверстий. Так механические дизельные форсунки проверялись и настраивались. Если распылитель забитый был хоть немного - цветочек получался не симметричный и менялся распылитель. Но это было давно, когда все было разборное. Это как родная книжка от ВАЗ-2101: при помощи инструмента из комплекта машины можно было сделать все от выставления зажигания, до развала-схождения (там правда еще понадобится доп. оборудование: кусок провода, лампочка, веревочка и линейка)
Ну а сейчас все немного по-другому, хоть и принцып тотже.

piridol
Offline
Зарегистрирован: 14.03.2020

Полностью согласен с Вами. Спасибо.

gulevsky
Offline
Зарегистрирован: 05.05.2021

здравствуйте я в ардуино еще новичок подскажите под этот проект какую лучше взять они еще с разными атмегами идут вот и растерялся.

piridol
Offline
Зарегистрирован: 14.03.2020

gulevsky пишет:

здравствуйте я в ардуино еще новичок подскажите под этот проект какую лучше взять они еще с разными атмегами идут вот и растерялся.

Я делал на 328 Атмеге. Arduino Nano v.3.0

gulevsky
Offline
Зарегистрирован: 05.05.2021

спасибо

kabalichi
Offline
Зарегистрирован: 16.04.2021

Здравствуйте! Вопрос какой у меня, уже был задан #81. Вы ответили #82 - Установите библиотеку для кнопок титановый вел от Клапауция и на #84 дали ссылку на библиотеку. Скачал и установил ее, а воз и ныне там. На фото красным отмечена библиотека титановый велосипед.                                               

Если после Button test вставить  скобки (), вот так Button test (); , то компиляция продвинется до вот этой строки test.NO(); // N.O. Normal Open             и всё,дальше как бы я не плясал, с бубном или без бубна - ноль эмоций. Дорогой подскажи в чем проблема. Я не из праздного любопытства это спрашиваю. Мне понравился этот проект и я свой стенд ( если интересно вот ссылка  https://www.drive2.ru/b/1710804/) хочу переделать на ардуино, а тот у меня просто на генераторе NE555  и вся коммутация на кнопках и тумблерах. Будь добр помоги деду, в чем загвоздка?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

видимо библиотеку неправильно поставил, не поленился скидал скетч с библиотеками, всё компилируется, IDE 1.8.9

kabalichi
Offline
Зарегистрирован: 16.04.2021

видимо библиотеку неправильно поставил, не поленился скидал скетч с библиотеками, всё компилируется, IDE 1.8.9

Извините, но я этих библиотек скачал наверно все что имеются. Перепробовал все, но дальше строки Button test; - хоть убей не идет. Я в этом деле профан, только только начинаю изучать и в мои 65 лет, для меня это как подводный мир или параллельные вселенные))) . Мил человек, будь добр скинь нужную библиотеку в формате ZIP. В инете есть некоторые библиотеки как код или скетч, но что с ними делать я не знаю. Если не в напряг помоги пожалуйста.   

kabalichi
Offline
Зарегистрирован: 16.04.2021

Всё решено! Удалил все что связано с Ардуино, по новой все переустановил и как бабка отшептала)))

gulevsky
Offline
Зарегистрирован: 05.05.2021

piridol пишет:

Еще хочу спросить Вашего мнения о целесообразности разнесения 1 выхода на 1 форсунку.

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

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

And_N
Offline
Зарегистрирован: 19.02.2019

Подключайть к стенду форсунки без проверки их мультиметром плохая примета) Но если поставить на каждую по транзистору, то можно несколько раз и кз сделать) Тут уже кому как по душе - на вкус и цвет, как говорится.