• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Przełanczanie wyjść - projekt do podlewania
#1
Witam
Chciałem stworzyć projekt do starowania elektrozaworami, który ma wglądać następująco:

1. Otwarcie pierwszego elektrozaworu 1 podpiętego do pin 3
2. Włączenie pompy podpiętej do pin 2
3. Odczekanie 15 minut - czas nawadniania
4. Otwarcie elektrozaworu podpiętego 2 do pin 4
5. Odczekanie 1-2 sekundy i zamknięcie elektrozaworu 1 podpiętego do pin 3
6. Odczekania 15 minut - czas nawadniania
7. Otwarcie elektrozaworu 3 podpiętego do pin 5
8. Odczekanie 1-2 sekundy i zamknięcie elektrozaworu 2 podpiętego do pin 4
9. Odczekania 15 minut - czas nawadniania
10. Otwarcie elektrozaworu 4 podpiętego do pin 6
11. Odczekanie 1-2 sekundy i zamknięcie elektrozaworu 3 podpiętego do pin 5
12. Odczekania 15 minut - czas nawadniania
13. Wyłączenie pompy podpiętej do pin 2
14. Odczekanie 1-2 minut aby zeszło ciśnienie i zamknięcie elektrozaworu 4 podpiętego do pin 6

Powyższe zadanie ma uruchamiać jakaś czasówka dwa razy dziennie więc na razie dla testów zrobiłem ręczny guzik podpięty do pin 1.
1. Jak wydłużyć czasy działania na obecną chwile zrobiłem dla testów czasy chwilowe - kilka sejund
2. Czy i jak zastąpić delay w programie ? Czy jest potrzeba zastępowania ??

Projekt docelowy ma sterować 30 elektrozaworami przełączając je co 15 minut.
Cały cykl ma się uruchomić dwa razy dziennie rano i wieczorem.

Kod:
// szkic 03.06.
int pompa = 2;
int zawor1 = 3;
int zawor2 = 4;
int zawor3 = 5;
int zawor4 = 6;
int delayCzas = 3500;
int delayPauza = 500;
int delayStop = 2500;
int delayStart = 1000;

void setup()
{
  pinMode(1, INPUT);  // guzik zwierny włączający//
  pinMode(pompa, OUTPUT);
  pinMode(zawor1, OUTPUT);
  pinMode(zawor2, OUTPUT);
  pinMode(zawor3, OUTPUT);
  pinMode(zawor4, OUTPUT);
}


void loop()
{
  if (digitalRead(1)==LOW) // petla załączająca przez wyłącznik zwierający do masy//
  {
  digitalWrite(zawor1, HIGH); //otwarcie zaworu 1//
  delay(delayStart);
  digitalWrite(pompa, HIGH); //start pompa//
  delay(delayCzas); //odczekania czasu podlewania//
  digitalWrite(zawor2, HIGH); //otwarcie zaworu 2//
  delay(delayPauza); //odczekanie 1 sekundy//
  digitalWrite(zawor1, LOW); // zamkniecie zaworu 1//
  delay(delayCzas); // odczekanie czasu podlewania //
  digitalWrite(zawor3, HIGH); //otwarcie zaworu 3//
  delay(delayPauza); //odczekanie 1 sekundy//
  digitalWrite(zawor2, LOW); // zamkniecie zaworu 2//
  delay(delayCzas); // odczekanie czasu podlewania //
  digitalWrite(zawor4, HIGH); //otwarcie zaworu 4//
  delay(delayPauza); //odczekania 1 sekundy//
  digitalWrite(zawor3, LOW); // zamkniecie zaworu 3//
  delay(delayCzas); // odczekanie czasu podlewania //
  digitalWrite(pompa, LOW); // pompa stop //
  delay(delayStop); //0dczekanie 2 sekund//
  digitalWrite(zawor4, LOW); // zakmnięcie zaworu 4// 
  }
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości