Chyba nawet lepiej całkiem przenieść kawałek opisany jako "konwersja temp dla wszystkich dsow" przed pierwszy odczyt. Bo Twoim sposobem konwersja będzie (niepotrzebnie) wykonywana dwukrotnie. Ale ja nie jestem "Bascomiczny", więc uprzedzam, że mogę się mylić ;)
Problem dotyczy możliwości utraty zawartości EEPROM dla układów DS18B20, DS18S20, DS1822 (Rev. B7): 1. Występuje bardzo rzadko i w specyficznych warunkach. 2. Nie można dokładnie określić partii towaru narażonej na błąd. 3. Utrata zawartości EEPROM-u powoduje stratę kalibracji i wartości rejestrów TH i TL 4. Utrata zawartości może nastąpić tylko w trakcie...
Cóż coś za coś. 1w opiera się na różnicach czasu i każde zakłócenie powoduje błędy.
LChucki napisał: Nie widziałem bibliotek na Arduino, które sprawdzałyby czy po zakończeniu RESET faktycznie magistral przyjęła poziom "H", Wyżej wymieniona przeze mnie biblioteka również to sprawdza - funkcja readScratchPad(). Nie sprawdza, a jedynie odczytuje. Co więcej, nigdzie przy odczycie temperatury nie ma juz sprawdzania CRC, więc poza stratą...
Może zamiast dochodzić czy zawyża czy nie zawyża? co się dzieje? - pokaż po prostu frgment kodu odpowiedzialny u ciebie za odczyt temperatury i jej konwersję - bo może tu masz nadal błędy?
No niestety podmieniłem biblioteki i nic same błędy
deklaracja funkcji u08 ds18b20Setup(dallas_rom_id_T* rom_id, u08 resolution, s08 alarm_low, s08 alarm_high); u08 ds18b20Start(dallas_rom_id_T* rom_id); i błędy ds18b20.h:56: error: expected ')' before '*' token ds18b20.h:61: error: expected ')' before '*' token o co chodzi??
tam nigdzie nie ma czegos takiego jak "main.c", jeżeli możesz to zerknij na ten przykładowy makefile Jezeli dodam to w tej: SRC = $(TARGET).c ; ds18b20.c linijce to wywala mi takie błędy: ds18b20.o process_begin: CreateProcess((null), ds18b20.o, ...) failed. make (e=2): Nie można odnaleźć określonego pliku.
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
Mógłbyś chociaż napisać, jakie dokładnie błędy występują.
Mam napisany program do obsługi sterownika do akwarium. Program działa na Atmega 328P i ma obsługiwać 3 czujniki ds18b20, układ rtc ds1302, 5 przycisków do sterowania, przekaźnika do włączania światła o określonej godzinie oraz wyświetlacz wyświetlający temperaturę oraz godzinę o której światło ma się wyłączać. Wyświetlacz na sterowniku sh1106. Póki...
Tuta masz błąd. [syntax=c] void POKA (temp0) [/syntax]
Po prostu nie wywołuj SetChannel, jeśli nie została odczytana żadna nowa wartość. Ponadto, jeśli chcesz zgłaszać błędy, to może moglibyśmy wprowadzić jakiś rodzaj tematu łańcuchowego do publikowania błędów? Dodaj go również do Home Assistant Discovery. Jeśli na przykład wystąpi problem z DS18B20 (brak czujnika), moglibyśmy po prostu opublikować błąd...
Przepraszam poniosło mnie A czy mógłbyś poprawic mi inne błędy?
Witam ! Podłączyłem do Atmega16 3 sztuki DS18B20. Każdy na osobnym przewodzie, od 2 m do 15 m. Oczywiście linia do transmisji podciągnięta do plusa przez 4k7. Po podłączeniu czwartego czujnika, pojawiąją się ciągłe błędy w odczytach temperatury. Pojawiają się nagle, albo po dwóch dniach. Wystarczy odłączyć jeden z czujników i wszystko wraca do normy....
Skoro dwa czujniki widzi to ja bym spróbował znaleźć te dwa które widzi. Źródłem problemu może być też budowa portu wyjściowego na TX, dla 1wire musi być otwarty kolektor/dren, inaczej port sam w sobie będzie wprowadzać błędy.
ok zaprogramowało tylko chyba mam jakieś błędy w kodzie bo nie wyświetla temperatury, Pisze samo "Termometr" a czujnik temp mam podłączony. Co może być nie tak?
Z własnego doświadczenia wiem że czujniki są stabilne. A nie tak jak piszesz ze można mieć 5 różnych odczytów w krótkim czasie. Używam w systemie pomiarowym 70 szt DS18B20 odczytywane są co 15 sekund i wyniki są stabilne. Akurat u mnie nie ma wpływu powiew powietrza czy coś podobnego ponieważ czujniki są wbite w "doniczki" i mierzą temperaturę gleby....
Witam. Czy włączyłeś optymalizację kodu: -Os ? Warto też dołączyć bibliotekę: "math.h" ponieważ używasz zmiennych double, zmniejszy to objętość kodu wynikowego; i zmiennym nadać volatile. Czy dobrze skonfigurowałeś projekt? Poniższe : char str Dodano po 12 Na temat "dtostrf()" i "sprintf()" poczytaj ich opis w AVR-Libc np. na tej stronie https://savannah.nongnu.org/projects/avr...
pawel-jwe napisał: Spróbuj skompilować to w AVRStudio, tylko nie zapomnij zainstalować Winavr .. Niestety program nie ma nic wspólnego ani z AVRStudio ani z WinAVR. Wybaczcie, mój błąd ;) myślałem że chodzi o uC a nie PC.
Najlepiej będzie jednak jak pokażesz kod. Algorytm odczytu ROM-adresu rzeczywiście powinien wyglądać tak jak opisujesz. Być może uda się dostrzec jakieś błędy w samej funkcji.
Jesteś jednym z pionierów bo sprzęt drogi i mało popularny, więc sam musisz sprawdzić co się dzieje. Pierwsze co bym sprawdził, czy piny IO działa OK - miganie LED, potem kup sobie jakiś analizator Saleae (klony na Allegro kilkadziesiąt PLN), w programie Saleae Logic masz dekoder 1-Wire, możesz podejrzeć co się dzieje na magistrali, czy to Arduino nie...
Wrzuć kompletny projekt.
Blad odczytu z DS18B20 objawia się odczytem temperatury -127 st., tyle, że może to również oznaczać błąd czujnika, brak łącznoeci itp., więc nie jest to jednoznaczne z brakiem zasilania. Pozdr
Masz źle podłączone zasilanie w procku. Do wyświetlacza musisz dodać potencjometr do regulacji kontrastu. Nie wiem też czy do 1W nie trzeba rezystorów podciągających(przejrzyj dokumentację ds18b20). Schemat jest niekompletny bo samo pokazanie label nie zrobi Ci padów do podłączenia zasilacza, gniazda programatora i wyświetlacza.
WItam Najlepiej zrób tak: linie DQ podłącz do pinu procka i podciagnij ją rezystorkiem 4,7kohm do +5V a mase do masy. Nie podłączaj zasilania czujnika. Ja miałem takie problemy własnie gdy wykorzystałem techlogię 2wire taka jak ty. Gdy zmieniłem tak jak Ci napisałem wszytko było już ok. Pozdrawiam Shevu
Podłącz klasycznie 3 przewodami na próbę z 5V. Ja straciłem cierpliwość do dwuprzewodowego łączenia tych termometrów. Przy 7 sztukach w sieci jeszcze jakoś tam mi to chodziło (pojawiał się błąd 85C). To nie błąd tylko padnięcie zasilania. Jak dodałem 8-y to wszędzie 0C Oprogramowanie do du.... bo na 100% błędna była CRC. Czy pomiar nie był przypadkiem...
Mam identyczny układ i opory są takie same, sprawdź czy masz wszystko opdowiednio ustawione w procku, czy przypadkiem ddr nie jest źle ustawiony, no i czy polaryzacja jest OK. W większości przypadków za takie zachowanie odpowiadają głupie błędy, np. zwarcie na ścieżkach
Niestety DHT11 nie jest sprzedawany w formie metalowego próbnika. Ja potrzebuje przymocować go do metalowych pionów obiegu ciepłej wody. Czy możesz mnie jakoś nakierować którą bibliotekę powinien zastosować żeby to działało? Alby czy da się pominąć protokół one wire w przypadku podłączonego jednego termometru DS18B20?
wprowadziłem następujące zmiany w układzie: - usunąłem LM2596. wemos zasilam od razu z 5v. resztę osprzętu zasilam z 3.3v z wemos - doinstalowałem brakujące 3.3v do sterownika silnika. Po zmianie poprawił się odczyt z d218b20. Teraz już nie wypadają i są cały czas dostępne. Niestety dalej są błędy: obrót silnika po wystartowaniu układu, restart układu...
Zapewne źle napisane oprogramowanie - obsługa czujnika temperatury powoduje opóźnienia lub błędy w obsłudze wyświetlacza, albo na odwrót.
No przeglądałem. Prawie wszystko co jest w przykładach bibliotek arduino jest wysyłane na serial-a. Nie mogę sobie poradzić z wyłuskaniem tych wartości do zmiennej, jakbym tego nie zapisał to zawsze błędy.
Racja. Mój błąd.
Wg. schematu Duch__ ruszył za 2 razem bo za 1 razem miałem błędy programowe ale to z mojej winy, z 6 oceniam na 6+.
Zamiast kombinować odczytuj temperaturę + CRC. Jeśli czujnik jest niepodłączony to odczytasz same 0xFF, czyli CRC będzie nieprawidłowe dla odczytanego ciągu bajtów. Zresztą także podczas normalnej pracy należy sprawdzać CRC przesłanych danych, gdyż możesz wykryć w ten sposób niektóre uszkodzenia czujnika, lub zakłócenia transmisji.
Jeszcze wprowadziłem pewną modyfikację,tak aby kolejny wentylator włączał się dopiero przy wyższej temp. Jest to zrobione poprawnie? To ci może pracowac; czy jest poprawnie?............ Owszem, wentylatory bedą włączac się stopniowo, ale wyłączenie ich nastąpi jednocześnie po osiągnięciu temp poniżej 'min'. Ten fragment programu powyżej może powodowac...
Dołącz i edytuj plik config.h z folderu, w którym są źródła tego przykładu. W tym pliku jest zdefiniowany port i pin. Ustaw odpowiednio dla Twojego układu.
Znaczy i to i to. Po pierwsze na czas samego wysyłania komendy interfejsem 1wire należy zablokować przerwania (bo po co prosić się samemu o błędne pomiary), a kontrola sumy CRC jest obowiązkowa tak czy inaczej, bo ona pozwoli nam wyeliminować błędy związane m. in. z zakłóceniami.
Wyjąłem wyświetlacz, aby zobaczyć, co kryje się pod nim. HC32F005C6PA - to chyba będzie MCU, a 74HC595D - to driver do wyświetlacza. https://obrazki.elektroda.pl/4780271500_... Kwestia połączenia z chmurą też już się wyjaśniła, mój WBR1 jest uszkodzony, bo dostał zasilanie 5 V. Przerabiałem zasilanie DS18B20 na 5 V, bo sterownik jest...
No to jest spięcie- musisz znaleźć gdzie. Odłącz DS i włacz zasilanie. Jak będzie spięcie- to przewody. A jak bez DS pomierzysz napięcia i będą dobre a po wpięciu DS zwarcie- no to niestety... Układy elektroniczne są wrażliwe na błędy.
Według not katalogowych nie powinno się przekraczać temperatury 100°C w trybie parasite. U mnie błędy pojawiały się już przy 80-85 stopniach.
Nie wiem co rozumiesz przez stwierdzenie: " aby regulacja temperatury była zależna od czasu", jak i kiedy realizujesz obsługę przerwań ale błędy odczytu temperatury prawdopodobnie są wynikiem zakłócania cyklu odczytu ds-a przez przerwanie od timera. Poczytaj o zależnościach czasowych 1-wire. Jest to interfejs asynchroniczny i musisz zapewnić aby poszczególne...
Łączę to w ten sposób: https://obrazki.elektroda.pl/9438237900_... Czyli źle. Przeanalizuj to co napisałem o pullup i wyniki pomiaru multimetrem. Sprawdź jakie napięcie mikrokontroler traktuje jako poziom niski a jakie jako wysoki. Wskazówka: Zobacz w innych projektach jak włącza sie klawisze i jak je obsługuje. Prawie zawsze napięcia...
Witam Łatwiej transmitować sygnał cyfrowy na odległość, ewentualne błędy wykrywane mogą być przez CRC, przy czujniku analogowym obróbka zaszumionego sygnału jest kłopotliwa a kalibracja utrudniona. Piotr
excray: Powinna i zapewne zwraca, jeśli 12 górnych bitów temp jest wcześniej jedynkami. zweinstein: Pierwszy błąd masz w odczyt_DS() - temp1 i temp2 powinny być typu uint8_t. Kolejne błędy masz w funkcjach, których nie chcesz pokazać.
ale to jest procedura do DS18S20, który różni się nieco formatem podawanego wyniku od DS18B20 ;)
Tak mam je dodane, mimo to wywala błędy PS: Posiadam je z tej samej strony, którą podałem wyżej
Witam, Najpierw należy definiować założenia projektu czyli: - jak często będzie wykonywany odczyt temp. - w jaki sposób będzie wyświetlana odczytana temperatura - podać na jakim zestawie startowym będzie uruchamiany itd. Oczywiście należy zacząć od przeczytania karty katalogowej DS18B20. Następnie należy pokazać co się zrobiło a forumowicze pomogą poprawić...
Witam, Uaktualniłem Arduino do wersji 2.2.1 i teraz nie mogę skompilować małego programu dla DS18B20 - na kilka czujników. W poprzednich wersjach działał dobrze i bez problemów wgrywał się na ESP32. Compilation error: invalid conversion from 'OneWire*' to 'uint8_t' {aka 'unsigned char'} W kodzie nic nie zmieniałem - proszę o podpowiedź dlaczego są błędy...
Najlepiej było by się pozbyć błędów, a nie tylko nie brać ich pod uwagę. Błędy co 15 sekund to chyba trochę za często. Jak sprawdzić czy działą CRC?
Mogę naprowadzić: zapominasz o kodzie, który widziałeś, a który korzysta z delay() i robisz wszystko od nowa na przerwaniach. Problem w tym, że przerwanie związane z obsługą DS18B20 powinno wywłaszczać przerwanie wyświetlacza, co na ATmega w zasadzie jest niemożliwe. W związku z tym wypada rozejrzeć się za obsługą DSa przy użyciu UARTa, co daje pewne...
... kurczę wykorzystałem idealnie zerżnięte procedury z noty MAXima http://www.maxim-ic.com/appnotes.cfm/an_... Spróbuj tych procedur - również od MAXIM-a :D
Próbowałem już wszystkiego DS-y zawyżają temperature na 100% lub błędy w kodzie.(3 miesiące z tym walcze) zamówiłem kolejne dwa DS-y.
Skoro program działał to może coś z ustawianiem taktowania uP się "wysypało" ? Jako , że tutaj czasy opóźnień są strategiczne, to podczas programowania (w Makefile) musisz podać prawidłowy zegar taktujący. Może tutaj jest błąd?
Podłączenie czujnika sprawdzane kilka razy więc błędy być nie powinno, po jego odłączeniu wyświetlacz wskazuje -------- czyli dostajemy PRESENCE od czujnika.
I i $crystal=
można prosić o jakieś sugestie ?? może źle ustawiam parametry komunikacji ?? w sumie pierwszy raz w życiu pisze coś pod Rsa wiec dlatego to tak wygląda :) Dlaczego te dane nie nadchodzą ?? też miałem własnie takie podejrzenia tylko senk w tym , że kompletni niewiem gdzie jest błąd :|
to ma być wyświetlanie 4 temperatur na raz wraz z napięciem, bez żadnych przycisków :) a co do wyświetlacza to napewno trzeba zmienić, tylko nie wiem który byłby lepszy 4*16 czy 4*20.. przepraszam za błędy, już kod źródłowy poprawiłem, kompiluje się:)
Witam. Po pierwsze napisz w jaki sposób podajesz stan wysoki na linie IO. Po drugie niezapominaj o czasie min 750ms zwłoki potrzebny do konwersji. Po trzecie sprawdź czy nie występują błędy w czasie komunikacji. To tyle na początek. pozdrawiam
[syntax=c]/* Plik "main.c" PD4,PD5,PD6,PD7 - przyłączone czujniki ds18b20 PA0-PA6 - wyswietlacz LCD */ #include <stdio.h> #include <avr/io.h> #include <util/delay.h> #include "hd4478.h" #include "ds18b2.h" #include <avr/interrupt.h> char str[20]; char inout[20]=" IN OUT "; /* Zmienna przechowuje aktualną wartość temperatury */...
Dziękuję za pomoc. Problem rozwiązany. Błędy były powodowane przerwaniami obsługi wyświetlacza. Po kilku zasugerowanych modyfikacjach wszystko działa bez zarzutu. Pozdrawiam, Łukasz
Pomyliłeś podłączenie masy i +5V przy LCD . Brak zasilania procka . Już poprawiłem i dokończyłem schemat. Zamieszczam tutaj plik mojego schematu, może ktoś przejrzy i wyłapie ew. błędy. W skrócie: Do mikrokontrolera PIC16F877 podłączone zostało: -LCD HD44780 -Dwa czujniki temp. DS18B20 -Czytnik kart MMC -Czujnik ciśnienia atm. MPX4115 Do stabilizacji...
Teraz wiesz dlaczego musiałeś pozamieniać te elementy? Obecnie bez problemu połączysz te elementy ze ścieżkami które będziesz prowadził na płytce za pomocą narzędzia Route . Poniżej małe błędy które musisz jeszcze poprawić http://obrazki.elektroda.pl/8127499900_1... GND powinno być skierowane ku dołowi. Sygnał z PD2 pokrywa symbol GND...
Kolego emarcus, mógłbyś mi ten kod doprowadzić do poprawnej postaci i wystawić tu na elektrodzie? Przeanalizował bym sobie swoje błędy i później może bym ich nie popełniał przy pisaniu następnych programów.
Proszę o sprawdzenie poniższego schematu, w szczególności ERC Errors. Nie bardzo wiem jak je skorygować, być może są błędy przez co stabilizator się grzeje (bez włożonej atmegi z wylutowanymi DS18B20). Może ktoś się pokusi o zaprojektowanie płytki dwustronnej ? Chciałbym porównać jak robią to lepsi :-)
Witam, 1. Niewiele więcej miejsca zajęła by ci ATmega8 lub mega48 lup podobny w obudowie TQFP32, a one mają sprzętowy USART który przydał by się tu do RS485 2. Do czego jest ta zworka JP2? Zwiększ wartość rezystora R2 podciągającego 1Wire. Na co najmniej 1k (optymalnie 2,2-4,7k) 3. Staraj sienie rysować połączeń pod kątem 45 stopnie. Przy większych...
Witam. Tu ktoś miał co nieco podobny problem. http://forum.ep.com.pl/viewtopic.php?p=8... Okazało się że wartość rezystorów podciągających R2 i R3 wynosząca 4,7k dla niektórych czujników DS18B20 jest za wysoka. Jeżeli występują błędy pomiaru temperatury należy zmniejszyć wartość rezystorów R2 i R3 do 2,2k.
W nocie katalogowej tego układu jest podany czas jaki maksymalnie może upłynąć od wysłania rozkazu konwersji temperatury do podania strong pullup. Stosowałem tę metodę na avr bez żadnych problemów. Sprawdź czy naprawdę procesor wystawia duży prąd na port. Nie napisał kolega nic o tym co oznacza stwierdzenie "nic takie rozwiązanie nie daje". Nie wiadomo...
Witam. Mam problem z układem ESP8266 V2 od Amici + DS18B20. Układ działał około 2 lat bez żadnych problemów. Ostatnio zaczeły pojawiać się po pewnym czasie, błędy, które wykrzaczały cały układ. Nadmieniam, że układ składa się z 5 termometrów i płytki. Prosty temat do odczytu temperatur. Teraz ciekawostka, otóż problem nie pojawia się w ogóle do temperatury...
https://obrazki.elektroda.pl/5078506600_... Opublikowany niedawno raport wskazał, ze większość sprzedawanych poza oficjalną dystrybucją układów DS18B20 może być podróbkami lub kopiami, wykonywanymi przez inne niż Maxim firmy. Omawiany układ to prosty, cyfrowy sensor temperatury z interfejsem 1-Wire. Jeśli kupowaliście go na portalach...
(at)Grzegorz_Ni Skoro masz problem z komercyjnym modułem, to chyba lepiej zapytać o rozwiązanie producenta? Skoro na 30m nie działa, po podłączeniu kablem rekomendowanym przez Dallas, twórcę standardu 1-wire, to znaczy, że skopany jest kupiony kontroler - błędy elektryczne, lub softwarowe. Chyba, że producent wprost określa, że moduł obsługuje tylko...
Po pobieżnym przyjrzeniu się programowi nasuwają mi się takie wnioski. 1. Zadeklarowałeś wejścia, ale zostawiłeś je jako "pływające". Powinieneś port-y przycisków podciągnąć do plusa, czyli ustwić stan wysoki =1 2. Nie widzę deklaracji dla magistrali 1wire dla DS-ów i całej procedury odczytu i zapisu danych do pamięci. Być może to celowe na tym etapie,...
Program digitemp 3.6.0 skompilowałem w końcu na samym routerze (cross kompilacja wywalała tylko błędy). Niby działa, ale nie wykrywa DS18b20. Ten sam program na Linux Mint wykrywa go bez problemu. Zauważyłem, że cross compilator optware na moje Tomato dorzuca dwa patche przed kompilacją. Po ich ręcznym dorzuceniu do pilków źródłowych Digitemp 3.6.0...
Ale jak pisałem ten projekt Duch ma błędy i forumowicze mają same problemy. W Twoim przypadku było kilka błędów które się na siebie nałożyły. 1. to nadpisywanie zmiennej ss string as 6(za krótka) powinna być 7 lub 8 2. złe pozycjonowanie napisów na LCD 3. złe podłączenie DSów (zasilanie) to że u innych działa to nie znaczy że jest dobrze) jeśli miałbyś...
Nie, program zadziała nawet przy odczycie od razu po convert_t. Otóż ds w rejestrze cały czas trzyma dane, a są one zmieniane tylko po pomiarze, czyli po ok. 750ms od polecenia konwersji(przy tej resolution). Wtedy jednak narażamy się na błędy odczytu, gdy trafimy na moment update rejestrów ds'u.
Jak ktoś ma zacięcie to proponuję dwa DS18B20 użyć do pomiaru wilgotności jako czujniki suchy mokry i z nich wyliczyć wilgotność. To naprawdę działa. Porównywalem odczyty z higrometrami które były wzorcowane i błędy były 1%. Nie testowałem pomiarów wilgotności poniżej 10 stopni i powyżej 40. Było mi to nie potrzebne. Wszystko rozbija się tylko o przepisanie...
Witam, myślę że program resetuje się i nie wychodzi z setup(), co łatwo sprawdzić. Tak na pierwszy rzut oka. Spróbuj dać wdt_reset() na początku, zaraz za wdt_enable(WDTO_1S). Jeśli używane funkcje zwracają błędy, to powinieneś je odczytać. Z czegoś takiego raczej zrezygnuj: "regBank.set(40002, (float) (czujnik_2.getTempC()*10));". Pozdrawiam.
Witam, Potrzebuję porady co zrobić? Zbudowałem sterownik odpowiadający za pracę kotłowni + solar. Sercem jest Atmega 328 połączona z tabletem ARV + VisualBasic. Chcąc zabezpieczyć kotłownię i solara zainstalowałem aku 24V 225Ah i zakupiłem do niego przetwornicę firmy Volt pełny sinus. I problem. Po przełączeniu się układu na zasilanie awaryjne nie mam...
Przy transmisji 1-wire też mogą wystąpić błędy, po to sie sprawdza CRC żeby wykluczyć ich występowanie. W przypadku 1-wire bardzo istotne jest dobre dobranie czasów wiec błędy mogą wystąpić. A tak poza CRC to ile dajesz DS-owi na obliczenie temperatury? Jaką rozdzielczość ustawiłeś w DS18B20 ? Standardowo jest 12 bitów nie tak jak w DS18S20, DS1820...
Rzeczywiście nie zauważyłem w nocie katalogowej że to widok od dołu. Dziś rano kupiłem kolejny czujnik ale podłączyłem go na wszelki wypadek inaczej (znalazłem schemat) czyli dwie zewnętrzne nóżki do masy a środkową do uC oraz przez rezystor 4,4k do zasilania. Program Stefana działa :) Wielkie dzięki koledzy bardzo mi pomogliście:) PS Niektórzy dopiero...
nie mi chodzi czy wiesz co ty ustawiasz ? (a gdybys wiedzial co ty robisz to by tego tematu nie bylo) napisalem ci kod sprawdz czy dobrze napisalem poza tym brakuje config lcd Błędy w Locate co to znaczy Locate 12 , 2 ?
po pierwsze wez w palce czujnik i sprawdz czy temperatura sie podniesie po drugie wstaw do programu funkcje error bo jezeli wskazuje 15 to znaczy ze odczytales z czujnika temperature 15 stC
...Cały mój kod pochodzi z tej strony: jaros85 :arrow: Jak już przepisujesz cudzy kod, to przepisuj bezbłędnie, a jeżeli chcesz go sam zmodyfikować , to MUSISZ rozumieć co robisz. Oto źródła Twoich kłopotów: Twój kod //Wysłanie całego bajtu //... pom = wartosc>>1; //... } } w oryginale //Wysłanie całego bajtu //... pom = wartosc>>i;...
Stany nie ustalone i inne dziwne rzeczy . Dmucham na zimne jak to elektryk a nie elektronik . Ksarim podesłał mi kod działający ale po modyfikacjach portów LCD i 1Wire wyświetla mi Temp. : 0 °C (nie znam się ale po mojemu nie widzi ds ale powinien pokazywać jak zobaczy ds'a 82,5 o ile dobrze pamiętam ) PS czytam Datasheet'y :D Zapodałem oscyloskop i...
oczywiscie ze podciagnołem, jak na razie z jednej strony przy wyswietlaczu 3,3k ale czytałem o 1k z obu stron Dodano po 5 Moment bo teraz nie kminie rozumiem że może będą błędy w transmisji danych ale nie powinien się sterownik od tego zawieszać.
Zacznij wszystko od początku,najpierw napisz dobry program dla JEDNEGO - DS18B20. Przeczytaj temat i odkryj, że to już robiłem. Błąd leżał w nieodpowiedniej wartości rezystora podciągającego. Najpierw próbuj odpowiedzieć sobie dlaczego dana funkcja(rzecz) nie działa , a dopiero gdy faktycznie nie potrafisz odpowiedzieć sobie na zadany temat pytaj kolegów...
Witaj! Co masz na myśli mówiąc "jednocześnie"? Masz na myśli immobiliser z termometrem w jednym? :) Ten przykład tutaj działa :) To niewątpliwie, bo kiedyś go uruchomiłem ... z pełnym sukcesem, tak więc musisz próbować :) Albo pisz co jest niejasne, co Ci nie działa, albo jakie masz błędy ... Ja teraz zmagam się z zegarem :) Chcę zrobić zegar ATMEGA8+PCF+właśnie...
ok bledy naprawione ale zwraca mi zmienna 0.0 z termometru może źle zainicjowany jest pin do dq i procesora bo używam go do termometru i jednocześnie wiatraka a moze mam jakis błędny odczyt... na modulestartowym i w artykule do niego przeznaczonym pisze ze termometr to ds1820 na nim wygrawerowane jest DALLAS ds18b20 jest to roznica ktora moze spowodowac...
Mi to wygląda na błąd w oprogramowaniu.
Ta linia powinna być w przerwaniu Wtedy będzie miał błędy odczytu termometru gdy DS18B20_STOPINTERRUPTONREAD != 1 a gdy DS18B20_STOPINTERRUPTONREAD == 1 to multipleksowanie będzie działać źle. Ten kod jest słaby. Z najważniejszych błędów to, nie sprawdza crc, zawiesza na długo przerwania a wystarczy na czas transmisji bitu gdy wystawiane jest 0 na...
Nie należy ignorować tylko stwierdzić co jest powodem odczytywania bzdurnej temperatury, brak presence, brak danych, złe crc (o ile biblioteka je czyta i sprawdza co jest rzadkością) i zaradzić temu jeśli się da. P Całkowicie się zgadzam. Pisząc "ignorować" miałem bardziej na myśli bardziej to, żeby tego nie wyświetlać ;) Sądzę, że jeżeli takie błędy...
1. W filmie było napisane, że czujnik temperatury to DS18B20. A jak jest zrobiony? Nota katalogowa i wszystko jasne :) 2. Po co kolega wytyka mi "błędy", jeśli sam nie wie co pisze? - Nóżka "0" nie jest wykorzystywana, bo też po co? Proponuje zapoznać się z przekaźnikiem z naciskiem na jego sposoby podłączania i wyprowadzenia..
Nie chce być nie uprzejmy albo coś ale masz tyle błędów w schemacie, że najlepiej zrobię jak odeśle Cię do artykułow na ten temat.: http://mikrokontrolery.blogspot.com Poczytaj trochę i popraw ten schemat. Jeśli chodzi o stabilizator to zapewne pomyliłeś wyprowadzenia i dlatego otrzymujesz takie napięcie. Może jakieś zdjęcie pokaż? Wtedy będziemy mogli...
Daleki jestem, aby moje rady były wyznacznikiem wiedzy, ale w moim projekcie, którym też miałem dalasy też mam problemy z danymi z kosmosu. Co do twojego pytania czy przerwania mogą przeszkadzać w odczycie? Z mojego skromnego doświadczenia tak. U mnie przy projekcie po dodaniu obsługi przerwań zaczęły występować błędy również gdzieś na forum znalazłem...
Wgrywając program w programie obsługującym programator zaznacz opcję weryfikacji aby mieć pewność że wgrany program jest zgodny z tym co chcesz wgrać i nie ma żadnych błędów.
Jeszcze gorzej. "v1Wire_SendBit" to już zupełnie jakaś porażka. Może na przykładzie Ci wytłumaczę. [syntax=c]DS_0; //presence _delay_us(500); DS_1; _delay_us(65); j = DS_IN; _delay_us(300); return j[/syntax] Na końcu tej funkcji Presence jest czas 300uS. Znajdź go u siebie. A teraz pomyśl, zrobiłeś presence i już bez czekania przechodzisz do wysyłania...
Wiem, że programator USBASP kosztuje 20zł lecz jeśli posiadam już arduino to chciałbym je wykorzystać. Podejrzewam że jest coś źle z bibliotekami do termometru i do lcd ponieważ błędy pojawiają się takiego typu: sketch_nov24b:265: error: 'ds18b20_Read' was not declared in this scope lub strasznie dużo jest podobnych błędów do: C:\Users\xxxx\Documents\Arduino\librarie...
Pisanie programu to nie wszystko, trzeba jeszcze umieć usuwać błędy i go testować Sprawdź czy teraz coś Ci wyświetli: [syntax=c]ds18b20_pad[0] = 0x90; ds18b20_pad[1] = 0x01; temp = (ds18b20_pad[1] << 8) | ds18b20_pad[0]; if(temp < 0) temp = -temp; temp >>= 4;[/syntax]
Z przeglądarki (z palca) działa, ESP widzę w routerze, ale Domoticz nie przyjmuje. Nie umiem odczytać, co tak naprawdę ESP wysyła :(
Być może, że to jest jeszcze starsza wersja niż 5.2 i dlatego masz takie problemy. Gdzieś były wystawione wsady do wersji 5.0 i 4.7, ale teraz to trudno znaleźć. Jak coś znajdę w swoich zasobach, to wystawię. znalazłem bin wersji 9.52, teraz poszło dalej, tylko teraz buzer pika i wyświetla błędy, ale jest lepiej, jutro ciąg dalszy :) z bina uzyskałem...
ds18b20 błędy ds18b20 błędy odczytu termostat ds18b20
instrukcja magnetowid toshiba cisco access pointa prądnica pierścieniowa
Jak przywrócić ustawienia fabryczne w telewizorze Philips? Słaba głośność mimo dobrego sygnału - przyczyny i rozwiązania