Skocz do zawartości

SOYER

Użytkownicy
  • Zawartość

    911
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    8

SOYER wygrał w ostatnim dniu 21 kwietnia

SOYER ma najbardziej lubianą zawartość!

Reputacja

115 Mistrz

1 obserwujący

O SOYER

  • Ranga
    7/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kryry

Ostatnio na profilu byli

441 wyświetleń profilu
  1. SOYER

    Podłaczenie czujników TMP36GT9Z

    Ok, @marek1707na lini danych czujnika temperatury grzejniki, wpiąłem szeregowo rezystor 220 Om, oraz połączyłem tą linię z masą poprzez kondensator 470nF. Różnicy w skokach nie widzę, jedynie wyniki przeniosły się o kilka stopni w górę, co widać na drugim wykresie. Oczywiście nadal działa filtrowanie programowe na wszystkich trzech termometrach. Czy takie przeniesienie odczytów w trochę inny zakres jest ok? Nadmienię, że teraz odczyty są zbliżone do tych z czujnika sterownika pieca, zamontowane go w prawie tym samym miejscu. Ten pik to czas wpięcia opornika i kondensatora. Oba wpięte 10 cm od wejścia Arduino.
  2. SOYER

    Podłaczenie czujników TMP36GT9Z

    Dokładnie jak piszesz. Wczoraj jak kominowałem z tym kodem to też pierwsze odczyty były z d... Maryny, dopiero później się zorientowałem, że zadeklarowałem zmienną globalną, a na dzień dobry nie ustawiłem jej na zero. Oczywiście w tym przypadku lepiej zrobić ją lokalną przed pętlą, od razu ustawiając ją na "0".
  3. SOYER

    Podłaczenie czujników TMP36GT9Z

    int odczyt; odczyt = 0; for(int i=0; i<10; i++){ if (i) delay(10); odczyt += analogRead(grzejniki); } temp_grzejniki = (odczyt *2)/41-50; Drobiazg do mnie przemawia teraz, racja. Jednak co za róznica czy odczyt=0 jest przed pętlą czy po zakończeniu obliczeń? Chodziło ci tylko o ZERO przy pierwszej pętli? int odczyt = 0; for(int i=0; i<10; i++){ if (i) delay(10); odczyt += analogRead(grzejniki); } temp_grzejniki = (odczyt *2)/41-50; odczyt = 0;
  4. SOYER

    Podłaczenie czujników TMP36GT9Z

    int odczyt; for(int i=0; i<10; i++){ odczyt += analogRead(grzejniki);  delay(10); } temp_grzejniki = (odczyt *2)/41-50; odczyt = 0; Tego ostatniego Twojego drobiazgu nie rozumiem:
  5. SOYER

    Podłaczenie czujników TMP36GT9Z

    int sumaGrzejniki = 0; int tempGrzejniki [9]; for(int i=0; i<10; i++){ int odczyt = analogRead(grzejniki); float VOLT = (odczyt * 5.0) / 1024.0; tempGrzejniki[i] = (VOLT - 0.5) * 10; sumaGrzejniki += tempGrzejniki[i]; delay(10); } temp_grzejniki = sumaGrzejniki; sumaGrzejniki = 0; Oto mi chodziło, tak to jest jak telefonem piszę program... Rozumiem, że lepiej, prościej i szybciej dla procka, tablica zbędna i połowa linijek kodu odpadła:): for(int i=0; i<10; i++){ float odczyt += analogRead(grzejniki); delay(10); } float VOLT = (odczyt * 5.0) / 10240.0; temp_grzejniki = (VOLT - 0.5) * 100; odczyt = 0; Jednak skoro najpierw dzielimy przez 10240 a potem mnożymy razy 100 to po skróceniu faktycznie może być: for(int i=0; i<10; i++){ float odczyt += analogRead(grzejniki); delay(10); } temp_grzejniki = (odczyt *2)/41-50 odczyt = 0; Dzięki.
  6. SOYER

    Podłaczenie czujników TMP36GT9Z

    Chodzi o taką zmianę: float VOLT = (odczyt * 5.0) / 2048.0;  tempGrzejniki[i] = (VOLT - 0.5) * 200;  Choć chyba raczej int sumaGrzejniki = 0; int tempGrzejniki [9]; for(int i=0; i<10; i++){ int odczyt = analogRead(grzejniki); float VOLT = (odczyt * 5.0) / 1024.0; tempGrzejniki = (VOLT - 0.5) * 10; sumaGrzejniki += tempGrzejniki; delay(10); } temp_grzejniki = sumaGrzejniki; sumaGrzejniki = 0; 
  7. SOYER

    Podłaczenie czujników TMP36GT9Z

    Masz rację, używam floata tylko do przeliczenia napięcia, potem już same int-y. Więc mówisz, że powinienem liczyć wszystko na floatach, a tylko wynikową zmienną mieć w pełnych stopniach(dokładniej mi nie potrzebne). Takie przeliczanie zrobi różnicę? Zresztą sprawdzę, to tylko zmiana rodzaju zmiennych... Dotychczasowy kod: void term_grzejniki_maxmin_reset(){ int sumaGrzejniki = 0; int tempGrzejniki [9]; for(int i=0; i<10; i++){ int odczyt = analogRead(grzejniki); //odczytanie wartości z czujnika float VOLT = (odczyt * 5.0) / 1024.0; //przeliczenie odczytanej wartości na napięcie w woltach (dla podłączenia pod 5 V) tempGrzejniki[i] = (VOLT - 0.5) * 100; sumaGrzejniki += tempGrzejniki[i]; delay(10); } temp_grzejniki = sumaGrzejniki/10; sumaGrzejniki = 0; DateTime now = czas.now(); if (temp_grzejniki > temp_grzejniki_max) { temp_grzejniki_max = temp_grzejniki; dzien_temp_grzejniki_max = now.day(); miesiac_temp_grzejniki_max = now.month(); rok_temp_grzejniki_max = now.year(); } if (temp_grzejniki < temp_grzejniki_min) { temp_grzejniki_min = temp_grzejniki; dzien_temp_grzejniki_min = now.day(); miesiac_temp_grzejniki_min = now.month(); rok_temp_grzejniki_min = now.year(); } }
  8. SOYER

    Podłaczenie czujników TMP36GT9Z

    Hej, co spróbowałem zrobić to programowe uśrednienie pomiarów. 10 próbek, każda co 10ms. Chodzi tak od paru godzin. Odczyty zdecydowanie stabilniejsze. Skoki o 1 stopień. W tym tygodniu spróbuję podłączyć te fizyczne filtrowanie...
  9. Ciekawe czy o tym słyszeliście. Programista, to już chyba nie zawsze jest bezpieczna praca przy biurku w fotelu. https://www.cyberdefence24.pl/atak-izraela-na-cyberjednostke-hamasu-takich-incydentow-bedzie-coraz-wiecej-komentarz Wracając do poprzedniego posta, to kto mi to zbuduje?? :))
  10. Mała errata do czujnika poziomu węgla. Przy pełnym zbiorniku czujnikowi zdarzało się mieć pewien rozrzut w odczytach, jeśli węgiel był w odległości 2-3 cm nawet wariacje... Pomyślałem, że może problemem jest kształt i struktura brył, które dziwnie odbijają ultradźwięki i czujnik łapie echo po kilku "rykoszetach". Chyba miałem rację, bo rozwiązaniem okazała się... kartka papieru położona na węglu. Teraz odczyty pewne i stabilne.
  11. SOYER

    Podłaczenie czujników TMP36GT9Z

    Czy z termistorami też występują podobne problemy jak mam z TMP36, czy to "łatwiejsze" w implementacji czujniki temperatury?
  12. SOYER

    Podłaczenie czujników TMP36GT9Z

    Też pomyślałem o programowym wygładzeniu tego wykresu. Z innej beczki, co to za czujnik? Był w komplecie jako zewnętrzny temperatury do mojego pieca... :
  13. SOYER

    Podłaczenie czujników TMP36GT9Z

    Niestety w tym tygodniu nie dam rady założyć tych kondensatorów by zobaczyć różnicę... Wklejam informacyjnie wykresy z tych trzech czujników, drugi bardziej dokładny z automatycznym zakresem.
  14. SOYER

    Kedrigern - czyli głos dla robota

    Nie opony, tylko wykładziny samochodowe i folie;). "Witam szanownego właściciela, aktualna temperatura na kotle to 65 stopni, zawór czterodrożny na grzejniki zamknięty, temperatura CWU to 50 stopni. Proszę nasyp mi pokarmu, mój zasobnik jest prawie pusty. Dziękuję"
  15. SOYER

    Kedrigern - czyli głos dla robota

    Nie wiem czy tam zaglądałeś ostatnio, ale też "ulepszam" swój piec, na węgiel;) Jednak piec gadający do mnie, po moim pojawieniu się w kotłowni, to byłoby coś;)
×