Sterownik pompy CO - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Sterownik pompy CO (/watek-sterownik-pompy-co) Strony:
1
2
|
Sterownik pompy CO - ferdricco - 05-02-2017 Witam. Na wstępie chciałbym zaznaczyć że jestem początkującym i umie tyle ile mogłem nauczyć się z internetu oraz własnych doświadczeń. Chciałbym przedstawić mój projekt sterownika pompy CO oraz poprosić o pomoc w rozwiązaniu pewnych problemów jakie zauważyłem. A mianowicie chodzi mi o odczyt wartości potencjometru który ma nastawiać docelową temperaturę załączania pompy. Odczyt jest opóźniony i często przekręcam wartość docelową i muszę "szukać" wartości jaką potrzebuję. Ponadto chciałbym zrobić ręczne załączenie pompy. To kod: Kod: #include <OneWire.h> RE: Sterownik pompy CO - namok - 06-02-2017 1. Analog odczytujesz na początku pętli loop() ale na wyświetlacz dajesz tę wartość pod koniec pętli. 2. Niepotrzebnie 3 razy czytasz z jednego czujnika(indeks 0). Pobierz wartość temperatury do zmiennej i operuj na tej zmiennej. RE: Sterownik pompy CO - ferdricco - 06-02-2017 Faktycznie pomogło i jest szybciej. A czy możesz podpowiedzieć jak zrobić sterowanie wyborem temperatury z przycisków? RE: Sterownik pompy CO - adix - 06-02-2017 Wszystko jest w przykładzie button jak obsłużyć przyciski oraz musisz użyć obsługi eeprom do zapamiętania wartości. A tak zmieniasz wartość Kod: if(s1==0){tempz++;} RE: Sterownik pompy CO - ferdricco - 07-02-2017 Co tu jest nie w hallo. Nie działa mi to. Pogubiłem się w tym... #include <LiquidCrystal.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); const int A = 6; const int B = 7; int tempz = 50; void setup() { pinMode(A, INPUT_PULLUP); pinMode(B, INPUT_PULLUP); lcd.begin(16,2); lcd.setCursor(8,0); lcd.print(tempz); } void loop() { if(digitalRead(A)==LOW){tempz++;} if(digitalRead(B)==LOW){tempz--;} } RE: Sterownik pompy CO - namok - 08-02-2017 A gdzie w progamie reagujesz na zmianę tempz? To co zamieściłeś w zasadzie "nic nie robi". Zamieszczaj cały program. RE: Sterownik pompy CO - ferdricco - 08-02-2017 (08-02-2017, 08:58)namok napisał(a): A gdzie w progamie reagujesz na zmianę tempz? Witam. Ja ten algorytm później wpasuję sobie w program tylko problem jest w tym że to co wypociłem nie zmienia mi wartości "tempz". Prosiłbym o poprawę kodu bo ( co tu owijać w bawełnę ) ja niedaję rady. RE: Sterownik pompy CO - namok - 08-02-2017 (08-02-2017, 10:48)ferdricco napisał(a):Taki program(trzoszkę go zmodyfikowałem) musi działać(08-02-2017, 08:58)namok napisał(a): A gdzie w progamie reagujesz na zmianę tempz? Kod PHP: const int A = 6; Taki program to w zasadzie abecadło. Jeśli z tym masz problemy to najwyższa pora przerobić jakiś kurs np. z forbot.pl RE: Sterownik pompy CO - ferdricco - 08-02-2017 (08-02-2017, 14:38)namok napisał(a):(08-02-2017, 10:48)ferdricco napisał(a):Taki program(trzoszkę go zmodyfikowałem) musi działać(08-02-2017, 08:58)namok napisał(a): A gdzie w progamie reagujesz na zmianę tempz? Ok. Już widzę gdzie błąd popełniłem. Skupiłem swoją uwagę na czymś innym a zapomniałem o przesłaniu informacji na lcd. Dzięki za pomoc namok. RE: Sterownik pompy CO - ferdricco - 12-02-2017 Witam. I znów pojawił się problem tym razem z funkcjonowaniem gotowego urządzenia. Problem w tym że po około 1-2 godzinach pracy system się wiesza. Oba odczyty zatrzymują się na 60*C a pompa albo pracuje albo nie. Poza tym na wyświetlaczu pojawiają się dziwne znaki. Czasem odczyt temperatury na wyświetlaczu zmienia się na zapis z dwóch zer po przecinku na trzy zera po przecinku. Oto finalny kod: Kod: #include <OneWire.h> |