Mógłbym dać rybę ale dzięki wędce, dam Ci coś więcej. Zaglądnij do noty katalogowej, jest tam wartość dla ujemnej temp.: -10.125 1111 1111 0101 1110 FF5Eh Dodaj za hardcodowaną linię z temp. z dokumentacji, [syntax=c] temperatura = sensors.getTempCByIndex(0);//*100; temperatura = 0xFF5E; //<------ -10.125 Serial.println(temperatura); [/syntax] a...
unsigned int, long itp - musisz poczytać o typach zmiennych stosowanych w Arduino ( i nie tylko ) . To dość istotny ale prostu temat. Jeśli chodzi o maktro F_ to tak, nic nie wnosi do działania programu ale zapisuje stałe tekstowe w pamięci programu zamiast w pamięci RAM . To taki dobry nawyk na przyszłość :)
Chwilowo straciłem ten kod postaram się go znaleźć ale opierałem się na projektach z internetu. No bez jaj. Na 99% nic nie masz tylko czekasz na gotowca. Ale dobra, zlituję się na święta :D Pomijając całą beznadziejność kodu do multipleksowania wyświetlacza, takie coś powinno działać: $regfile = "ATTiny2313.dat" $crystal = 8000000 Dim Jednosci...
napisze to troche asemblerowym ( nie wiem czy dobrze napisalem) jezykiem: a wiec np: dla temperatury -25 stopni ( cos tam po przecinku ) odczytujesz taka wartość: 1111 1110 0110 1111 - ostnie 4 bity to wartość po przecinku nie bierzemy jej po uwage zostaje 1111 1110 0110 teraz zaneguj wszystkie bity; powstanie ci taki potwór 0000 0001 1001 a to jest...
Coś chyba źle robie... Tak , nie myślisz ;) Na 100% , argumentem dla lcd_puts jest wskaźnik na (tablicę)char , a i ostatni argument w dtostrf , to też ten sam typ ;) Piotrek
co prawda w C, ale zasada ta sama: http://mikrokontrolery.blogspot.com/2011...
Z DS18B20 otrzymujesz temperaturę w postaci zmiennej typu int16_t, którą możesz łatwo porównać z dowolną inną zmienną tego samego typu. Tak dokładeni, to to, co dostajesz jest temperaturą w stopniach Celsjusza mnożoną przez 16. Możesz więc napisać np. if (t > -4 * 16 && t < 25 *16) i sprawdzisz w ten sposób czy temperatura leży pomiędzy...
Tak jest. Mam DS1820 (DS18S20) - tutaj temperatura jest stała ale o 60 stopni za nisko a po podpięciu DS18B20 temperatura jest ujemna i cały czas spada. A jaki rezystor został użyty?
jestem ciekaw jak tam u ciebie z odczytem ujemnych temperatur, bo wg mnie to będą źle czytane. no chyba że nie potrzebujesz ujemnych
Czy Ty nie widzisz , że ten kod to stek bzdur :?: :| Popatrz:[url=http://www.elektroda.pl/rtv... Piotrek
Witajcie, chciałbym lekko odgrzać kotleta i poprosić o wskazanie błędu przy próbie wyliczenia temperatur ujemnych. Odczytuję czujnik DS18B20 w maleńkim ATTINY13 (zmienne float właściwie odpadają) i co około sekundę wysyłam wynik poprzez UART. Dla temperatur dodatnich - dzięki uprzejmości p. Podkalickiego i jego "odchudzonej" biblioteki DS18B20 działa...
Hej, czy możesz nam pomóc i zawęzić, która wersja łamie DS18B20 dla Ciebie?
dobra.. mała pomyłka wcale nie musi być zaden float. Czujnik wysyła dane trochę inaczej. Polecam ten topic on dosyć duzo wnosi do tematu mimo że zawarta tam wiedza dotyczy obsługi tego czujnika w c. [url=http://www.elektroda.pl/rtvforum/to... GCC] DS18B20 i temperatury ujemne.
To jest u2 ;) należy odjąć od tego 4097 i masz temperaturę, jak ta lala... ;)
ee no musiało pomóc, sprawdzałem u siebie i kod się zmniejszał o kilka kB pokaż jakim poleceniem ze wszystkimi flagami jakie używasz kompilujesz kod dla tych zmiennych równych 134 i 1: LS Byte: 10000110 MS Byte: 00000001 w MS Byte pięć najważniejszych bitów wskazuje na znak - zera to dodatnia, a jedynki to ujemna trzy najmłodsze bity z MS Byte i cztery...
Sprawdzenie czy temperatura jest dodatnia czy ujemna, tylko w wypadku tej drugiej przed wyjściem z if'a trzebaby umieścic procedurkę wyświetlającą/zapamiętującą ten znak. Grzesiek.
Witam wszystkich! Bawię się czujnikiem temperatury DS18B20 i po odczytaniu wartości temperatury stwierdziłem, że jest ona 3 st. ... A co Ty za "algebrę" spłodziłeś ;) , a na dokładkę jeszcze Fusing :?:. Chcesz strzelać z armaty do wróbla :?: Takie "cuś" , robi sie niezwykle prosto: '*********** DS18B20 12 bit *********************** Dim Tds As Integer,Sds...
Kolejna sprawa to nie zdziw się jak będą wyświetlać się bzdury przy ujemnej temperaturze.
Akurat też buduje termometr na ds18b20 tylko że w Bascomie, ja też miałem problem z ujemną temperatura. Co do ujemnej temperatury trzeba do obliczeń zamienić ujemną liczbę na dodatnią bo ds podaje np . dla 0 stopni zwraca wartość 0 co mnoży się dalej * 0,0625 daje 0 ale dalej dla ujemnych daje wartość -1 , -2 , -3 itd. Trzeba otrzymany wynik zamienić...
W załączniku kod źródłowy wsadu dla wyświetlaczy 2x16, 3 czujniki, z wyświetlaniem temp. do jednego miejsca po przecinku. Dolna linijka (trzeci czujnik) bez problemu wyświetla dwucyfrowe ujemne temperatury.
Zacząłbym od tego: Otrzymujesz wartość zmiennej temperatura równą np. 1871819,25. Jak przemnożysz to przez 16 to okaże się, że wyrażenie (temp1 + (temp2*256)) zwraca wartość 29 949 108. Teoretycznie zmienne temp1 i temp2 nie powinny przyjmować wartości większych od 255, więc wartość maksymalna wyrażenia (temp1 + (temp2*256)) = (255 + (255*256)) = 65535....
tak, uwzględniłem powyższe, jak narazie odczytuje poprawnie, jeszcze ujemne temperatury muszę sprawdzić.
Jak wiadomo wzorem na temperaturę Farenheita jest TF=32+(5/9)*TC Akurat jest odwrotnie: T(F) = 32 + 1.8 * T(C) gdzie: współczynnik 1.8 to = (9/5) Należy pamiętać że ZERO(F) nie pokrywa się z Zero(C) ; i ta prosta formuła (a raczej zależność) musi byc odpowiednio zmodyfikowama dla wyznaczania temperatur ujemnych. e marcus
1. czy jesteś pewien, że bateria ta będzie dobrze pracować w takich temperaturach ujemnych, jakie zakładasz? 2. Czy jesteś świadomy strat jakie będziesz miał na tak skonstruowanym zasilaniu? Zastosuj DS18B20 i problem z głowy, a przy okazji zmienisz uC na mniejszy i tańszy.
Warto dodać, bo nikt nie wyjaśnił jeszcze, że wiatrak powoduje tylko i wyłącznie wymuszenie ruchu powietrza, czyli jak powietrze ma 23 stopnie, to na wylocie wiatraka jest przyspieszone powietrze o temp. 23 stopnie. Wiatrak schładza procesor czy człowieka w upale tylko dlatego, że człowiek czy procesor aktywnie generują ciepło na swojej powierzchni....
Bardzo fajny opis :) tylko czy bedzie dzialal na DS1820? Bo widze z ty opisujesz DS18B20... Pozdrawiam
wiem wiem, że tak to się robi mam to napisane w programie dokładniej ten fragment jest za to odpowiedzialny: ................. Tyle, że czujnik ds18b20 nie podaje temperatury tak po prostu do procesora np.: 20 stopni Celsjusza tylko trzeba to troszkę przekonwertować za co odpowiedzialna jest ta część programu: fajnie miło i przyjemnie jeśli temperatury...
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
Jaca Dziękuje pięknie teraz wszystko działa jak należy. Zaraz wystawie czujnik za okno i zobaczę co się stanie przy ujemnych temperaturach. Pozdrawiam
Kombinujecie jak koń pod górkę. Nie trzeba robić żadnej "obsługi" temperatur ujemnych. Wystarczy jedno: Ss = Format(ss , " 0.0") i to od razu zapewni poprawne wyświetlanie temperatur dodatnich i ujemnych.
czyli dla dodatnich się mogą sumować ale dla ujemnych już nie ? tak ?
Wersja z gotowym kodem nie działa poprawnie, cały czas na wyświetlaczu pokazuje mi 85st, natomiast pierwsza opcja jest już lepsza i widać poprawę, mianowicie przy schodzeniu poniżej 0st, LCD wyświetla nr seryjny DS-ów, ale tylko raz i to na ok jedną sekundę po czym wyświetla temperatury ujemne. Co jeszcze może być przyczyną nieprawidłowej pracy?
Dobrym pomysłem byłoby dodanie informacji, czy temperatura jest dodatnia, czy ujemna.
Gdyby nie ujemne temperatury to zaproponowałbym Ci użycie dwóch DS18b20 do pomiaru wilgotności. Jednak ten sposób działa do temperatury zamarzania wody destylowanej. Jednak jest dokładny w szerokim zakresie od 0 do 100%.
Udało mi się znaleźć bardzo ciekawy [url=http://www.atmel.com/dyn/resources/... Atmela. Przeczytaj go dokładnie i wykonaj wszystko tak jak tam opisano. Myślę, że pomiędzy podanym w tym dokumencie buforze (strona 3), a zaemulowanym RS232 nie koniecznie musi być konwerter poziomów - MAX232. Pokazany tam bufor wzbogaciłbym o...
Ja zrobiłbym to na mosfecie typu P i włączał dodatni biegun zasilania, a nie ujemny.
(zakładam, że używasz jakiegoś AVRa z przetwornikiem AC) Chyba nie doczytałeś że kolega chce użyć z 8051. Więc bez przetwornika A/C się nie obejdzie jeżeli to koniecznie ma być LM35. Podobno DS'y nie są zbyt stabilne chociaż ja tego nie zauważyłem, więc je polecam o ile możesz je użyć. DS18B20 jest dobry gdyż wyliczanie ujemnych temperatur jest proste.
Witam!!! Kolega nie doczytał poprzedniego postu lub go nie zrozumiał - DS18S20 ma 9-cio bitowe przetwarzanie temperatury i tylko ostatni bit jest w ujemnej potędze, więc po przecinku możesz mieć 0 lub 5 i więcej z niego nie wyciśniesz. DS18B20 ma przetwarzanie 12 bitowe (zakres temperatur taki sam co ds18s20), ale ma aż cztery bity w ujemnej potędze...
Próbujesz szukać w tablicy pozycji ujemnych, tymczasem pozycje w tablicy zaczynają się od 0 do 65535. Nie rozumie takiego szukania temperatur w tablicy, ale jeśli już tak to próbujesz podmieniać, to gdy zmienna tempd2 jest mniejsza od zera to musisz ja zamienić na zmienną dodatnią aby odczytywać za pomocą instrukcji Lookup()
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
sprubuj zmienić int na byte (chyba ujemnych temperatur nie będziesz mierzył).
No niezupełnie, dla ujemnych temperatur to nie zadziała, a dla dodatnich dość pokręcone. [syntax=c]int16_t temp = data[1] << 8 | data[0]; if (temp < 0) { znak = '-'; temp = -temp; } else znak = '+'; ulamek = (temp & 0xf) * 5 / 8; temp >>= 4;[/syntax]
Termometr nie ma ujemnych temperatur ponieważ: - To jest termometr pokojowy, i raczej jest małe prawdopodobieństwo że w domu będzie mróz. Ostatnio siadło CO, ale miałem w pokoju 10°C :D -Nie wiem jak zrobić obsługę ujemnych temperatur. :|
witam problem raczej standardowy bym powiedział :) zakładam, że wolisz wersję skróconą bez wykładu a dlaczego tak itd :D 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Makeint(odczyt(1) , Odczyt(2)) Tspr = T T = Abs(t) T = T * 10 : T = T / 16 Przecinek = T Mod 10 T = T / 10 1wreset...
Wader, w większości programów które znalazłem, nawet to czekanie waitms 750 było na końcu tak jak miałem wcześniej. Może i coś jest nie tak z tym kodem, ale nie będę się zastanawiał co, skoro działa bez żadnego przesuwania bajtów, itp. Nawet nie robię żadnej specjalnej obsługi wyświetlania temperatur ujemnych, a jakoś je wyświetla :)
Tak oczywiscie ze wiem. Program który zamiescilem w tym poście ma obslugiwac DS18B20 i mi nie działa. Ciagle pokazuje 127*C Zupelnie inny program (inna procedura obliczania temp.) napisany przy tych samych bibliotekach i na tym samym HW dla DS1820, dziala poprawnie. Podlaczenie jest typu parasite poprzez 4k7 do +5V. Dodano po 1 Zmieniłem rezystor pull-up...
Tak teraz napisy nie mrugają, ale odczyt temperatury jest błędny od ujemnej do 256. Dziękuję za pomoc, spróbuję sam powalczyć. pomógł.
Mam okazję przetestować powyższy kod programu i w aktualnej formie nie współpracuje z DS18B20. Po dokonaniu modyfikacji w jednym miejscu zaczął poprawnie pokazywać temperaturę i zmiana typu zadeklarowanej zmiennej Tmierzona z Byte na Word [syntax=basic4gl] Tmierzona = 1wread(2) 'Odczytujemy tylko jeden bajt -> wartość temperatury Shift Tmierzona , Right...
http://obrazki.elektroda.net/22_12752238... Witam. Dzisiaj chciałbym zaprezentować mój projekt zegara VFD na lampie IW-18. Jest to kontynuacja wątku kolegi Pier -> http://obrazki.elektroda.net/95_12752233... Wszystko tak szybko się odbywa że wyświetlacz w ogóle nie miga :D Program został napisany w BASCOMie - zajmuje ~64% pamięci Flash....
Skąd te 0.03V? AVR ma ADC 10 bit i to się tylko zgadza. 10 bit to 1024 ... Gdyby nawet przyjąć scenariusz, że odrzucasz ostatni bit to będzie 512. Gdyby wziąć najgorsze z punktów odniesienia czyli zasilanie 5V AVCC to -> 5V/512=0,009765625V (~10mV=1st. C) Gdyby tak wrzucić na sygnał wyjściowy dzielnik rezystorowy i użyć wbudowanego napięcia odniesienia...
Możesz pokazać przykład jak wykorzystując multiplexowanie zrobić taki termometr, oczywiscoie musi wzkazywać ujemne temperatury. No i oczywiscie musi sie zmiescić do proca. W c++ na pewno taki ter,mometr jest możliwy, ale mnie chodzi o bascoma.
Witam! Najogólniej mówiąc musisz te 4 bity podzielić przez 16, natomiast jeśli masz ujemną temperaturę to robisz to samo a następnie otrzymany wynik odejmujesz od 1.
Witam, Kleję sobie w domu taką małą automatykę z wykorzystaniem raspberry pi oraz logo8. Z uwagi na brak możliwości podłączenia zwykłych ds18b20 do logo postanowiłem ze starej malinki zrobić bramkę. Odczytuje tam temperaturę z czujników i po modbus tcp przesyłam do Logo. Problem mam z przesłaniem ujemnej temperatury ponieważ mogę w rejestrach logo zapisać...
Dzięki za program, udało mi się odczytać 2 bajty. Niestety nie posiadam wyświetlacza alfanumerycznego i korzystam z 4 wyświetlaczy sterowanych multipleksowo, więc mam problem z rozszyfrowaniem znaczenia bitów. Z moich obserwacji pierwszy bajt ma duży wpływ na temperaturę, ale nie pokazuje on chyba prawidłowej temperatury w kodzie dzisiętnym... Na drugim...
http://obrazki.elektroda.pl/2929008000_1... Witam. Po raz pierwszy zdecydowałem się przedstawić na łamach forum swoją konstrukcję. Chciałbym zaprezentować swój pomysł na Termometr Samochodowy. Podczas upalnego lata zauważyłem że po zainstalowaniu instalacji gazowej moje auto ma bardzo duże wahania mocy silnika w zależności od temperatury...
A czy na małe zmiany temperatury reaguje (gdy chwycisz w palce?) Zawsze możesz spróbować zamienić funkcję konwersji "Read_Temp" z Twojego programu. Pozostawiając reszte bez zmian. U mnie działała (bez temperatur ujemnych). ...dobrze obsługujesz wyświetlanie floata?
Wewnątrz firmy to możesz sobie testy zrobić do rozbicia o kant ... Nic nie warte. Chyba, że macie komorę, to zwracam szacun. Mamy komorę. leonow32 W pełni się zgadzam. Zamieszczam wyjaśnienie odnośnie obsługi czujników 1wire DS18B20, ktoś mnie o to zapytał na PW. jest wersja z 1-wire. Zamiast wejścia 8 podpina się czujniki. DS18B20 jest obsługiwany...
http://www.elektroda.pl/rtvforum/viewtop... Tutaj masz wszystko działające. Temperaturę pokazuje mi dobrze zarówno na ujemnych i dodatnich. Wszystko napisane tak jak w data sheet kazali.
Witam. Zauważyłem niepokojące zachowanie czujników DS18B20 przy pomiarze temperatur bliskich zeru i ujemnych. Moje spostrzeżenie jest następujące: przy pracy czujnika jego temperatura nieznacznie wzrasta i to nawet ponad 1'C ! Zbudowałem termostat. Po wejściu do menu nastaw czujniki nie są odczytywane i w tym czasie (tak mi się wydaje) ich temperatura...
Witam Odkurze ten temat, bo mam w związku z nim jedno pytanie dotyczące kodu, który podał hunterhouse ... Da się jakoś ten wynik co wychodzi zaokrąglić/przekonwertować do jednego/dwóch miejsc po przecinku :?: Za podpowiedzi z góry dziękuje :D P.S. Ten programik pokazuje ujemne temperatury, czy trzeba go dopiero jakoś zmodyfikować :?:
Witaj, Temperatura rzędu 500C jest nie mozliwa do odczytania z DS18x20. Czujnik może co nawyżej wskazać 125C. Niestety procedury których użwasz do przeliczenia odczytanych danych na temperaturę są błędnie napisane. U uśrednianiu wyniku to tu raczej nie ma mowy bo DS18X20 jest czujnikiem cyfrowym z własnym kontrolerem któy już sam sobie uśrednia wynik...
potrzebuje mierzyc temp w zasilaczu ATX chce tak zrobic by uzyskac mierzalne napiecie (dajace sie przeliczyc) ale ujemne!! Bo linie do mierzenia -5V z zasilacza mam pusta. Czujnik na plycie zmierzy to napiecie (myslac ze to minu 5V z zasilacza) ale ja sobie to przelicze na temperature.......... jasne? Dodano po 13 nie myslcie za duzo, jeszcze raz w...
Tu masz sprawdzoną procedurę odczytu temperatury... No nie całkiem sprawdzoną :( Przy temperaturach ujemnych , zawyża wynik o 1 stopień :( Dla B1=&H90 i B2=&HFC wyświetla -54 a powinien -55.Skoryguj obliczenia dla ujemnych :) Piotrek
Cześć, napisałem właśnie funkcje do obsługi protokołu 1-wire i chciałbym wykorzystać je w prostym termometrze cyfrowym. Myślałem o zrealizowaniu tego w ten sposób, że w pętli while byłyby dwa bloki kodu. Jeden odpowiedzialny za odczyt temperatury z DS18B20, rozłożenie zmiennej z temperaturą na poszczególne cyfry, sprawdzenie czy temp. ujemna i na którym...
Widzicie. Ja walczyłem z timerami, przerwaniami,DS'ami i wyświetlaczami, chyba wewszelkich możliwych kombinacjach. I stwierdzam, że bardzo trudno jest w Bascomie ustalić wybraną częstotliwość przemiatania z jednoczesnym odczytem czujnika. Nawet jeśli pozornie wszystko działa to przy ujemnych temperaturach czas konwersji jest na tyle długi, że nie da...
Dobra, dam 15:) Jak chcesz zwiększyć sprawność wymiany wężownicy zwiń ją w kształcie piramidki. postaram się nie zadawać głupich pytań :). Nie ma głupich pytań są tylko głupie odpowiedzi. ?na glikolu w zimie przy mrozach powyzej -10*C czujniki pracują . a gdy woda w zimie z kolektorów jest spuszczona to jak się zachowa czujnik? Termo. Ty taki stary...
Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
DS18B20, DS1820, DS18S20 ..... to cyfrowe (dokładność 12-bitowa w każdym) ... górny zakres może ciut mniejszy, a mierzą z dokładnością do ok 0,1 C - cena ok 5zł, sterowanie z 1 pinu dowolnego mikrokontrolera (1Wire) ... ;) Mirku, dokładność to +/- 0,5 °C, zaś 0,1 °C to ich przybliżona rozdzielczość. http://datasheets.maxim-ic.com/en/ds/DS1...
Zauważyłem jeszcze problemy z odczytem ujemnych temperatur - odczyt przeskakuje poniżej zera na wartość 125°. Czyli mam rozumieć to wyłącznie wina tego, że ds18b20 nie jest zamienikiem ds1820. Znalazłem jeszcze ds18s20, to jest zamiennik ds1820? Pytałem u mnie w elektroniku i mają tylko ds18b20 i ds18s20, ale nie potrafili mi odpowiedziec, który jest...
Problem rozwiazany wystarczylo poprostu wymienic LM35 na DS18B20 zmienic caly program i wszystko smiga. Mimo wszystkonajwiekszym problemem okazal sie sam w sobie LM35 Najczęściej używałem LM335 (łatwiej odczytywać temperatury ujemne czy bliskie zeru), LM35 tam gdzie mierze temperatury dodatnie (np radiatora) z AVR i nie miałem żadnego problemu. Tak...
Projekt wygląda ładnie. Dwie uwagi: PCB a nie PBC (Printed Circuit Board). Co do diody sygnalizującej temperaturę ujemną, sam stosuję takie rozwiązanie, ale dioda powinna być prostokątna np 2x5mm, wtedy bardziej przypomina minus niż okrągła.
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
https://obrazki.elektroda.pl/7717804000_... Witam wszystkich, Tym razem chciałbym zaprezentować termometr dwukanałowy zasilany z dwóch równolegle połączonych akumulatorów Li-Ion, zbudowany w oparciu o mikrokontroler ATTiny84 i dwa czujniki DS18B20 oraz pozostałe części "z szuflady". Termometr ten służy mi do pomiaru temperatury w pokoju...
Witaj. Zacznij od tego, że symuluj (w odpowiednim miejscu Twojego programu) prawidłowe (według Ciebie) wartości pomiaru i wyświetlaj je na wyświetlaczu. Uwzględnij newralgiczne przypadki jak np. zero oraz dodatnia i ujemna temperatura. To pozwoli Ci na ustalenie czy przyczyną są funkcje wyświetlania, czy odczytu temperatury. Następnie drążysz temat...
nie wiem czy coś ze mną nie tak czy z tym forum, ale piszę tą odpowiedź drugi raz, albo odpowiedziałem w innym temacie ... użyj tej funkcji, u mnie działa to jest dla DS18 S 20 (niepotrzebnie wkleiłem , ale niech już zostanie) float zamien_temp(unsigned char MSB,unsigned char LSB) { float ftmp; if(MSB==0x00)//dodatnia,lub 0 {...
nie wiem dlaczego ale nadal u mnie to zle dziala. caly czas jak sa ujemne temperatury to pojawia sie minus i przesowa wszystko w prawo... probowalem juz wszystkich porad jakie mi udzieliliscie ale nadal to samo. moze jest jakis blad w moim kodzie(wkleilem powyzej)??
A co to za cudaczne obliczenia :wink: ... unsigned char wynik1=0; unsigned char wynik2=0; wynik1=read1w(); wynik2=read1w(); reset1w(); float temp=0; if((wynik2)!=0){ //temp ujemna wynik1=~wynik1; temp=wynik1+1; //dlaczego /2 i gdzie się podział wynik2 ? temp=-temp/2; //??? } else{ //temp dodatnia...
Układ na LM35 był początkowo brany pod uwagę ale odpada. Tanie LM35DZ nie mają pomiaru temperatur ujemnych. Trzeba zastosować LM35CZ który kosztuje ponad 20 zł, DS18B20 7.50zł a więc jest różnica. Mam tylko przygotować schemat i podłączenie, program będzie pisać ktoś inny. Nie wiem czy dobrze myślę ale całość będzie zrobiona na ATinny2313 a tam podłączenie...
Masz skopane RESET_PULSE, zobacz koncowke i twoje badanie czy jest ok. Masz skopane send (to oryginalne), to powyzej tez - za dlugi jest impuls ujemny, masz skopane send_byte - zobacz jakie sa timingi pomiedzy bitami, a jakie ty masz. read_byte moze jest ok, ale tez nie jest idealne.
Witam Muszę stworzyć układ w którym bedę używał 8 czujników DS18B20 , i każdy musi pracować na osobnym pinie. Nie mogę podpiąć wszystkich na jednej linii i odpytywać ich po ich ID. Kiedyś robiłem sterownik w którym odczyty robiłem w ten sposób: Sub Odcz_temp1 Config 1wire = Portb.0 1wreset 1wwrite &HCC 'opuszczenie zapisu numeru ID 1wwrite &H44 'start...
T1 = Makeint(bd(1) , Bd(2)) T1 = T1*10 : T1= T1/16 Dziesiatki = T1 Mod 10 T1 = T1 / 10 Locate 1 , 1 Lcd T1;".";Dziesiatki ; Chr(0) w takiej kolejnosci i musi działac Działa, dzieki ale przy ujemnych temperaturach dostaje wynik w postaci w postaci np. -10.-8 , ten minus w dziesiątkach jest nieptrzebny.
Witam wszystkich Mam pytanie: chciałbym poskładac termometr cyfrowy na czujniku ds 18b20, odczyt danych na wyświetlaczu lcd z dokładnością do 0,1 także w temperaturach ujemnych. jestem zbyt ciemny by wykonac projekty które znalazłem tz. nie potrafię programować. Poproszę o schemat i program. z góry dzięki. pozdro dla wszystkich
Witam W załaczeniu program napisany przeze mnie i działający bezbłędnie tak w zakresie dodatnich jak i ujemnych temperatur. Program w "BASCOM AVR". Mikrokontroler Attiny2313, wyświetlacz 3xLED, "minus" temperatury na płaskiej diodzie LED (zasilana z +5V, katoda przez rezystor do uC)
Programik fajny, tylko dużo zabiera pamięci, a gdyby ktoś chciał dodać jeszcze obsługę ujemnych temperatur, to już nie da rady jeśli użwywa np attiny2313 a przecież żadko robi sie sam golutki termomer. Dlaczego zaniża :?: wystarczy zajrzeć do noty aplikacyjnej DS18B20 dla przykładu weźmy temperaturę 25,0625 stopni Instrukcją Odczyt = 1wread(2) wczytujesz...
Książka to "Programowanie Mikrokontrolerów AVR w jez. BASCOM" Program termometra. Przykład z książki. 'Program obsługi jednego układu DS1820 dołączonego 'do magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler...
a wiec zaczal mi dzialac po tym jak odpialem zasilanie i dziala obecnie w trybie parasite (bez mosfeta ktory jest na schemacie w instrukcji do ds- a ) ale.... wykorzystalem rozne programy i bzdury mi pokazuje temperatury po 250stopni albo minus 70 skacze bardzo temperatrura jak go tylko dotkne.... czy to oznacza ze ukladzik mam juz zwalony :)) czy...
Szumlus udało mi się pozbyć migającego przelatującego kursora .Mam jeszcze pytanie czy twój projekt termometru w c wyświetla temperatury ujemne i jak zrobić poprawne wyświetlenie st C? Dodano po 12 Wysyłam mój wstępny projekt mojej przyszłej płytki w kicad. Proszę o ewentualne uwagi i poprawki. http://obrazki.elektroda.pl/2595901500_1...
Myślę kupić LM35CZ i mierzyć (ortograf) temperaturę na mrozie czyli poniżej zera tylko nie wiem jak odczytać ujemną temperaturę ADC ATmegi8. Tutaj będzie Ci potrzebne ujemne napięcie, skomplikuje trochę układ. Może łatwiej będzie zastosować cyfrowy czujnik DS18B20. Dane wysyłane w 2 bajtach, a cena podobna do LM35. ATmega8 jest ustawiona na 8MHz ponieważ...
Witam Jeśli temp jest zmienną zawierającą temperaturę odczytaną z ds18b20 to jest to zmienna 16 bitowa ze znakiem. W związku z tym proponuję: - odczytać najstarszy bit (znak) i gdzieś go zapamiętać - jeśli liczba jest ujemna (MSB = 1), wykonać bitową negację i dodać 1 W tym momencie wykonanie operacji przesunięcia bitowego o 4 w prawo zwróci wartość...
informującego o zmianie temperatury co 1 stopień w górę lub dół To są założenia więc co każdy stopień ma być krótki sygnał. Warunek If T >= 200 then spowoduje że przekroczenie 20 stopni spowoduje sygnał. Muszę chwilę pomyśleć. Trzeba badać także różnicę pomiędzy odczytem poprzednim a następnym. Sprawdź to: (zmień procesor, konfigurację LCD, portów,...
Witam jakiś czas temu kupiłem na Allegro wyświetlacz VFD od kasy fiskalnej model Fujitsu VF60. Postanowiłem zrobić na nim termometr jednopunktowy z czujnikiem DS18B20, po rozkręceniu wyświetlacza okazało się że jest to wyświetlacz z interfejsem UART i pojawił się problem. W sieci jest sporo projektów termometrów ale wszystkie opierają się na tradycyjnym...
Witam, Proszę o pomoc w rozwiązaniu następującego problemu: Projektuje układ którego jednym z elementów będzie pomiar temperatury przy pomocy LM35. Jako, że interesuje mnie pomiar temperatury tylko z zakresu od 15-40*C. Chciałem zrealizować tor pomiarowy w następujący sposób. Napięcie z LM`a wzmocnić wzmacniaczem operacyjnym X10 dzięki czemu między...
Zwykły LM35 mierzy również ujemne, przy odpowiednim podłączeniu. LM35D ma problem z dokładnością - przy ujemnych temperaturach może dawać duży błąd. Tańszy jest LM335 (pytanie, jak dokładniejsze wersje - LM135, LM235), ale wymaga dobrego wzorca napięcia, bo daje napięcie 10mV * T (w K). Jest jeszcze LM334 (i odpowiedniki na większy zakres temperatur...
Witam! Czyli kod powinien wygladac tak? OWrite D_Q, 1, [$CC, $BE] ' Read the temperature ORead D_Q, 2, [Temp.LowByte, Temp.HighByte, C, C, C, C, C, PerC] Deg = Temp & 0x07FF Deg=Temp>>4 remain=Temp & 0xF LookUp Remain,[0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9]... A jak z ujemnymi temp? Sorry, ale nie bardzi jestem w programowaniu, pierwszy projekt i dopiero...
1. Jak realnie wygląda kalibracja czujnika i kiedy należy ją wykonać? Realnie musisz mieć 2 łaźnie cieczowe, zerostat, wzorcowy czujnik Pt100Ω lub Pt25,5Ω ,wysokiej klasy multimetr cyfrowy lub mostek rezystancyjny, wiedzę, doświadczenie, czas i cierpliwego człowieka, bo to żmudne i mało przyjemne zajęcie (przydaje się też dedykowane oprogramowanie)....
Co do algorytmu wyliczania temperatury ujemnej, podanego przez H0miczka to w zasadzie się zgadzam. Jedynym problemem może być określenie najstarszego bitu . Mam na myśli również DS18S20 i DS18B20 gdzie najstarszy bit znaku znajduje w drugim bajcie temperatury na pierwszej pozycji (bit 0 drugiego bajtu) -> DS18S20, lub na czwartej pozycji (bit 3 drugiego...
http://obrazki.elektroda.pl/1523592300_1... W schemacie pominąłem zasilanie i podłączenie LCD. Kod: (został wzięty z książki M. Wiązania - "Programowanie mikrokontrolerow AVR w jezyku Bascom", usunąłem kod od obsługi LCD bo mam go ustawionego w bascomie) $regfile = "m8def.dat" $crystal = 8000000 Config 1wire = Portc.5 'konfiguracja...
Taka sprawa: Zasilalem termometr "pasożytniczo", ale dosyc nieuważnie przejrzałem Data Sheet od niego i nie zauwazylem, ze nalezy zapodawac high pullup na szyne przez mosfet, podczas konwersji temperatury i operacji na eepromie :( O dziwo na poczatku ds konwertowal prawidlowo i poprawnie mierzyl temp. ujemne i dodatnie, jednak z czasem zaczely pojawiac...
Piszę program do prostego sterownika pieca, w książce "Programowanie mikrokontrolerów avr w j. Bascom" mam opisana obsługę czujnika DS1820, w sklepie elektronicznym w moim mieście mieli tylko DS18B20, myślałem że nie będą się może różnić za wiele, mogłem zajrzeć do noty katalogowej ale już za późno. Przeglądałem noty katalogowe tych dwóch układów, z...
Witajcie, jak przekonwertować poprawnie wartość z czujnika temperatury ds18b20 w postaci dwóch liczb typu uint8_t, które odpowiadają części całkowitej i ułamkowej, do postaci jednej zmiennej typu int16_t? zakres liczby ułamkowej to 0-9, zakres liczby całkowitej jest 8-bitowy. Wartości ujemnych nie ma.
ujemne ds18b20 ds18b20 ujemne ds18b20 bascom temperatury ujemne
schematy projektorów miernik uszkodzony pomiar rezystancji airlive reset
pralka samsung zmywarkach amica
Schemat serwisowy Sony KV16-14E - gdzie znaleźć? Kierunek przepływu powietrza na wentylatorze - strzałka w lewo