Автор Тема: помощ arduino с бутон и реле  (Прочетена 4819 пъти)

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
помощ arduino с бутон и реле
« -: Август 11, 2016, 03:02:00 pm »
Здравейте моля за малко помощ

трябва да пусна едно ардуино уно което да управлява 3 релета
идеята е като натисна бутона да се включи реле 1 и да стои включено 2 минути след което само (без натискане на бутон) да изключи
реле 2 трябва да генерира малък импулс на втората сек след това да изчака 3 сек и пак да генерира импулс и едновременно с това да се генерира импулс на реле 3

проблема е че не мога да накарам реле 1 да е включено постоянно и да гасне след 2 мин

Ще бъда много благодарен ако ми помогне някой с програмирането


nunep

  • Вече знае какво е робот!
  • *****
  • Публикации: 76
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #1 -: Август 11, 2016, 05:45:41 pm »
loop()
 {
    if (buton = natisnat)
     {
        digitaloutput( rele1, ON );    //vkliu4va rele 1
        delay(120000);                    // 4aka 2 min
        digitaloutput( rele1, OFF);    // izkliu4va rele 1

        delay(2000);                        // 4aka 2 sekundi

        digitaloutput( rele2, ON );    //vkliu4va rele 2
        delay(20);                            // kratuk impuls
        digitaloutput( rele2, OFF);    // izkliu4va rele 2

        delay(3000)                          // 4aka 3 sekundi

        digitaloutput( rele2, ON );    //vkliu4va rele 2
        digitaloutput( rele3, ON );    //vkliu4va rele 3
        delay(20);                            // kratuk impuls
        digitaloutput( rele2, OFF);    // izkliu4va rele 2
        digitaloutput( rele3, OFF);    // izkliu4va rele 3
     }
 }

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #2 -: Август 12, 2016, 04:44:37 pm »
много благодаря
ще го пробвам и при първа възможност ще го пробвам

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #3 -: Август 15, 2016, 12:42:13 pm »
ok
Пробвах но нещо явно греша

написах следната програма но нищо не се случи
моля за малко помощ


int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 11 ;
int buton = 8;
boolean ON = HIGH;
boolean OFF = LOW;
 
void setup ()
{
  pinMode(buton, INPUT);
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
}
void loop()
 {
   digitalRead(buton);
    if (buton == HIGH ) //natisnat buton
     {
        digitalWrite(rele1,ON);    //vkliu4va rele 1
        delay(120000);                    // 4aka 2 min
        digitalWrite(rele1,OFF);    // izkliu4va rele 1

        delay(2000);                        // 4aka 2 sekundi

        digitalWrite( rele2, ON );    //vkliu4va rele 2
        delay(20);                            // kratuk impuls
        digitalWrite( rele2, OFF);    // izkliu4va rele 2

        delay(3000);                          // 4aka 3 sekundi

        digitalWrite(rele2, ON );    //vkliu4va rele 2
        digitalWrite(rele3, ON );    //vkliu4va rele 3
        delay(20);                            // kratuk impuls
        digitalWrite(rele2, OFF);    // izkliu4va rele 2
        digitalWrite(rele3, OFF);    // izkliu4va rele 3
     }
 }

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #4 -: Август 15, 2016, 01:06:24 pm »
След Лека преработка програмата изглежда така



int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 11 ;
int inpin = 8;
int ON = HIGH;
int OFF = LOW;
int val = 0;

void setup ()
{
  pinMode(inpin, INPUT);
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
}
void loop()
 {
   val = digitalRead(inpin);
 
      if (val == HIGH) {
//digitalWrite(ledPin, LOW
   
   
   
   
    // if (buton == HIGH ) //natisnat buton
     
        digitalWrite(rele1,ON);    //vkliu4va rele 1
        delay(60000);                    // 4aka 1 min
        digitalWrite(rele1,OFF);    // izkliu4va rele 1

        delay(2000);                        // 4aka 2 sekundi

        digitalWrite( rele2, ON );    //vkliu4va rele 2
        delay(220);                            // kratuk impuls
        digitalWrite( rele2, OFF);    // izkliu4va rele 2

        //delay(3000);                          // 4aka 3 sekundi

        digitalWrite(rele2, ON );    //vkliu4va rele 2
        digitalWrite(rele3, ON );    //vkliu4va rele 3
        delay(220);                            // kratuk impuls
        digitalWrite(rele2, OFF);    // izkliu4va rele 2
        digitalWrite(rele3, OFF);    // izkliu4va rele 3
     }
 }

но за съжаление пак не е това което ми трябва

идеята е реле 1 да е включено постоянно а реле 2 и 3 да изпълняват функциите си докато реле 1 е включено

Моля за помощ

lembata

  • Новодошъл
  • *****
  • Публикации: 1
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #5 -: Август 16, 2016, 09:31:34 am »

#define SHORT_PULSE 220
#define SECOND 1000

int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 11 ;
int inpin = 8;
int ON = HIGH;
int OFF = LOW;

void setup ()
{
  pinMode(inpin, INPUT);
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
}

void loop()
{
    bool pressed = digitalRead(inpin);
 
        if (pressed)
       {
     
            digitalWrite(rele1, ON);    //vkliu4va rele 1

            delay(2 * SECOND);                        // 4aka 2 sekundi

            digitalWrite( rele2, ON );    //vkliu4va rele 2
            delay(SHORT_PULSE);                            // kratuk impuls
            digitalWrite( rele2, OFF);    // izkliu4va rele 2

            delay(3 * SECOND );                          // 4aka 3 sekundi

            digitalWrite(rele2, ON );    //vkliu4va rele 2
            digitalWrite(rele3, ON );    //vkliu4va rele 3
            delay(SHORT_PULSE);                            // kratuk impuls
            digitalWrite(rele2, OFF);    // izkliu4va rele 2
            digitalWrite(rele3, OFF);    // izkliu4va rele 3

            delay(120 * SECOND  - 5 * SECOND - 2 * SHORT_PULSE); //dopulnitelno zabavqne do kraq na 2te minuti

            digitalWrite(rele1, OFF);  // izkliuchva rele1 2 minuti sled nachaloto na rabotata mu
     }
 }

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #6 -: Август 16, 2016, 10:48:04 am »
Да стана
много благодаря
 
впрочем и аз достигнах до горе долу същото решение но твоето е доста по изпипано

ето го и моето решение



int rele1 = 13 ;
int rele2 = 12 ;
int rele3 = 6 ;
int inpin = 8;
int ON = HIGH;
int OFF = LOW;
int val = 0;

void setup ()
{
  pinMode(inpin, INPUT);
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
}
void loop()
 {
   val = digitalRead(inpin);
 
      if (val == HIGH) {
        digitalWrite(rele1,ON);    //vkliu4va rele 1 podawa zahranwane
        delay(2000); //chaka malko
        digitalWrite(rele2, ON );    //vkliu4va rele 2
        delay(200);                            // kratuk impuls
        digitalWrite(rele2, OFF);    // izkliu4va rele 2
delay(2000);                        // 4aka 2 sekundi
       
        digitalWrite(rele2, ON );    //vkliu4va rele 2
        digitalWrite(rele3, ON );    //vkliu4va rele 3
        delay(200);                            // kratuk impuls
        digitalWrite(rele2, OFF);    // izkliu4va rele 2
        digitalWrite(rele3, OFF);    // izkliu4va rele 2
       
       delay(10000);               // 4aka 10 sek 
digitalWrite(rele1,OFF);    // izkliu4va rele 1 gasi toka

       
     }
 }

lz1iko

  • Новодошъл
  • *****
  • Публикации: 6
    • Профил
Re: помощ arduino с бутон и реле
« Отговор #7 -: Август 30, 2016, 05:19:49 pm »
Здравейте отново
всичко беше супер  и тръгна но сега се интересувам има ли команда с която да спра цикъла докато не се натисне бутона
идеята е когато пусна захранване на ардуиното да изпълни няколко команди на реле2 и 3 и да СПРЕ за да чака натискане на бутона т.е да не се връща в началото както сега а да чака натискане на бутона