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
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...
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...
https://obrazki.elektroda.pl/1982238900_... Tym razem chciałbym zaprezentować zasilacz warsztatowy mojego projektu. Troszkę czasu nad nim spędziłem, aż osiągnąłem zakładany efekt. Obecna rewizja płytki to 18, więc trochę wersji przetestowałem :D Ale do rzeczy. Jest to zasilacz z torem analogowym i sterowaniem cyfrowym. Parametry zasilacza...
jeśli chodzi o ujemne temperatury to ta funkcja sobie poradzi: float zamien_temp(unsigned char MSB,unsigned char LSB) { if(MSB&0x80)//ujemna temp { LSB=~LSB +1; MSB=~MSB; unsigned int suma = LSB + (((unsigned int)MSB)<<8); return ((float)suma) * -0.0625; } else//dodatnia...
Chciałbym przedstawić jeden z możliwych sposobów wykonania cyfrowego regulatora PID Przestawiony regulator nie ma konkretnego zastosowania , to do czego zostanie wykorzystany zależy od czytelnika. Opis regulatora kieruję do osób które zaczynają przygodę z automatyką i układami regulacji. Spróbowałem wyjaśnić jak działa cyfrowy regulator PID, czemu ich...
Zabralem sie za termometr ds18b20. Wczesniej korzystalem z niego, wartosc temperatury wyswietlalem na LCD'ku i wszystko dzialalo. Teraz powrocilem do ukladu z ta roznica ze wart. temperatury wyrzucam szeregowo na kompa. Problem polega na tym ze w hyper terminalu wyswietla mi caly czas jedna wartosc (88). Kiedy wyciagam, w czasie pracy, procka uklad,...
Witam wszystkich Elektrodowiczów! Otóż muszę użyć układu DS18B20 do pomiaru temperatury. Sięgnąłem po niego, gdyż kiedyś go używałem i działało wszystko OK ;) - jednak nie tym razem :/. Chcę wykonać po prostu zwykłą pojedynczą konwersję temperatury i odczytać ją ze ScratchPada. Wykonuję: 1. Wysyłam Presence Pulse do DS18B20. 2. Otrzymuję "1". (zapala...
Witam Wiem, ze o DS1820 było juz bardzo duzo watkow ale niestesty nie znalazlem w nich odpowiedzi na moj problem. Zbudowalem sterownik wiatrakow do obudowy PC w którym jako czujniki mam wlasnie DS18B20. Czujnikow w ukladzie jest szesc, problem polega na tym ze 3 z nich dzialaja super i wskazuja temp a trzy kolejne pokazuja ciagle 85*C, zupelnie tego...
Witam Z racji wolnego dnia postanowiłem jeszcze dokładniej poznać budowę DS18B20 (czasem trzeba sobie co nieco przypomnieć). Odpalam program który zawsze działał i tu niespodzianka... DS działa prawnie do 32 stopni a jeśli temperatura przekroczy ten próg bez względu na to co jest wyświetla 85 stopni aż temperatura nie zjedzie poniżej tego progu. Problem...
Cześć. Wielokrotnie już elektroda ratowała mnie pomocną ręką, mam nadzieje, że i tak dziś będzie. Staram sie napisać własną obsługę dla ds18b20 dla atmega8. Sporządziłem wstępny kod "biblioteki" (gdy zacznie działać zrefaktoryzuje kod celem jej uogólnienia). Jak narazie jedyna funkcja która mi działa to reset i presence pulse. Dalej w zasadzie odczytuje...
Witam Kupiłem sobie DS18B20 wodoodporny z metrowym przewodem. Podłączyłem go do '51, Vcc, Masa i dane przez rezystor 4,7koma do plusa. Termometr zaczyna działać dopiero jak się go podgrzeje powyżej 30 stopni Celcjusza. Po ostygnięciu poniżej tej temperatury znów nie działa. Testowałem z drugim identycznym termometrem, ale ten drugi zaczyna działać powyżej...
Witam właśnie uruchamiam urządzenie z powyższym układem. U mnie w domu temperatura powietrza jest ustawiona około 20*C, na biurku pod lampą i blisko komputera może być oczywiście cieplej. Mam kilka sztuk tego układu, dwa z "nowej" serii i jeden "antyk". Żaden z nich nie był nigdy lutowany. Wszystkie 3 sztuki pokazują temperaturę od około 27*C do prawie...
Witam wiem że temat pewnie był już wiele razy wałkowany ale proszę o pomoc. Próbuję odczytać temperaturę z DS18B20 i zawsze mam wartość 16,1 nawet jak jest czujnik odłączony proszę o pomoc gdzie jest błąd w kodzie :cry: #define WE 0 #define PORT_1wire PIND #define SET_1wire DDRD &=~ _BV(WE) #define CLEAR_1wire DDRD |= _BV(WE) //Resetowanie...
Witam, mam pytanie. Może dla niektórych wydać się śmieszne i zbyt proste, jednak szukam i nie moge znaleźć na nie odpowiedzi. Załóżmy że mam 10 termometrów ds18b20 na jednej szynie. komenda schear rom określi mi ilości i rodzaje układów slave. Czy mogę w jakiś sposób podglądnąc ile ich jest oraz ten adres jaki jest zapisany w każdym z nich?? Drugie...
Kupiłem ostatnio na giełdzie RTV w Krakowie 3 szt DS 18B20 i mam big problem - albo gościu sprzedaje jakieś odrzuty( w budynku giełdy na Balickiej) ,albo ten termometr jest gówno warty !. Dwa z nich w miare dokładnie pokazują dodatnią temperature -ale trzeci kłamie w góre. Natomiast jak je razem zamroże to każdy pokazuje inną temperature.Różnica to...
czy na 1-wire musze za każdym razem nadawania danych do slave, wykrywac czy znajduje sie na szynie, czy tylko raz po włączeniu zasialnia.
Hi. Sklecilem sobie w ramach testow i zabaw termometr z DS18B20, i ogolnie mierzy w porzadku poza dziwnymi zachowaniami.. 1. Wskazuje 23,5 stopnia. (co jest mozliwe). przykladam do radiatorka... kolejno wskazuje: 8, 9,12,16,20,32,38 st... Odejmuje od radiatorka wskazuje kolejno : 38,37, 32,14,12,11,11,10,10,9,9,9,8,8,8, 23.8 Ktos wie skad sie to moze...
Witam. Zachodzę w głowę co może być przyczyną dziwnego zachowania czujników. Układ działa w trybie 1-wire, 2 przewody. Opornik pomiędzy linią informacyjną a 5V to 4.7kOhm. http://obrazki.elektroda.pl/8348646300_1... Ma to wyglądać jak na obrazku. Jeśli podłącze 4 czujniki do 2 'huba' wszystko działa i podaje prawidłową temp. Wystarczy...
Witam Mam pytanie dlaczego poniższy kod nie pozwala mi dogadać się z DS18B20. Napisałem/przepisałem go na bazie opracowania Pana Cezarego Klimasz "Obsługa interfejsu 1-wire na przykładzie obsługi DS18B20". Proszę o pomoc. Dziękuję #include <string.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include...
Co może być przyczyną, epizodycznego wyrzucania wartości zerowych przez ten czujnik temperatury?
Witam, Czy istnieje możliwość identyfikacji wyprowadzeń (GND/VCC/DATA) tego czujnika temperatury omomierzem lub inną mało skomplikowaną metodą? Tak byłem zadowolony z "zarobienia" czujnika w metalowej, wszystkoszczelnej tulejce, że, jak to bywa, zapomniałem zapisać sobie który kolor przewodu jest czym...
Witam Mam zbudowane obecnie dwa termometry na DS18B20 i delikatnie mowiac zaczynam sie irytowac. Oba mocno zanizaja temperature (o jakies 3 st C) Sprawa jest o tyle denerwujaca ze np w dni kiedy nie ma mrozu i temperatura jest na poziomie 1-1.5 st C czujnik pokazuje - 1.8 do -2.2 st C Czy tylko mi sie trafily takie "super" dallasy czy ten typ tak ma...
WITAM! MAM SZYBKIE PYTANIA: CZY PRZY ODCZYCIE TEMP. Z DS18B20 TEZ CO KTORYS POMIAR MACIE 85 ST. (CZYLI BRAK POMIARU)?? DA SIE TO JAKOS WYELIMINOWAC (WYDLUZANIE CZASU KONWERSJI NIE POMAGA) - NIE CHODZI MI O ROZWIAZANIE TYPU "IF(TEMP!=85)......"?? Z GORY DZIEKUJE I POZDRAWIAM!
Witam, podłączam 4 czujniki temp ds18b20 poprzez 1wire do atmega32. Chciałbym zapisać ich id do eepromu a potem odczytać z tablicy. [syntax=basic4gl]Dim Id1(8) As Byte zapis: For C = 1 To 8 Step 1 writeeeprom id1(c), c Next C odczyt: For C = 1 To 8 Step 1 readeeprom id1(c), c Next C wyswietlanie: For C = 1 To 8 Step 1 Lcd Hex(id1(c)) Next C[/syntax]...
Przeczytałem chyba wszystkie posty dotyczące problemów z DS18B20 i nie znalazłem rozwiązania dla swojego problemu. W większości rozwiązaniem jest zastosowanie podłączenia trzyprzewodowego i obniżenie wartości rezystora podciągającego magistralę 1Wire, niestety w moim przypadku zastosowałem trzy przewodowe podłączenie a rezystor podciągający to 3k3 a...
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...
http://obrazki.elektroda.pl/4192018300_1... Witam! Postanowiłem przedstawić mój projekt urządzenia do rejestracji danych na karcie SD (tzw. data logger). Urządzeniu nadałem nazwę MADACU stanowiący skrót od szumnej nazwy Measurement And Data Acquisition Control Unit. Urządzenie miało być uniwersalne tzn. służyć do pomiaru temperatury,...
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.
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ść :)
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...
tak, uwzględniłem powyższe, jak narazie odczytuje poprawnie, jeszcze ujemne temperatury muszę sprawdzić.
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.
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...
SysTick niespecjalnie się nadaje, bo nie steruje bezpośrednio pinem IO. Jeśli to musi byc timer, to wykorzystaj fakt, że może on sterować bezpośrednio stanem pinu i generować impulsy ujemne o określonym czasie.
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%.
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...
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)....
z kontrastem łatwo sobie poradzić "podlonczając" potencjometr do Aref ustawiając je na wewnętrzne napięcie odniesienia Czy to jest rozwiązanie przetestowane w praktyce? Moje gdybanie niepoparte próbami: Przy niskim napięciu zasilania wyświetlacza, np 3,3 V, na pin Vo trzeba podać napięcie ujemne względem masy żeby kontrast wyświetlacza był wystarczający....
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)??
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...
co prawda w C, ale zasada ta sama: http://mikrokontrolery.blogspot.com/2011...
Można i tak, chociaż dodatkowa zmienna x zapewne nie jest potrzebna - wystarczy czytać licznik timera. Ale może prościej byłoby to zrobić nieco inaczej. Precyzyjnie generowac musisz tylko impulsy ujemne (0 logiczne). Więc możesz wystawić 0 na magistralę, zaprogramować timer i w przerwaniu timera po określonym czasie zmieniać 0 na 1. A najlepszą możliwością...
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...
Nie wszystkie AVRy mają jednopoziomowy system przerwań. Ale to i tak nic nie zmienia. Jeśli nawet wykorzystamy wielopoziomowy system to mamy wybór między dżumą a tyfusem. Albo wyższy priorytet będzie miał LED i będzie kaszanił transmisję OW, albo wyższy priorytet będzie miał OW, ale będzie kaszanił wyświetlanie LED. Albo zrobimy to jak należy i priorytety...
To dalej jest najprawdziwsza liczba w kodzie U2. Kto mówi że te 5 bitów są flagą na raz? Dalej wystarczy sprawdzać tylko 1 najstarszy bit. Tutaj jest nawet lepiej bo możesz sobie wybrać czy będziesz sprawdzał bit ostatni czy trzeci od końca. Kolejne nadążają za tym najstarszym tylko dlatego że liczba zawarta w tych 16-tu bitach w rzeczywistości ma węższy...
Co do PIC :) to troche sceptyczny jestem . Tu nie "ameryka" , ale zapalencow pozdrawiam :) Nie bede sie "spieral" co lepsze !! Lepsze jest dobre rowiazanie :)Male i funkcjnalne !!!! , i tu pozdrawiam PIC'owcow.Temat jest dosc ciekawy , jezeli chodzi o DS18B bo w porownaniu do DS18 jest trosze "inne" w rozpatrywaniu , przygladam sie :)- i z ciekwoscia...
Wczytaj dane z DS do tablicy dwuelementowej Byte, a później oba bajty wtłocz do zmiennej integer albo word np. przez Makeinit. Dla temperatur tylko dodatnich można użyc zmiennej word , natomiast jeżeli wystąpią temperatury ujemne bezwzględnie trzeba zastosowac tu zmienną interger ; inaczej wystąpią absurdalne interpretacje odczytów temperatury. Dla...
Witam ponownie, Może mi ktoś poweidzieć co jest źle, bo mryga mi cały czas napis z tej linijki: Lcd "0" ; Chr(1) ; "C 10" ; Chr(1) ; "C 20" ; Chr(1) ; "C 30". Chodzi tu zapewne o graficzne przedstawienie na alfanumerycznym LCD wartości "Wart_temp" (temperatura(?) Pomysł nie jest wcale zły, ale gorzej z jego realizacją. Ogólnie brak jest poprawnej synchronizacji...
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...
Ta opóźniająca funkcja była już w którymś z tematów mocno polecana natomiast odradzali niektórzy użytkownicy forum te standardowe z <util/delay.h>. No ale sprawdziłem je też, podłączyłem uC pod oscyloskop i poustawiałem czasy jeszcze raz...w końcu coś ruszyło:-) Z tym że używam teraz takiego kodu do przetworzenia wyniku: temp1=read_byte(); temp2=read_byte();...
Program wygląda dużo lepiej. I = 1wread(2) pobiera dwa bajty w których znajduje się temperatura. Polecam zajrzeć do karty katalogowej DS18B20 str.4. W I znajdzie się liczba 16 bitowa, gdzie pierwsze 4 bity to znak, następne 8 bitów to część przed przecinkiem, a cztery ostatnie to to co po przecinku. Liczby ujemne są w kodzie U2. S = I / 16 Powyższe...
przeczytaj jeszcze raz poprzedniego posta chcesz gotowca czy sam to rozgryźć? Zmień sobie If Liczba < 0 Then Set S1 Gosub Minus Reset S1 Gosub Resetuj End If na If Znak = 1 Then 'wartosci ujemne Set S1 Gosub Minus Reset S1 Gosub Resetuj End If zmienna liczba nie będzie wtedy potrzebna zastąpi ją zmienna znak (zyskujesz na rozmiarze kodu bo zmienna...
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()
Jeżeli ktos posiada DS1820 lub DS18S20 to mam prośbe aby przetestowal program zamieszczony ponizej poniewaz posiadam DS18B20 a w nim inaczej odczytuje się temperature. Sprawdzałem to na symulatorze w Bascomie AVR i działa. Odczyt temperatury z dokładnośćią 0.5 st C bo mam wątpliwosci czy z DS-a o przetworniku 9-cio bitowym da się wycisnac dokładniej...
Nie wiem czy dobrze ustawiłem dim'y Wyswietlanie,Trybprzycisk, Trybpomocnicza1 mają być Byte ? W takim układzie przyciski będzie zczytywało co 4ms, ale co z odświerzaniem LCD co 100ms i 1sek ? Aha i gdzie mam określić port przycisku PORTA.7. [syntax=vb]$regfile = "m16def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości...
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?
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...
Raczej schemat zgodny jest z programem. Jedynie z Portd.6 nie do końca wiadomo co zrobić. Prawdopodobnie trzeba do niego przyłączyć diodę świecącą wskazującą na wartość ujemną, a diody na schemacie nie ma, podobnie jak DS18B20.
Hej, czy możesz nam pomóc i zawęzić, która wersja łamie DS18B20 dla Ciebie?
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.
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.
Trzymaj. Soft do 18b20 z obsluga lcd 2*20 na hd44780. temp ujemne, dodatnie, wyswietla z rozdzielczoscia do 1 miejsca po przecinku. pozdr ------------ dopisalem: to oczywiste za jak piszesz posta to masz problem, wiec po co to podkreslac w temacie ;) pozdrawiam.
witam czy ta biblioteka obsluguje ujemne temp? bo na wystwietlaczu ponizej zera otrzymuje wartosc 4096..i maleje wraz z malejaca temp... co jest nie tak? dziekuje pzdr.
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...
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ć...
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. Nic nie trzeba modyfikować.
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....
ujemne ds18b20 ds18b20 ujemne temperatury ds18b20 temperatury ujemne
kalkulator graficznym laptop fujitsu amilo akumulatora lm358
laser krzyzowy wytrzymałości dwuteowników
Iveco Daily kod błędu 43 – czujnik pedału gazu, ABS, SRS, interpretacja DTC Samsung pralka wyłącza się przed wirowaniem – brak reakcji, filtr EMI, zasilacz PCB, modele WW7-WW9