Контролери > Ардуино (Arduino)

помощ arduino с бутон и реле

<< < (2/2)

lembata:

#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:
Да стана
много благодаря
 
впрочем и аз достигнах до горе долу същото решение но твоето е доста по изпипано

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



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:
Здравейте отново
всичко беше супер  и тръгна но сега се интересувам има ли команда с която да спра цикъла докато не се натисне бутона
идеята е когато пусна захранване на ардуиното да изпълни няколко команди на реле2 и 3 и да СПРЕ за да чака натискане на бутона т.е да не се връща в началото както сега а да чака натискане на бутона

Навигация

[0] Списък на темите

[*] Предходна страница

Премини на пълна версия