Przeszukaj forum
Pokazywanie wyników dla tagów 'rozwarcie'.
Znaleziono 1 wynik
-
Rzecz w tym że nie mam zielonego pojęcia co tu nie gra. Świeżak choć leciwy jestem i ogólnie z programowaniem czegokolwiek poza pralką miałem mało do czynienia. Co mam? Plan działania! Czego brakuje? Działania programu! No to tak. Mamy dwa przekaźniki które załączają się w pętli póki z trzeciego przekaźnika idzie 5V. Ten trzeci jest sygnałem na wejściu. Dwa poprzednie to wyjścia. Teraz. Jeśli pierwszy jest włączony drugi nie może byś włączony i na odwrót. Cykl kończy rozwarcie. Funkcji delay nie mogę użyć bo blokuje mi resztę procesów. #include "DHT.h" #define DHTPIN 2 // przypisany pin #define DHTTYPE DHT22 // typ czujnika DHT #define RELAY1 3 // Pin miernika poziomu cieczy - wejście 3 #define PUMP 4 // Pin pompy napełniającej - wyjście 4 #define PUMP2 5 // Pin pompy mieszającej - wyjście 5 #define PUMP3 6 // Pin pompy mineralizującej - wyjście 6 int stanRELAY1 = LOW; int stanPUMP = HIGH; int stanPUMP2 = HIGH; int stanPUMP3 = HIGH; unsigned long pracaPUMP = 60000; unsigned long pracaPUMP2 = 60000; unsigned long aktualnyCzas = 0; unsigned long zapamietanyCzasPUMP = 0; unsigned long zapamietanyCzasPUMP2 = 0; DHT dht(DHTPIN, DHTTYPE); void setup() { //otwarcie portu i ustawienie prędkości na 9600 bodów Serial.begin(9600); //dopóki serial monitor nie jest otwarty NIE rób nic while (!Serial) ; // Testuj czujnik DHT 22 (Ciągnie z biblioteki) Serial.println("DHTxx test!"); dht.begin(); pinMode(RELAY1, INPUT); pinMode(PUMP, OUTPUT); pinMode(PUMP2, OUTPUT); pinMode(PUMP3, OUTPUT); } void loop() { aktualnyCzas = millis(); //Pobierz liczbe milisekund od startu stanRELAY1 = digitalRead(RELAY1); // Odczyt stanu przekaźnika miernika poziomu cieczy: if (stanRELAY1 == HIGH) { // Sprawdź czy przekaźnik poziomu cieczy jest zwarty. Jeśli tak zbiornik nie jest pełny, więc ustaw stanRELAY1 na HIGH: pracaPUMP = 60000; // Włącz pompę napełniającą: } else { pracaPUMP = HIGH; } // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); float t = dht.readTemperature(); // check if returns are valid, if they are NaN (not a number) then something went wrong! //if (isnan(t) || isnan(h)) { //Serial.println("Błędny odczyt czujnika DHT"); // } else { // Serial.print("Wilgotnoiść: "); // Serial.print(h); // Serial.print(" %\t"); //Serial.print("Temperatura: "); //Serial.print(t); //Serial.print(" *C "); if(stanRELAY1){ Serial.print("Aktywny"); } else {Serial.print("nieaktywny"); } Serial.println(""); delay(5000); }
- 5 odpowiedzi
-
- przekaźnik
- zwarcie
-
(i 2 więcej)
Tagi: