gracjuszek10 Listopad 29, 2023 Udostępnij Listopad 29, 2023 Tak, wiem. Nie dało się edytować, od razu dodałem już odpowiedni. Wydaje mi się, że częstotliwość "odpytywania" czujnika nie ma tutaj wpływu, bo aktualna temperatura wyświetla się zawsze prawidłowo. Maksymalna tak samo. Ale bawię się od 3 tygodni więc wiedzę i doświadczenia za bardzo nie mam. I pomysłu co zrobić, by to zadziałało. Ciekawe jest to, że przekopałem sieć i w kilku znalezionych przykładach kod wygląda w ten sam sposób i podobno działa. Cytuj Link do komentarza Share on other sites More sharing options...
jand Listopad 30, 2023 Udostępnij Listopad 30, 2023 12 godzin temu, gracjuszek10 napisał: aktualna temperatura wyświetla się zawsze prawidłowo Bo problem jest w początkowym ustalaniu TempMin. TempMin odczytywana jest jako druga, zbyt szybko po TempMax, więc otrzymuje wartość 0. Przy dalszych pomiarach temperatura aktualna jest zawsze większa od 0, więc minimalna pozostaje bez zmian. Cytuj Link do komentarza Share on other sites More sharing options...
Santiago Grudzień 1, 2023 Udostępnij Grudzień 1, 2023 Jak inicjujesz zmienną TemperaturaMin tonadaj jej wartość np 50. Bo jak ma 0 to co ma być zmieniane ? Cytuj Link do komentarza Share on other sites More sharing options...
bjrk Grudzień 1, 2023 Udostępnij Grudzień 1, 2023 Kiedy pierwszy raz oczytujesz temperaturę, to bieżąca, maksymalna i minimalna są identyczne. Więc na początku odczytaj temperaturę, potem zainicjuj wartość max i min. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
gracjuszek10 Grudzień 2, 2023 Udostępnij Grudzień 2, 2023 (edytowany) Dnia 1.12.2023 o 12:37, Santiago napisał: Jak inicjujesz zmienną TemperaturaMin tonadaj jej wartość np 50. Bo jak ma 0 to co ma być zmieniane ? Tak też robiłem i nadal nie działało. Ten kod to po prostu jeden z wielu które próbowałem. Problem już rozwiązany. Faktycznie problemem było to, że tuż po resecie czujnik "pokazywał" temperaturę 0 stopni. Wystarczyło pierwsze pomiary opóźnić o kilka sekund. Dziękuję za pomoc. Edytowano Grudzień 2, 2023 przez gracjuszek10 1 Cytuj Link do komentarza Share on other sites More sharing options...
Piot3R Grudzień 13, 2023 Udostępnij Grudzień 13, 2023 Zadanie 7.2 #define LM35_0 A0 //czujnik temp. #define B_MIN 8 //przyciski temp. min. oraz max. #define B_MAX 9 float tempMIN = 150; float tempMAX = 0; byte clock = 0; void setup() { Serial.begin(9600); pinMode(B_MIN, INPUT_PULLUP); pinMode(B_MAX, INPUT_PULLUP); } void loop() { float temp = ((analogRead(LM35_0) * 5.0 / 1024.0) * 100); clock ++; //licznik zegara if(temp < tempMIN) //zapis temp. min. do zmiennej { tempMIN = temp; } if(temp > tempMAX) //zapis temp. max. do zmiennej { tempMAX = temp; } if(digitalRead(B_MIN) == LOW) { Serial.print("Temp. MIN: "); Serial.print(tempMIN); Serial.println("*C\n"); while(digitalRead(B_MIN) == LOW); //blokada ponownego wyświetlania podczas trzymania przycisku delay(25); //zabezpieczenie przed drganiem styku przycisku clock = 0; //reset zegara }else if(digitalRead(B_MAX) == LOW) { Serial.print("Temp. MAX: "); Serial.print(tempMAX); Serial.println("*C\n"); while(digitalRead(B_MAX) == LOW); //blokada ponownego wyświetlania podczas trzymania przycisku delay(25); //zabezpieczenie przed drganiem styku przycisku clock = 0; //reset zegara }else if(clock == 20) //zegar odliczający 2 sec. przy pomocy koncowego delay(100) { Serial.print("Aktualna temp: "); Serial.print(temp); Serial.println("*C\n"); clock = 0; //reset zegara } delay(100); } Cytuj Link do komentarza Share on other sites More sharing options...
VMax 3 lutego Udostępnij 3 lutego (edytowany) Ta treść została wynagrodzona przez moderatora! VMax otrzymał odznakę: "Korektor (za znalezienie błędu w artykule)" Link do biblioteki One-Wire w części #7 wygasł. Sugeruję dodanie linku prowadzącego wprost do biblioteki żeby początkujący nie musieli długo szukać. Edytowano 3 lutego przez VMax 1 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) 6 lutego Udostępnij 6 lutego @VMax dziękuję za zgłoszenie. Link został zaktualizowany 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!