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

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

(1/2) > >>

lz1iko:
Здравейте моля за малко помощ

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

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

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

nunep:
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:
много благодаря
ще го пробвам и при първа възможност ще го пробвам

lz1iko:
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:
След Лека преработка програмата изглежда така



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 е включено

Моля за помощ

Навигация

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

[#] Следваща страница

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