Pomóż mi rozwiązać PIC16f84 termometr z czujnikiem DS18B20

B

Bogdan123

Guest
Witam ponownie. I zbudował termometr na tej stronie www.coolcircuit.com/project/digitemp/ , ale nie działa poprawnie. Wyświetlacz LCD pokazuje tylko mnie TEMP: ale nie pokazuje czujnik temperatury. Pragnę zauważyć, że czujnik jest DS18B20. Czy ktoś może mi pomóc, aby zobaczyć co nie działa prawidłowo?
 
mam temp na wyświetlaczu LCD i 1 kontroler o \\ p przekaźnik throue. jej na podstawie pic 16f 676. jeśli req. pl mnie na mail [{shivendrakumarsahu77@yahoo.com} {shivendrakumarsahu@gmail.com}]
 
Witam, obwód pokazane jest za pomocą czujnika DS1820 Zakładam, że masz na myśli masz czujnik DS18B20, choć vitrually identyczne B wersja ma większą rozdzielczość itp., które mogą być przyczyną tego, że nie działa. Ilekroć widzę zdjęcia 16F84 chip używany zwykle zakładają obwodzie ma 10 lat, więc wiele z wykorzystaniem komponentów może być przestarzałe. Chips jak 16F628 to nowoczesne równowartość 84. Czujniki te są trudne do Dallas dostać pracę w najlepszych czasach, to dlaczego nie stosować skromnym NTC, bardzo tanie i dostępne, a także wiele pic obwodów w sieci.
 
W main (), spróbuj \\ n z drugiej printf () połączenia, więc staje się kod:
Code:
 lcd_putc ("\\ f"); printf (lcd_putc, "Temp"); printf (lcd_putc, "% u.% u'C ", temp, temp_dec); delay_ms (1000);
\\ n w oryginalny kod powoduje, że kod, aby zacząć pisać do miejsc w pamięci sterownika LCD, które zazwyczaj są używane do 2. linii 2-wierszowy wyświetlacz, ale które mogłyby być również wykorzystywane do połowy prawej 1-liniowy wyświetlacz w zależności od używanego sterownika. Ponieważ jesteś w stanie uzyskać "Temp:" wydrukowane OK, to brzmi jak moduł LCD używasz posiada sterownik, który jest zgodny z polecenia stosowanej przez coolcircuit autora, ale mapy stanowisk charakter inaczej - przez usunięcie \\ n Jestem przy założeniu, mapy LCD całej linii na pojedynczym bloku sąsiadujących z pamięci ...
 
Dziękujemy za Twoje posty. Zrobię zmiany ans zobaczyć.
 
Udało mi się skompilować program, a teraz pokazuje temperaturę, ale pokazuje, jak 72 stopni C. Może opóźnienie jest niewłaściwe dla DS18B20. Online znalazłem, że: "Główną różnicą specyfikacji między obiema częściami jest temperatura czas konwersji:. DS1820 = 500 ms (max) = 750ms i DS18S20 (max)" Plik o nazwie ds1820.c mogą być zmienione w ten sposób czujnik by pokazać właściwą temperaturę?
 
Witam, nie możemy pomóc w kod C, ale nagle wymienionych trzeciego czujnika - DS18S20 się do postu. Szybkie wyszukiwanie pojawiły się z tym informacji, które mogą pomóc. Cytat: Istnieją 3 cyfrowe czujniki temperatury, więc należy się prawidłowe. Jest 1820, 18S20 i 18B20. 18S20 jest następcą 1820, a nie drift w czasie. 18B20 daje szybsze konwersji, ale dla mnie, 18S20 więcej łatwiej dostępne, i pasuje do moich wniosków grzywny. Należy pamiętać, że 18B20 nie wymaga różnych metod konwersji temperatury , a następnie, że opisane w niniejszej instrukcji dla 18S20.
 
Dziękujemy za Twój post. to, co powiedział mi, bierze mnie w głębsze przeciwmgielne, bo nie mam doświadczenia w programowaniu, a ja nie wiem co robić dalej.
 
Hey jest tym wątku nadal aktywne ... Tylko ja też może zrobić z jakiejś pomocy i porady ... Używam 16F684 z DS18B20
 

Welcome to EDABoard.com

Sponsor

Back
Top