Перейти к содержанию

Maximus

Модераторы
  • Постов

    980
  • Зарегистрирован

  • Победитель дней

    52

Сообщения, опубликованные Maximus

  1. пример код программы, чтобы его спрятать я пишу  (spoiler)внутри векст(/spoiler) - только скобки квадратные!

    А должен быть способ попроще!

     

    пример-

     

    #include <LiquidCrystal.h>

     

    #include <LiquidCrystalRus.h>

    LiquidCrystalRus lcd(6, 7, 5, 4, 3, 2);

     

    int state=0;

    int state2=0;

    int state3=0;

    int state4=0;

    int state5=0;

     

    int avaria=0;

    int avaria2=0;

    int avaria3=0;

    int avaria4=0;

     

    int ustanovka=0;

    int ustanovka2=0;

    int ustanovka3=0;

    int ustanovka4=0;

     

    long previousMillis = 0;

    long previousMillis2 = 0;

    long previousMillis3 = 0;

    long previousMillis4 = 0;

    long previousMillis5 = 0;

     

    int obriv = 0;

    int obriv2 = 0;

    int obriv3 = 0;

    int obriv4 = 0;

     

    #include <EEPROM.h>

     

    int dveknopky=0;

     

    int predustanovka=0;

    int regim=1;

     

    int eeprom=0;

     

     

    int knopka=0;

    int knopka2=0;

    int knopka3=0;

     

     

     

    int analog=0;

    int analog2=0;

    int analog3=0;

    int analog4=0;

     

     

     

     

     

    int sek=0;

    int sek2=0;

    int sek3=0;

    int sek4=0;

     

    int flag1=0;

    int flag2=0;

    int flag3=0;

    int flag4=0;

     

     

     

    void setup()

    {

      

     pinMode(14,INPUT);

     pinMode(15,INPUT);

     pinMode(16,INPUT);

     pinMode(17,INPUT);

      

     digitalWrite(14, HIGH);

     digitalWrite(15, HIGH);

     digitalWrite(16, HIGH);

     digitalWrite(17, HIGH);

     

     lcd.begin(16, 2);

     

     pinMode(19,INPUT);

     pinMode(18,INPUT);

     

     pinMode(0,OUTPUT);

     pinMode(1,OUTPUT);

     pinMode(8,OUTPUT);

     pinMode(9,OUTPUT);

     

     pinMode(10,OUTPUT);

     pinMode(11,OUTPUT);

     pinMode(12,OUTPUT);

     pinMode(13,OUTPUT);

     

    }

     

    void loop()

    {

      

      if (millis() -previousMillis5 >=100) 

     {  

       previousMillis5 = millis();  

      state5=!state5;

       

       if(state5==1)

       {

        lcd.clear();

       }

     }

      

      

      

      

        

      if(eeprom==0)

       {

       regim=EEPROM.read(0);

       eeprom=1;

       }

     

     

       if(digitalRead(19)==HIGH&&digitalRead(18)==HIGH&&knopka3==0) 

       {

       knopka3=1;                                                 

       

      }

       if(digitalRead(19)==LOW&&digitalRead(18)==LOW&&knopka3==1)

        {

                                                               

          dveknopky=dveknopky+1;                             

          if(dveknopky>1)

          {

            dveknopky=0;

          }

          if(dveknopky<0)

          {

           dveknopky=1;

          }

          

           knopka3=0;

           delay(500);

        }

     

      

      if(dveknopky==1)

      {

         digitalWrite(0,LOW);

         digitalWrite(1,LOW);

         digitalWrite(8,LOW);

         digitalWrite(9,LOW);

         digitalWrite(10,LOW);

         digitalWrite(11,LOW);

         digitalWrite(12,LOW);

         digitalWrite(13,LOW);

          

       

         lcd.setCursor(2,1);

         lcd.print("Заблокирована");

         lcd.setCursor(4,0);

         lcd.print("Система");

        

      }

      

      

      else

      {

     

        if(analogRead(14)<=1010&&analogRead(15)<=1010&&analogRead(16)<=1010&&analogRead(17)<=1010)

       

      {  

        

     

       

       

      if(digitalRead(19)==HIGH&&knopka==0)

      {                                   

       knopka=1;                    

        avaria=0;

      }

       if(digitalRead(19)==LOW&&knopka==1)

        {

         

           knopka=0;

          

           regim=regim+1;

      

           if(regim>3)

           {

             regim=3;

            } 

            EEPROM.write(0,regim);

             sek=0; 

            

        }

            

      

      

      if(digitalRead(18)==HIGH&&knopka2==0)

      {                             

       knopka2=1;

        avaria=0;

      }

       if(digitalRead(18)==LOW&&knopka2==1)

        {

         

           knopka2=0;

          

           regim=regim-1;

           

           if(regim<1)

           {

             regim=1;

            } 

             EEPROM.write(0,regim);

              sek=0; 

               

        }

             

        

      

      

      if(regim==1)

      {

        

        predustanovka=300;

        

         if(avaria==0&&avaria2==0&&avaria3==0&&avaria4==0)

         {

         lcd.setCursor(4,0);

         lcd.print("нижний");

        

         }

      }

      

       if(regim==2)

      {

         predustanovka=600;

         

           if(avaria==0&&avaria2==0&&avaria3==0&&avaria4==0)

         {

         lcd.setCursor(4,0);

         lcd.print("средний");

         }

      }

      

       if(regim==3)

      {

        

         predustanovka=900;

         

           if(avaria==0&&avaria2==0&&avaria3==0&&avaria4==0)

         {

         lcd.setCursor(4,0);

         lcd.print("верхний");

         }

      }

      

     

      

     

     

     

     if(flag1==1)

      {

       if (millis() -previousMillis >=500) 

     {  

       previousMillis = millis();  

      state=!state;

       

       if(state==1)

       {

         sek++;

       }

       if(sek>=30)

       {

         sek=30;

       }

     }

       }

      

      

      

    analog=analogRead(14);

     

    if(analog>999)

    {

      analog=999;

    }

    if(analog<100)

    {

      analog=100;

    }

     

     if(analog>(predustanovka+5)&&sek>=3)

     

      {                

     flag1=1;

      if(sek<30)

      {

        

       

       

       digitalWrite(13,LOW);

       digitalWrite(0,HIGH); 

       

      }

       else

      {

        

       avaria=1;

      digitalWrite(13,LOW);

       digitalWrite(0,LOW);

       

        

      }

      }

      

      if(analog>=(predustanovka-10)&&analog<=(predustanovka+10))

      

      {

        

       

         ustanovka=1;

        avaria=0;

      flag1=0;

        digitalWrite(0,LOW);

        digitalWrite(13,LOW); 

      sek=0;

      }

      else

      {

       

       ustanovka=0;

       flag1=1;  

      }

      

      if(analog<(predustanovka-5)&&sek>=3)

      {

        flag1=1;

         if(sek<30)

      {

        

       digitalWrite(0,LOW);

       digitalWrite(13,HIGH); 

       

      }

       else

      {

        

       avaria=1;

      digitalWrite(0,LOW);

       digitalWrite(13,LOW);

       

        

      }

      

      }

      

      

      if(flag2==1)

      {

       if (millis() -previousMillis2 >=500) 

     {  

       previousMillis2 = millis();  

      state2=!state2;

       

       if(state2==1)

       {

        

         sek2++;

       }

       if(sek2>=30)

       {

         sek2=30;

       }

     }

       }

      

      

      

    analog2=analogRead(15);

     

    if(analog2>999)

    {

      analog2=999;

    }

    if(analog2<100)

    {

      analog2=100;

    }

     

     if(analog2>(predustanovka+5)&&sek2>=3)

     

      {                

     flag2=1;

      if(sek2<30)

      {

        

       

       

       digitalWrite(12,LOW);

       digitalWrite(1,HIGH); 

       

      }

       else

      {

        

       avaria2=1;

      digitalWrite(12,LOW);

       digitalWrite(1,LOW);

       

        

      }

      }

      

      if(analog2>=(predustanovka-10)&&analog2<=(predustanovka+10))

      

      {

        

       

         ustanovka2=1;

        avaria2=0;

      flag2=0;

        digitalWrite(1,LOW);

        digitalWrite(12,LOW); 

      sek2=0;

      }

      else

      {

       

       ustanovka2=0;  

       flag2=1;  

      }

      

      if(analog2<(predustanovka-5)&&sek2>=3)

      {

        flag2=1;

         if(sek2<30)

      {

        

       digitalWrite(1,LOW);

       digitalWrite(12,HIGH); 

       

      }

       else

      {

        

       avaria2=1;

      digitalWrite(1,LOW);

       digitalWrite(12,LOW);

       

        

      }

      

      }

       

      

      

       

       

       

        

      if(flag3==1)

      {

       if (millis() -previousMillis3 >=500) 

     {  

       previousMillis3 = millis();  

      state3=!state3;

       

       if(state3==1)

       {

        

         sek3++;

       }

       if(sek3>=30)

       {

         sek3=30;

       }

     }

       }

      

      

      

    analog3=analogRead(16);

     

    if(analog3>999)

    {

      analog3=999;

    }

    if(analog3<100)

    {

      analog3=100;

    }

     

     if(analog3>(predustanovka+5)&&sek3>=3)

     

      {                

     flag3=1;

      if(sek3<30)

      {

        

       

       

       digitalWrite(11,LOW);

       digitalWrite(8,HIGH); 

       

      }

       else

      {

        

       avaria3=1;

      digitalWrite(11,LOW);

       digitalWrite(8,LOW);

       

        

      }

      }

      

      if(analog3>=(predustanovka-10)&&analog3<=(predustanovka+10))

      

      {

        

       

         ustanovka3=1;

        avaria3=0;

      flag3=0;

        digitalWrite(8,LOW);

        digitalWrite(11,LOW);

      sek3=0;

      }

      else

      {

       

       ustanovka3=0;

       flag3=1;  

      }

      

      if(analog3<(predustanovka-5)&&sek3>=3)

      {

        flag3=1;

         if(sek3<30)

      {

        

       digitalWrite(8,LOW);

       digitalWrite(11,HIGH); 

       

      }

       else

      {

        

       avaria3=1;

      digitalWrite(8,LOW);

       digitalWrite(11,LOW);

       

        

      }

      

      }

       

      

      

       

      

       

          

      if(flag4==1)

      {

       if (millis() -previousMillis4 >=500) 

     {  

       previousMillis4 = millis();

      state4=!state4;

       

       if(state4==1)

       {

        

         sek4++;

       }

       if(sek4>=30)

       {

         sek4=30;

       }

     }

       }

      

      

      

    analog4=analogRead(17);

     

    if(analog4>999)

    {

      analog4=999;

    }

    if(analog4<100)

    {

      analog4=100;

    }

     

     if(analog4>(predustanovka+5)&&sek4>=3)

     

      {                

     flag4=1;

      if(sek4<30)

      {

        

       

       

       digitalWrite(10,LOW);

       digitalWrite(9,HIGH); 

       

      }

       else

      {

        

       avaria4=1;

      digitalWrite(10,LOW);

       digitalWrite(9,LOW);

       

        

      }

      }

      

      if(analog4>=(predustanovka-10)&&analog4<=(predustanovka+10))

      

      {

        

       

      ustanovka4=1;

      avaria4=0;

      flag4=0;

        digitalWrite(9,LOW);

        digitalWrite(10,LOW); 

      sek4=0;

      }

      else

      {

       

        ustanovka4=0;

       flag4=1;  

      }

      

      if(analog4<(predustanovka-5)&&sek4>=3)

      {

        flag4=1;

         if(sek4<30)

      {

        

       digitalWrite(9,LOW);

       digitalWrite(10,HIGH); 

       

      }

       else

      {

        

       avaria4=1;

       digitalWrite(9,LOW);

       digitalWrite(10,LOW);

       

        

      }

      

      }

       

      

      

       

       

      

       

       

      

       if(ustanovka==1&&ustanovka2==1&&ustanovka3==1&&ustanovka4==1)

       {

         

       lcd.setCursor(3,1);

       lcd.print("Установлен");

       

       }

       else

       {

         if(avaria==1||avaria2==1||avaria3==1||avaria4==1)

         {

      

           delay(1000);

       lcd.setCursor(5,0);

       lcd.print("АВАРИЯ");

       lcd.setCursor(3,1);

       lcd.print(!avaria);

       lcd.setCursor(6,1);

       lcd.print(!avaria2);

       lcd.setCursor(9,1);

       lcd.print(!avaria3);  

       lcd.setCursor(12,1);

       lcd.print(!avaria4);

       

         }

       else

       {

       lcd.setCursor(1,1);

       lcd.print(analog);

       lcd.setCursor(5,1);

       lcd.print(analog2);

       lcd.setCursor(9,1);

       lcd.print(analog3);

       lcd.setCursor(13,1);

       lcd.print(analog4);

       }

       

       

       } 

      }

      else

      {

        if(analogRead(14)>=1010)

        {

          obriv=0;

          

          delay(1000);

        }

        else

        {

          obriv=1;

          

        }

        if(analogRead(15)>=1010)

        {

          obriv2=0;

         

          delay(1000);

        }

        else

        {

          obriv2=1;

        }

        if(analogRead(16)>=1010)

        {

          obriv3=0;

         

          delay(1000);

        }

        else

        {

          obriv3=1;

        }

        if(analogRead(17)>=1010)

        {

          obriv4=0;

         

          delay(1000);

        }

        

        else

        {

          obriv4=1;

        }

        

        

       lcd.setCursor(2,0);

       lcd.print("ОБРЫВ ДАТЧИКА"); 

       lcd.setCursor(3,1);

       lcd.print(obriv); 

       lcd.setCursor(6,1);

       lcd.print(obriv2); 

       lcd.setCursor(9,1);

       lcd.print(obriv3); 

       lcd.setCursor(12,1);

       lcd.print(obriv4); 

       

       

       digitalWrite(9,LOW);

       digitalWrite(10,LOW);

       digitalWrite(11,LOW);

       digitalWrite(8,LOW);

       digitalWrite(12,LOW);

       digitalWrite(1,LOW);

       digitalWrite(13,LOW);

       digitalWrite(0,LOW);

       

       

        

      }

     

     }

    }

     

     

  2. На фотках выше видно что днина надутого чулка 140мм, защиту делал соответствующей длинны + верхн. брекет! Подушка уменьшилась в диаметре но выросла в длине!

    прут приварили 5мм, изначальный чертеж-post-303-0-24373800-1361714058_thumb.jpg радиусы в реале получились R7, макс Ф130

    После испытаний создам тему, с подробным фотоотчетом!

  3. Для отключения доп ресиверов взял вот такие клапана   

    post-303-0-10489500-1361708126_thumb.jpg

     


        Подробнее о наборе NT8078 DC12V на сайте Мастер-Кит

    Электромагнитный клапан предназначен для включения или выключения подачи жидкости в трубопроводе.
    Широкое применение клапан может найти в системах «умный дом» (например в составе BM8039D)., домашней автоматике, дачных бассейнах, системах автоматического полива, аквариумах и т.п.

    Технические характеристики:
    Номинальное напряжение питания, В +12
    Разброс напряжение питания от номинального, % +/- 10
    Мощность катушки, Вт 5
    Сопротивление изоляции при DC500В, Мом >100
    Состояние клапана при отсутствии питания НЗ
    Материал корпуса металл
    Рабочее давление, MPa 0.02-0.8
    Пропускная способность клапана при 0.8 MPa 25 L/min
    Кратковременное максимальное давление, MPa 1.2
    Диаметр подводки ½“
    Рабочая температура жидкости, С 0-130
    Габариты клапана, мм 75,4х90,3

    брал тут, пластиковые вообще копейки стоят, и их можно объединять в блоки..
     
    Но мне почему то кажется что для общения подушки с доп-ресивером нужно проходное побольше :russian_ru:
  4. @Admin

    Можно и с стопорным кольцом, но я опасался люфта, та и так красивее :smile:

    опорник для подушки просто одевается на шток, стрелочка как-раз показывает на переходную втулку, так как внутренний диаметр подшипника 30мм, а шток 20мм

  5. Мой вариант опоры использует два опорных подшипника, 1-й опорник для штока (как на большинстве легковых авто), 2-й - я использовал для подушки (Подшипник шкворни Г-53,ЗИЛ-5301 опорный 98206)!

    Деталь с опорным подшипником (для штока) вставляется в резиновый демпфер. Демпфер- в родную опору с полусферой! Полусфера диаметром 70мм, сталь толщиной в 3мм!

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

    post-303-0-67967500-1357773274_thumb.jpg post-303-0-35171900-1357773273_thumb.jpg post-303-0-12303400-1357773272_thumb.jpg post-303-0-86052100-1357773270_thumb.jpg post-303-0-58685500-1357773269_thumb.jpg post-303-0-30028600-1357773268_thumb.jpg post-303-0-02721100-1357773267_thumb.jpg post-303-0-03524800-1357773253_thumb.jpg post-303-0-72886600-1357773251_thumb.jpg post-303-0-42685900-1357773250_thumb.jpg post-303-0-08409700-1357773249_thumb.jpg post-303-0-73004500-1357773247_thumb.jpg post-303-0-31747500-1357773246_thumb.jpg post-303-0-95363000-1357773244_thumb.jpg

     

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

    мне нужно было получить минус 6-7см от штока, что и мне удалось!

    Такая резинка на экзисте стоит 4$  и опора гдето столько же! самая  дорогая деталь это которую точил токарь 30$ за пару отдал, ну и подшипники по 2,5$ :smile:

  6. @лёха 630, Да, ход амо.

    @Orkan, Думаю что да, имхо- она не для лёгких машин. Но я бы не сказал что она короткоходная.

    вдул 7 атм, диаметр больше не стал!post-303-0-66779900-1361575073_thumb.jpg

    post-303-0-30258300-1361575242_thumb.jpgза одно испытал надежность тормозного шланга, всё   :ok:, по резьбе не травит !

  7. Я хомут делал четко по диаметру стоки, только с каждой половинки хомута на концах снял по 1мм на утяжку, но у меня хомут по другому затягивается! имхо- если делать как нарисовал @Admin, то, по 0,5мм с каждой стороны полумесяца,смахнуть, будет достаточно!

  8. Прикольно! Ждем полный фото-отчет!
    Тему подправлю на Пневмоподвеска на BMW E46, не против?  Не все в моделях БМВ шарят :smile:

     

    А чего поршни такие короткие? На Е46 не макферсон? Или исключительно занижение будет?

  9. банальная кренка 5-и вольтовая, всего 3-и ноги:

    1-вход 12в

    2-масса

    3-выход 5в

    post-303-0-80182500-1361307831_thumb.jpg

    простая схемка post-303-0-53543200-1361308514_thumb.jpg

    Можно без диода, конде-ры обязательны!

  10. Я же писал про светодиодный индикатор 4х контурный тут! Всё работает отлично, само подкачивает до нужного уровня! В статике показание точные, когда едешь наслаждаешься цветомузыкой :smile:

    А со светодиод сложнее,во первых надо знать уровень Нижний и верхний

    Всего 2-а подстоичника в схеме, именно и отвечают за нижнюю и верхнюю границы на шкале.
  11. Зазоры тут не причем, ясный-красный, что их не должно быть вообще! Удары которые аморт призван гасить, будут передаваться на метал опоры и дальше на кузов! Простой пример, можно проверить самостоятельно на стоковой опоре,- даешь кому нибудь маленький молоточек, садишься в салон, а человек легонько стучит сверху по штоку, а потом с тем же усилием стучит по одной из шпилек опоры!
    У меня друг драгер, пару лет назад на международных соревнованиях занял 2-е место, в своем классе! Так вот он и многие другие, констатировали факт, что после установки таких опор, по городу на них ездить как минимум дискомфортно, на дальние поездки вообще грусть..! При этом человек привыкший ездить на колах, низкой резине, жестких амо,- и не испытывает от этого дискомфорта!
    Лично я не пробовал, и с удовольствием услышу еще отзывы о опорах без резины :smile:

×
×
  • Создать...