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ść :)
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...
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...
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()
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
jestem ciekaw jak tam u ciebie z odczytem ujemnych temperatur, bo wg mnie to będą źle czytane. no chyba że nie potrzebujesz ujemnych
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?
Dziękuję, jednak z racji okrojonej pamięci chciałbym użyć bibliotek p. Łukasza, bo jeszcze udaje mi się tam upchnąć inne składniki softu, obsługa piękna i prosta, a tu na forum temat poruszany często dla innych procków i w dość rozbudowany sposób. Póki co nie znalazłem nic mega uproszczonego :( może jeszcze na odpowiedni temat nie trafiłem (https://www.elektroda.pl/rtvforum/topic...
Jak projekt radzi sobie z temperaturami ujemnymi?
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...
..a tak , sorki, chcialem sie ogolnie dowiedziec czy w ogole ta biblioteka obsluguje ujemne temp.. ale oto moj kawalek kodu ..... sprintf(datatemp,"t%u=%+.1f\xdfC",0,ds18... lcd_gotoxy(0,0); lcd_puts(datatemp); .... datatemp jest tupy char, temperatura z ds jest typu flolat... taki kod tez nic nie daje.... w1_init();...
Witam ! temp = ((~scratchpad[1])*16... + (((~scratchpad[0]... temp_calosci = temp; poprzecinku = (temp - temp_calosci)*10; // dzięki temu można pozbyć się minusa gdy jest-0.0625 st.C bo i tak wyświetla // do częsci dziesiętnych więc byłoby -0.0 st C <-- troche bez sensu if((temp_calosci+poprzecinku)...
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...
Hej, czy możesz nam pomóc i zawęzić, która wersja łamie DS18B20 dla Ciebie?
Czy Ty nie widzisz , że ten kod to stek bzdur :?: :| Popatrz:[url=http://www.elektroda.pl/rtv... Piotrek
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.
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
Kolejna sprawa to nie zdziw się jak będą wyświetlać się bzdury przy ujemnej temperaturze.
Bardzo fajny opis :) tylko czy bedzie dzialal na DS1820? Bo widze z ty opisujesz DS18B20... Pozdrawiam
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.
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.
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.
Kurde uprzedziłeś mnie :D Wiedziałem że to ten minus robi problemy, bo przeciez dla dodatnich było dobrze tylkoże nie zauważyłem tego wcześniej bo nigdy nie mierzyłem ujemnych :) Pozdroofka Piotrek
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.
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....
Dobrym pomysłem byłoby dodanie informacji, czy temperatura jest dodatnia, czy ujemna.
tak, uwzględniłem powyższe, jak narazie odczytuje poprawnie, jeszcze ujemne temperatury muszę sprawdzić.
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
czyli dla dodatnich się mogą sumować ale dla ujemnych już nie ? tak ?
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]
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
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem ze zmiana z systemu binarnego na dziesiętny jest znana?...
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 :)
Ja zrobiłbym to na mosfecie typu P i włączał dodatni biegun zasilania, a nie ujemny.
sprubuj zmienić int na byte (chyba ujemnych temperatur nie będziesz mierzył).
(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.
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.
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...
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. :|
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.
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.
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....
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%.
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ć...
(...) odczytu temperatury. Jaki zaproponowałbyś kod (AVR GCC), aby nie trzeba było używać delay'a (może pooling lub maszynę stanu) ? Przy okazji przedstaw optymalną (bez zmiennoprzecinkowych liczb) konwersję danych ze scratpad'a na stopnie (może być złożeniem liczb całkowitych jako stopnie i części ułamkowe). Do obsługi termometrów DS18B20 bez blokowania...
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.
A nie byłoby lepiej zastosować układu termometru, który komunikowałby się jakimś cyfrowym protokołem. Na myśli mam tutaj 1Wire i układ DS18B20.
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?
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
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...
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...
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.
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...
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...
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...
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....
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...
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 jeszcze jeden problem z wyswietlaniem minusa przy ujemnych temp i z przesunieciem gdy tem jest poniezj 10st czyli jedno cyfrowa. Dim St1 As String *6 .... Temp: 1wreset 1wwrite &HCC 1wwrite &H44 1wverify Dsid1(1) 1wwrite &HBE Sc(1) = 1wread(9) If Sc(9) = Crc8(sc(1) , 8) Then B1...
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...
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...
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?
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...
Zrobiłem tak jak Grzesiek proponował. Efekt jest taki, że funkcja zwraca wyłącznie wartości dodatnie, więc nie ma problemu z błędnym działaniem. Jednak dalej nie wiem czemu wartości ujemne zaburzają pracę programu. Podejrzewam, że to raczej optymalizacja robi taki cyrk...
Witam Wiem że takich tematów jest sporo ale mój problem jest trochę inny. Mam problem z DS18B20 nie wiem jak odczytać z niego dane. Umiem odczytać temperaturę z DS1820 ale z wersji B nie umiem. W wersji DS1820 jest tablica dwóch zmiennych typu byte i w tej drugiej zmiennej jak jest ujemna temperatura jest 255, a wersja DS18B20 drugą zmienną(tak jak...
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
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! 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...
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...
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...
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)
Nie to sprawdzałem. Wygląda to jakby procedury odczytu DS-a działały bo ta temperatura wyświetlana -0.1 o tym świadczy. DS jest zasilany z 3,3V i wyczytałem że przy takim zasilaniu rezystor podciągający linie DQ ma mieć około 2k i taki mam. Ale z rezystorem 4,7k też nie działało. Gdzie to wyczytałeś? Datasheet nic na ten temat nie mówi, poza "Can be...
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.
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...
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...
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...
niestety ujemnych liczb cgba nie obsługóje , chociaz może ??? co do zaokrąglania to mozna dać Lcd Fusing(Wynik , "#.##") i powinno działać pozdrawiam
ok spokojnie mogę ci podrzucić te procedury na których teraz to robię. Niestety jest tam troszkę skopany odczyt temp ujemnej ale to łatwo będzie poprawić. A jest to skopane bo poprawiałem te procedury, które były przygotowane dla wersji DS18S20 a nie DS18B20. Jeśli będziesz je chciał to daj znać
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...
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.
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...
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 {...
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ż...
A rodzaj zmiennej ma znaczenie w tym przypadku? Bo kombinuje i z byte i integer. Zdecydowanie ma , a także znak liczby.Jeżeli spodziewasz sie pomiaru temperatur ujemnych, to całe Twoje obliczenia temperatury i podzielenia je na "cyfry" , biorą w łeb :| Radzę poeksperymentować w symulatorze - można nieźle się z(a)dziwić :)
Jeśli taktujesz MCU zegarem 1 MHz (tak wychodzi z preskalera) to okres zegara wynosi 1us, tyle ile mniej więcej trwa impuls ujemny OW. Przy tak niskim taktownaiu można to zrobić, ale lepiej podnieść je do 4-8 MHz, co da więcej czasu. Tak jak pisałem, umieść w sekcji atomowej samo generowanie impulsu ujemnego, a delaye oprzyj o timer i będzie ok. BTW,...
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...
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...
Sprawdź rezystancję pomiędzy nóżkami zasilającymi. jak jest rzędu setek omów to raczej napewno układ leży. Masz racje jest duza rezystancja miedzy nóżkami. Jeśli jest DUŻA to dobrze, jeśli mała to znaczy że jest zwarcie. Racja dużo to dobtrze, ale tak na poziomie Momów Sprawdziłem na sprawnych układach. Przy polaryzacji nóżek: GND zacisk dodatni omomierza,...
http://obrazki.elektroda.pl/8609137500_1... Witam, przedstawiony układ umożliwia: -pomiar zarówno dodatnich, jak i ujemnych temperatur, -wybór jednej z dwóch częstotliwości powtarzania pomiaru, -pamiętanie najniższej temperatury (wyświetlanie po wciśnięciu przycisku, kasowanie po resecie uC), -prezentację wyniku na 4-cyfrowym wyświetlaczu...
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...
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...
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...
http://obrazki.elektroda.pl/8964865900_1... Witam wszystkich! Chciałbym przedstawić swoją płytkę testową do mikrokontrolera Atmega8. Celem projektu było stworzenie prostej podstawy domowymi środkami pod naukę programowania w C. Jako podstawę zdecydowałem się wybrać większą płytkę uniwersalną, dzięki temu można wprowadzać drobne zmiany...
Witam Chciałbym przy użyciu dwóch przycisków ( nawet jednego, bo pewnie tak się da ) zmieniać czujnik DS18B20, a właściwie wskazania które pokazuje. Mam dwa układy DS18B20 i przy założeniu ( teoretycznym ), że mam mało miejsca na wyświetlanie, więc dobrze by było mieć możliwość zmiany ( na przemian jednym przyciskiem lub dwoma - pierwszy-drugi ). Samo...
No i chyba się wyjaśniło choć rezultat i tak marny. Cokolwiek to jest to nie jest jednak DS18B20, tknęło mnie to co pisał Wojtek75 i sprawdziłem jeszcze raz. Family CODE w numerze seryjnym tych czujników jest &H10 co wskazuje na to, że pomimo pięknego napisu DS18B20 na obudowie jest to DS18S20 lub DS1820. I byłoby nawet pięknie, bo poradziłbym sobie...
ds18b20 temperatura ujemny ds18b20 ujemny temperatura ds18b20 bascom ujemny
szyby peugeot szaleć touchpad wyprowadzenia rs232
behringer europower proste uklady elektroniki
Kody błędów BSI Peugeot 307 1.6 16V 2001 Body Computer (BSI) SW vers: 33, SW index: 5 - co to oznacza?