DS18B20 w przypadku uszkodzenia / złej konfiguracji często odsyłają wynik 85 stopni. O 6,6 nie słyszałem jeszcze.
Mam problem z uruchomieniem DSa na moim M16. Przejrzałem chyba z 50 tematów na forum, próbowałem już wszystkiego co znalazłem i nic. DSa mam podłączonego do procka przez 4k7 do zasilania, masa i Vcc czujnika razem są podłączone do masy, kwarc 4MHz, wszystko na płytce uniwersalnej, zasilacz raczej dobry, wyświetlacz 20*2 i za nic nie chce się to ruszyć....
To jest konwersja na ASCII, np. do wyświetlenia na LCD lub terminalu. Pytania, które zadajesz, nie dotyczą mikrokontrolerów, a podstaw języka C. p jest zmienną wskaźnikową, czyli adresową. *p ++ = x - to zapis x pod adres zawarty w p i zwiększenie tego adresu, tak, aby p wskazywała następny bajt bufora. Jedynka w apostrofach - to znak ASCII - cyfra...
Witam Napisałem następujący program.... temperaturę wysyłam w stopniach fahrenheita Sub Ds18b20 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) T = Odczyt(2) Shift T , Left , 8 T = T + Odczyt(1) T1 = T * 0.0625 T2 = T1 T1 = T2 / 5 T2 = T1 * 9 T1 = T2 + 32 End Sub zmienną...
Użyj ATOMIC_RESTORESTATE a nie ATOMIC_FORCEON. Dzięki temu odtwarzany jest stan znacznika I a nie bezwzględnie ustawiany. A po co? Jeśli w programie p Tak, ale jeśli kiedyś, z jakiegoś powodu, gdzieś wcześniej zablokuje przerwania, to co się stanie po użyciu ATOMIC_FORCEON? Takiego błędu mozna później długo szukać. Owszem, ATOMIC_RESTORESTATE to jeden...
Ja też mam mały problem ze wskazaniami temperatury na DS18b20 . Teorytycznie pokazuje dokładnie bo pod pachą pokazał 36,6-36,7 ale temperaturę w pokoju mi zawyża pokazuje 21 stopni a gdybym tyle miał to by był luksus tej zimy jeszcze nie odpalałem grzejników bo nie było jeszcze tak zimno . Jak włożyłem DS-a w kulkę śniegu to temperatura spadła do 6...
A jak odlaczysz czujnik i podlaczysz z powrotem.Tzn nie musisz fizycznie go odlaczac a po prostu zewrzyj linie danych z masa.Blad wyglada co najmniej dziwnie.A co z tym wynikiem temp ? Wyskakuja krzaki czy np 85 stopni i nic wiecej ?
Wychodzi z tego, że zastosowany u mnie układ to DS18B20 (wg dokumentacji płytki jest DS1820), ale przy podzieleniu T/2 otrzymuje wynik +/- 195C, przy podzieleniu na 16 mam +/- 24C.. Czyli rozumie, że powinienem zmienić/dostosować program do DS18B20.. spróbuje i dam znać.
Jak w teromometrze DS18B20 ( NIE w DS1820) przetworzyc odczytany wynik na stopnie celcjusza? Jak to zrobić w Bascomie?
Ja zazwyczaj przykręcam bezpośrednio do płytki testowej. Gdy niema żadnego rezystora podciągającego to wynik mam równe 0 stopni a jak podłącze rezystor to mi pokazuje ułamki stopnia na " - " . Sprawdzałem już różne wsady i zawsze to samo.
Działa :) Jak to jednak bywa, poniżej 10st. pokazuje z zerem przedtem, czyli np. 9,7st pokazuje jako 09,7 st. Jak zniwelować to zero przez 9 żeby był czysty wynik oraz jak oddzielić spacją między 'wew' a odczyt, tj teraz pokazuje np: 'wew23,0st' a chciałbym żeby wyświetlało 'wew 23,0st'. EDIT: przedwczesna radość... poniżej 10st, rzeczywiście nie resetuje...
dzisiaj testowałem pliki od Szumulusa na atmedze16 i ni wiem czy to wina mojego mikrokontrolera ale np na portach PA1, PA2 temperatura albo wskazywała ok 60 stopni albo np na pinach PA5 6 stopni (w pomieszczeniu ok 20 stopni). Na portach PA0 , PB0 otrzymany wynik jest w granicach błędu. Drugie pytanie jak mogę porównywać temperatury , w tej wersji wynik...
Witam! 1. dokładności +/-0,5 stopnia w zakresie od -10 do + 85 stopni to wg katalogu dokładność kalibracji czujnika. A więc jest to różnica pomiędzy wskazaniami czujnika z serii DS18x20 a termometrem wzorcowym. 2. natomiast wynik pomiaru zależy od zaprogramowanej rozdzielczości pomiaru: - dla ds1820 i nowszego ds18s20 wynosi ona 9-bitów, a to oznacza...
Poprawiłem algorytm przeliczania wartości z ADC na temperaturę, i zdałem sobie sprawę, że wcześniej zupełnie źle do tego podszedłem. Do tej pory mogłem mieć zbliżone wyniki w temperaturze 100 stopni Celsjusza, a wyżej i niżej temperatura ostro się rozjeżdżała z wynikami. Obecnie w kodzie umieściłem tablicę zawierającą 77 wartości napięcia, z tabeli...
Jak wysle po RS'ie to wychodzi mi cały czas zero stopni Ręce człowiekowi opadają Naściągałem już kupe programików, każdy albo nie chodzi albo wynik jest 0 stopni. Spradziłem połączenia, i wypróbowałem wszystkie konfiguracje dalej to samo. Może coś z zasilaniem, podawane z przetwornicy DC/DC Lm2574N-adj. Układ jest zasilany 12V (ma pracować na akumulatorze...
Problemu dalej nie rozwiązałem. Poniżej zamieszczam kod. Przy ustawieniu atmegi na 8MHz (fusy jak i w kodzie) temperatura wynosi 0, a gdy atmega pracuje z zegarem 1 MHz (default) temperatura jest pokazywana 85 stopni.Po odłączeniu DS'a pokazuje 0 stopni, czyli coś z niego szczytuje. Ale zmiana czasów nic nie daje, cały czas takie same wyniki. Wszystko...
Problem wygląda tak: -temperatura np. 21.5 stopni. -odczytany wynik = 344 (21.5/0,0625) w procedurze wykonujesz: -mnożysz 344 * 10 = 3440 -dzielisz 3440 / 16 = 215 !!!!! Sam widzisz, że teraz tylko sposób wyświetlenia jest istotny, bo wynik twoich obliczeń to 215 a nie 21,5. Więc skorzystaj z pomysłu kolegi Konrada lub wymyśl coś innego.
Zaczynam z Arduino korzystam z DS18B20 oraz bibliotek #include <OneWire.h> #include <DallasTemperature.h> wynik mam w zmiennej tempC float tempC = sensors.getTempC(sensor); Wynik chciałbym umieścić na 4 wyświetlaczach 7-segmentowych Sterowanie przez SCT2024 (rejestry przesuwne) płytka już jest z innego projektu. Jak z tej zmiennej pobrać...
Witam Mam od dłuższego czasu problem z DS18B20. Stosując różne kody, różne przedziały czasowe (biorę przykłady z innych aplikacji) ciągle są inne wyniki. Wynik jest wyświetlany na wyświetlaczu 7-seg, proszę nie zwracać uwagi na nieprawidłowe multipleksowanie (pojedyncze cyfry na moje wskazanie wyświetla prawidłowo). DS18B20 odpowiada na reset pulse,...
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 datasheet-cie DS-a jest napisane co oznacza gdy wysyła ci temperaturę 85 stopni... Jest to jak najbardziej uzasadnione, ponieważ pierw odczytujesz wartość rejestru temperatury a dopiero po tym rozpoczynasz konwersję, zawsze pierwszy wynik będzie błędny... Nie przeklejaj bezmyślnie kodu od innych. Pozdrawiam, GSM
Obliczenia sa dziecinne proste: T = T*10, T= T/16 i wychodzi wynik np przy 14.5 st 145 który potem dzielisz przez 10 i masz całe stopnie a z funkcji mod otrzymujesz dziesiatki stopnia. Dodałem te operacje do bascoma(T = T*10, T= T/16) i mam np -95 i gdzie dziele to przez 10 to uzyzyskuje spowrotem -9 stopni :? an -9,5 stopnia.
ad. mobilne & kufcio - chociaż ja nie znam się na programowaniu to staram się chociaż trochę poznać bascoma i śledzić kod. My tu mamy sobie pomagać a nie odwalać całą robotę za kogoś bo komuś się nie chce. Co do stopni to zapraszam do lektury, co do 1820 też zapraszam do lektury ale podpowiem, że trzeba wynik zamiast dzielić przez 16 to trzeba przez...
Temperaturę odczytaną z ds'a formatuję i wrzucam do zmiennej string poleceniem FUSING, np: Temp = Fusing(t1 , "#.#") gdzie Temp to string, a t1 to zmienna single z odczytaną temperaturą. Następnie mam kilka warunków if..then gdzie zmienna Temp jest uzupełniana znakami (np. spacji), tak aby fragment łańcuch z pojedynczą temperaturą miał zawsze tą samą...
http://obrazki.elektroda.pl/2534599000_1... Zegar + termometr DS18B20 - ATtiny 2313 - LED Wykonany na ATtiny 2313. Znane podobne zegary oparto na Atmega 8 i LCD. Program napisany w Bascom. Pracuje bez zarzutu. http://obrazki.elektroda.pl/9466031800_1... http://obrazki.elektroda.pl/4401807600_1... http://obrazki.elektroda.pl/5327081100_1...
Witam, Przeszukałem forum i nie znalazłem rozwiązania które by pomogło. Problem wygląda następująco. Komponenty problemu Atmega8a, bascom AVR IDE (2.0.7.5), czujnik DS18B20. Sprawdzone problemy z forum: -Nieprawidłowe podłączenie. Nóżka danych jest podciągnięta przez 4,7k Ohma do 5V -Kable zostały sprawdzone pod względem ciągłości -Sprawdziłem czy jest...
Witam chciałbym zrobić sobie termometr wyświetlający na wyświetlaczu lcd 2x16 podpiętym do atmegi8 temperaturę w stopniach celcjusza i zaraz obok w tej samej lini stopnie w skali Farenheita, próbowałem coś zrobić ale wyświetla mi tylko stopnie celcjusza (czyli temperatura się zmienia po ogrzaniu lub ochłodzenia czujnika) natomiast w stopniach Farenheita...
teraz już jest wszystko w jednej lini, dziękuje;) ale mam jeszcze jeden problem, a mianowicie cały czas wyświetla mi coś takiego: "wynik: -0,1 stopni C, nawet gdy odepnę czujnik temperatury to się nic nie zmienia. Nie trzeba jeszcze czegoś przypadkiem ustawić przed kompilacją??? Wydaje mi się ze nie wykrywa czujnika wogóle. a podłączenie LCD mam tak...
Mało tego. Wiem, że pierwszy pomiar powinien być 85. A dlaczego miałby być, skoro zanim odczytasz temperature wysylasz rozkaz konwersji i czekasz na jej zakonczenie? Jakbyś najpierw czytał, a potem konwertował, to pierwszy wynik byłby 85 stopni. Czy problem może polegać na tym, że nie zmieniam konfiguracji pinów z wejścia na wyjście i odwrotnie w trakcie...
http://obrazki.elektroda.pl/3637756900_1... http://obrazki.elektroda.pl/6313868300_1... Zrealizowałem w tym roku swoje postanowienie jeszcze sprzed zeszłej zimy i zrobiłem sobie wreszcie własny sterownik pieca CO. Na początek pytanie "dlaczego"? Otóż oryginalny dostarczony z piecem przede wszystkim miał 6 poziomów nadmuchu...
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();...
Bawię się ostatnio DHT11 i mam problem z wiarygodnością pomiarów. Temperatura. Porównuję działanie DHT11 z DS18B20. Co prawda różnice mieszczą się w granicach błędu deklarowanego przez producenta, bo normalnie obserwuję pomiary DHT na poziomie 19/20 stopni podczas gdy DS daje 21/22, ale jest to mimo wszystko lekka lipa, bo w sumie jest to dość zasadnicza...
Miałem kiedyś przypadek, że zawilgocony czujnik podawał 0 stopni z poprawnym CRC8, dopóki nie wysechł. (Zasilany pasożytniczo.) Szansa na to 1/256 Twierdzę, że złe połączenia mogą powodować zafałszowanie pomiaru na etapie konwersji temperatury. Zły wynik wpisany wówczas do scratchpadu może być później poprawnie odczytany z dobrze wyliczonym dla niego...
Kolega piotrva i atom1477 mieli oczywiście rację, teraz jest OK. Natomiast w kwestii migania przy odczycie temperatury, to może to rozbić na takie części makeint powinno się sprawdzić, termometr ma być dodatkiem do budzika
Ja to zrobiłem na Attiny13, temperatura jest określona na stałe, taka byłą specyfika mojego projektu laminatora (do folii UV). Kod był zaczerpnięty z sieci, lekko go zmodyfikowałem. Pamiętam, że teoria nie pokrywała się z praktyką i musiałem wpisać temperaturę z przesunięciem o kilka stopni. [syntax=vbnet]' Uk³ad z sam¹ diod¹ dzia³ao...
Udało mi się połączyć kod, i dopasować preskalery do Atmegi ale podczas kompilacji napotykam błędy których kompilator nie może dokładnie określić prosiłbym o sprawdzenie całości i ewentualne poprawki [syntax=c]//Sterownik wytrawiarki PCB, LCD2x16, ds18b20 #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h>...
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
https://obrazki.elektroda.pl/3015192200_... https://obrazki.elektroda.pl/8259669100_... https://obrazki.elektroda.pl/5159476700_... https://obrazki.elektroda.pl/4560409700_... https://obrazki.elektroda.pl/6588401500_... Urządzenie mierzy temperaturę pirometrem MLX906...
Ds18B20 jest jednym z najdokładniejszych termometrów Dallasa, mozna wyciagnąc rozdzielczość +/- 0,1 stopnia. Wynik jest zapisaywany w dwóch bajtach. Hi--> SSSSSHHH, Lo->HHHHHLLL, gdzie S-znak, H-bity czesci całkowitej pomiaru temperatury w stopniach [C], L-bity wyniku po przecinku (L*0,0625 [C]). Wyniki sa zapisane w kodzie U2.
Witam Podłączyłem do Arduino dwa czujniki temperatury Pierwszy: Czujnik temperatury i wilgotności DHT11 Zakres pomiarowy: 0 - 50 °C Rozdzielczość: 8-bitów (1 °C) Dokładność: 1 °C Czas odpowiedzi: 6 - 15 s (typowo 10 s) Drugi: Sonda wodoodporna z czujnikiem temperatury DS18B20 Zakres pomiarowy: od -55 °C do 125 °C Dokładność: +/- 0,5 °C w zakresie -10...
https://obrazki.elektroda.pl/5304082500_... * Witam po dłuższej przerwie, tym razem dział mikro kontrolerów. Wymagania dla projektu / założenia: Pomiar w pomieszczeniu/ obudowie urządzenia /w zbiorniku temperatury powietrza /cieczy na wejściu i wyjściu. Wyświetlenie na żywo aktualnych wartości temperatur na wyświetlaczu LED x2. Wykrywanie...
Kolego fazolek zrobiłem konwersję co 10 sekund i wynika iż mniej się nagrzewa struktura DSa i niema efektu narastania temperatury. Mam dwa takie same czujniki i dwa takie same termometry w jednym konwersja jest co 850ms w drugim co 10s i rozbieżność tam jest około 0,4. Ciągle się im przyglądam i widzę liniowy offset. Oba czujniki są za oknem więc wiadomo...
Korzystam z bibliotek Mirka Kardasia, jest tam kontrola CRC. Steruję Peltierami PWMem poprzez sterownik mostka H. Czy zakłócenia z tego wynikające mogą być przyczyną? Kiedy dałem na wejście PWM sterownika zasilanie 5V, wtedy problemu z uciekającymi temperaturami nie było, ale czas w jakim temperaturę około 34 stopni osiągnąłem był wtedy sporo krótszy...
Udało mi się odratować termometr. Przypiłowałem delikatnie obudowę i mogłem dolutować się do półmilimetrowej pozostałości po nóżce. Całość zalałem teraz dokładnie termoglutem, bez żadnych termorurek. Dodatkowo zalałem też w termoglucie metalową nakrętkę, aby zwiększyć ciężar - do tej pory termometr cały czas wypływał na powierzchnię. Oprócz niego mam...
Jeśli czujnik zaniża tylko niektóre pomiary, to wydaje mi się, że raczej nie może to być skutek opisanego problemu. Zmiana danych kalibracyjnych w EEPROM musiałaby przecież spowodować zaniżenie albo zawyżenie wszystkich następnych pomiarów. Miałem taki przypadek z DS18B20 zasilanym pasożytniczo: komunikacja z czujnikiem odbywała się całkowicie poprawnie,...
Ja to robię tak że jak już masz temperaturę z danego czujnika odczytaną np w zmiennej temp odejmuję od niej 100 i w dodatkowym menu mam możliwość jej dodania czyli dodając 100 jednostek mam wynik równy zero. Ale ustawienie np na 95 spowoduje obniżenie pokazywanej temperatury o 0,5 stopnia. Mam nadzieję że mnie rozumiesz. Też piszę w Bascomie może niezbyt...
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...
Ok ale wystarczy że grzałka jest na dole a czujnik na górze. Wodę wtedy grzejesz od dołu a pomiar masz na górze. Jak mam w sumie trzy pomiary na pionowym 200 litrów. Pierwszy mechaniczny na 1/3 od góry na przeciw niego elektroniczny do pieca gazowego. Na 1/3 od dołu mam ds18b20 z arduino do sterownika grzałki PV (odczyt plus awaryjne wyłączenie po przekroczeniu...
https://obrazki.elektroda.pl/8241660300_... Spodobała mi się stacja pogodowa Byrrt'a https://obrazki.elektroda.pl/1157501600_... https://obrazki.elektroda.pl/2524472200_... https://obrazki.elektroda.pl/3232342100_... https://obrazki.elektroda.pl/5523406500_... https://obrazki.elektroda.pl/6703679600_...
Na początek spróbuj uruchomić odczyt temperatury na liczbach 8 bitowych (jeden bajt) - będzie łatwiej ogarnąć w asemblerze. Wynik odebrany w 12 bitach przesuwasz w prawo 4 razy i zostaje 8 bitów. clr c ; Zamien 12 bitow na 8 mov a, temp+1 rrc a mov temp+1, a mov a, temp rrc a mov temp, a clr c mov a, temp+1 rrc a mov temp+1, a mov a, temp rrc a mov...
Witam. Jestem nowy (no powiedzmy przedszkole, nie żłobek) w dziedzine programowania, jak i na tym forum. W ramach początków nauki na warsztat wziołem procek AVR i oklepany na wszelkie tematy termometr Ds18B20. Na szczęscie z komunkacją i odczyten temeratur nie ma problemów i tym nie będę zawracał głowy. Nie jeden powie uff. Choć może nie do końca, na...
A ja mam takie pytanko. Bo sam próbuje zrobić temorstat na ds18b20 i myślałem żeby wynik pomiaru przepisać do zmiennej i zrobić warunek większy bądź równy. Najlepiej przedstawie: ..... I3 = I3 * 10 I3 = I3 / 16 Termostat = I3 * 10 Termostat = I3 / 16 If I3 > 0 Then 'korekta przesuniecia znaku st C przy przejściu z temp ujemnej na dodatnią Ss = Str(i3)...
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...
Witam, Proszę o info jakie wyniki wyszły pomiaru temperatury wody z lodem? Faktycznie błąd aż 5 stopni? Pozdrawiam
Witam. Proszę o brak agresji w moją stronę ze względu na moje pytanie które zaraz zadam. Temat wałkowany ale jednolitej odpowiedzi nie mogłem dostać więc proszę o pomoc. Wykombinowałem z paru źródeł taki o to kod (wraz ze zdefiniowanymi przeze mnie zmiennymi): #define F_CPU 8000000UL #include <util/delay.h> #include <avr/io.h> #include <stdlib.h>...
Dokładność pomiaru BME280 dla temperatury to +/- 1 stopień C .. dla DS18B20 to +/- 0.5 stopnia C.. teoretycznie możesz mieć więc rozbieżność 1.5 stopnia C.. Choć uważam, że 2 stopnie to zbyt duża różnica.. Na wyniki wypluwane przez BME280 ma wpływ obsługa programowa czujnika - w jaki sposób jej dokonujesz? Korzystasz z jakiejś gotowej biblioteki ?
Ja rozwiązałem ten problem w następujący sposób //.... tmp1 = temp1; // w tmp1 bedziemy trzymac czesc ulamkowa tmp1 &= 0x0f; // wycinamy niepotrzebne bity HHHH temp1 >>= 4; // przesuwamy HHHH w prawo wycinamy LLLL temp2 <<= 4; // wycinamy 4 niepotrzebne bity znaku t = temp1 | temp2; // laczymy i w t mamy czesc calkowita if (t >...
Witam Tez się właśnie zajmuje odczytem temperatury na Lm35. Działa, chociaż nie stosuje dławików. Jako napięcie referencyjne wybrałem wewnętrzne napięcie odniesienia 2,56V. Nawet przy najwyższej temperaturze dopuszczalnej napięcie wyjściowe czujnika nie osiąga 5V (150*0.010V= 1,5V), dlatego też 5-cio woltowe napięcie odniesienia nie ma sensu. Przy niższym...
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...
Ehhh Koledzy... Wygląda na to że dałem ciała po całości :| I to i tak delikatnie się wyraziłem... Wstaję rano - patrzę na LCD: 1.5 stopnia. Idę do kuchni, patrzę na LIDLowy termometr: -1.0 stopnia. Więc pierwsze co pomyślałem, że mój układ nie wyświetla minusa. I w tej panice pobiegłem do Was. Popołudniowa kawa, testy... No minusik jak się patrzy (sketch...
problem polega na tym ze wyswietla sie "- 0.1" stopnia czy jest czujnik czy go nie ma jesli odejme 4,7k od +5 to jest "0.0"stopnia program wyglada tak. co jest nie tak? $crystal = 4000000 $regfile "attiny2313.dat" Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 Set Portd.6 Config 1wire = Portd.5 Set Portd.6 Dim Odczyt(2) As Byte...
Jak ze zmiennej float wyciągnąć części dziesiętne, całości i połówki? Czy po tej konwersji wyniku będę miał dokładność 0,5 stopnia(jest to konieczność)? Po prostu nie rób konwersji, zobacz w dokumentacji czujnika jaki jest format danych i będziesz wiedział.
Jak widzisz, w kodzie który przedstawiłeś, brak czujnika lub błąd lub nienaturalna temperatura (ujemna w tym przypadku) skutkują wynikiem "99". A ja jednak podtrzymuje stwierdzenie, że umiejętne zwarcie linii sygnałowej do masy w Twoim kodzie będzie skutkowało wesołym odczytem 0 stopni celsjusza. Zero nie jest ujemne i nie wyłapiesz tego warunkami...
...W pokoju na inym termometrze temp. wynosi 20.9 stopnia celciusza a na DS18b20 msb=0x01 , lsb=0x7D. Gdy staram sie to przeliczyc na piechote na kartce wychodza mi wyniki w granicach 35 stopni.A nawet i wiecej. 0x017D/0x10=0x17 (23 stopnie) Jesli chodzi o rozdzielczosc czujnika, to moim zdaniem jest to rozdzielczosc 9-bitowa.Czujnik nie byl od poczatku...
Witam ! Probuje napisac w Bascomie program ktory prezentuje odczyt temeperatury z DS18b20 na 7 segmentowym wyswietlaczu, a dokladniej na 4. Temperatura ma byc wyswietlana na pierwszych 2 a na 3 i 4 ma byc znak stopni Celcjusza, z tym sie juz uporalem. Nie umiem natomiast zaprezentowac samego wyniku, na wyswieltaczu 1 i 2 jest caly czas 00. Oto listing...
Ta sekcja zasilania na białej płytce to jeżeli się nie mylę niemalże 1:1 przelut z chińskiego modułu? ;) Nooo, w zasadzie tak. Tylko, że te Chińskie moduły to jest 1:1 "reference design" dla tych stabilizatorów, więc jakoś nie dziwne, że wszyscy zrobili to podobnie. :D Czy jest jakiś konkretny powód, dla którego znajduje się ona wewnątrz stacji a nie...
Oto mój program wykorzystujący LCD w trybie 4-bitowym, śmiga jak ... Jest tam obsługa LCD i 1wire, procedurki LCD łatwo wyłowić :) // ****************************************... // Project: Obsluga układu DS18B20 // Author: Zbigniew Chrobot // Module description: pomiar temperatury z DS18B20 kwarc 4MHz // wyswietlanie na...
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
1wreset 1wwrite &HCC 1wwrite &H44 Wait 2 1wreset 1wwrite &HCC 1wwrite &HBE Bd1(1) = 1wread(9 , Pind , 7) 1wreset Tmp1 = Makeint(bd1(1) , Bd1(2)) tak pobiierznie wygląda odczyt z ds-a i wynik dzielisz przez 16 i wynik masz w stopniach i niema bata zeby to nie działało bo na moje to troche namieszałes bo po co ta petla do - loop w srodku odczytu z ds-a...
Próbujesz wgrać kod na AT90S2313 do ATmegi16? Te dwa procesory mają zupełnie inne rejestry więc trzeba odpowiednio przerobić kod dla ATmegi. Oczywiście pisząc w bascomie nie było by tylu problemów z przerobieniem, DS1820 i DS18B20 też są w pewnym stopniu różne od siebie więc nie będzie dobrze wyświetlany wynik.
To mój plik z obsługą 1Wire [syntax=c]/*ds18b20.c*/ #include <avr/io.h> #include <util/delay.h> #include "ds18b20.h" #include <avr/interrupt.h> /*RESET*/ unsigned char uc1Wire_ResetPulse(void) { unsigned char ucPresenceImpulse; OUT_1WIRE_LOW; DIR_1WIRE_OUT; cli(); _delay_us(500); sei(); DIR_1WIRE_IN; cli(); _delay_us(45); sei(); if(bit_is_clear(PIND,PIN_1WIRE))...
Można wyświetlać temperaturę w podmenu "wybór_Ds" ale trzeba zmienić cały program. Chyba nie jest tak trudno zapisać sobie cztery ID czujników i wiedzieć później który gdzie przypisać. Najlepiej osobno podłączać każdy czujnik i na naklejce na kablu przy czujniki zapisać jego ID. Wiedząc gdzie jakie jest ID czujnika można już mu w podmenu przypisać odpowiednią...
Poprawiłem kod, cos mi sie wydaje że to nie jest ten co był w procesorze i dlatego nie wyświetla drugiej linijki. Podaj jaki numer wersji Bascoma używasz? Sprawdzilem na mojej płytce prototypowej i wszystko działa. Wykasowałem to co było niepotrzebne a ta pętla next nie działała bo źle jest napisana, trzeba inaczej ostrzeżenie o śliskości ułożyć. na...
Absolutnie nie chcę się nikim wysługiwać , po prostu po utworzeniu kodu: $regfile = "m8def.dat" $crystal = 1000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.6 , Db5 = Portb.7 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.2 , Rs = Portd.0 Config 1wire = Portc.0 ' termometr ds18b20 Dim I As Integer 'zmienne do odczytu...
Regulacja maksymalnego prądu jest w tym zasilaczu. Regulujemy od 0 do 25A. W tym konkretnym przypadku prąd ustawiłem na maksimum. Każdy może w zależności od posiadanego transformatora i potrzeb zbudować sobie własny zasilacz na przykładowo prąd 3A lub 300A. Schemat jest praktycznie bez zmian. Tylko kluczowe elementy mogą być słabsze lub silniejsze....
(...) 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...
Witam Czy ma ktoś doświadczenie w odbieraniu danych z dwóch (lub więcej) czujników drogą radiową... Chcę zbierać dane z różnych czujników (temperatura, ciśnienie, przyspieszenie, itp) wysyłających dane przez moduły 443MHz i odbierać je przez jeden odbiornik, taki DataLogger. Umiem to robić pojedynczo z każdego czujnika i wyświetlać wartości na wyświetlaczu....
(at)tmf dzięki za poradę, ale w tą stronę nie mogę iść. 1 - czujki pracują jednak w dynamicznym środowisku i "stabilizacje temperaturowe" nie mogą być dłuższe niż max 30 sekund, idealnie by było gdyby był to czas możliwie jak najkrótszy. 2 - budujemy za dużo urządzeń aby bawić się w programową kalibrację, dodatkowo wymiana czujnika, każdorazowo wbijanie...
No właśnie że na małe zmiany nie reaguje... Mam obsługe lcd zrobioną tak że muszę podawać w funkcji char lub string więc mam zrobioną konwersje jak ponizej... Jest to cała funkcja Read_Temp z konfersją float na tablice znaków i wyświetlanie tej tablicy na LCD... Dziwi mnie trochę zakres "j" w jakim mi się wyświetla te 10 stopni... jak mam te j<10...
moj listing: 1wreset 1wwrite &H55 For I = 1 To 8 1wwrite Nr_ukladu(i) Next I 1wwrite &HBE T(1) = 1wread() T(2) = 1wread() 1wreset Tt = Makeint(t(1) , T(2)) Temp = Tt / 16 Str_temp = Fusing(temp , "#.&") Locate 1 , 10 Lcd Tt Locate 1 , 1 Lcd Temp Locate 2 , 1 Lcd "Temp.(" ; R ; ")" ; Str_temp End Sub temp wynosi 23,3125 str_temp jest 23,3 tt czyli integer...
Witam ponownie Zrobiłem to przez Timer0. Jednak problem z aktualizacją wyświetlania dalej występuje. Jeszcze drugi problem to start, przez okres zdefiniowany zmienną Licznik ( teraz równą 300 ) nic się nie wyświetla - dopiero po czasie = 300. Próbowałem również z Enable/Disable Interrupts na czas pomiaru, ale nie było żadnego efektu. Mam takie pytanie...
Czyli pogmerałeś w konfiguracji źródła sygnału zegarowego. Co do temperatury - musiałbyś mieć oba układy ze sobą połączone na jakimś radiatorze czy coś w tym stylu, blisko siebie, żeby miały podobną temperaturę. Wtedy możesz eksperymentować. Ale 2 stopnie różnicy to i tak chyba nie tak źle. Pamiętaj też, że wartości w dataszitach wynikają ze statystyki,...
Deflcdchar 1 , 14 , 17 , 17 , 14 , 32 , 32 , 32 , 32 ' definicja znaki stopnia Config 1wire = Portd.5 ' konfiguracja portu PD.5 jako wejcia magistrali 1-wire Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single , Napis As String * 5 'Deklaracja wszystkich zmiennych potrzebnych do pracy programu Do 1wreset 'reset...
https://obrazki.elektroda.pl/6123581900_... https://obrazki.elektroda.pl/7287128400_... https://obrazki.elektroda.pl/4028941600_... Na początek trochę o historii urządzenia. Jakieś 20...25lat temu wykonałem zasilacza napięć +/-5, +/-12, +/-15, +18, +24 i regulowanego 5..20V. Przy każdym wyjściu znajdowała...
Jeszcze się zastanawiam, czy nie lepiej będzie zamiast Lsb i Msb odczytanej temperatury pobierać obliczoną wartość przed przecinkiem i po przecinku ? Tzn. wynik pomiaru temperatury będzie przesyłany przez RFM12 - chyba prościej będzie mieć gotowe, czyli wysyłam: Dodano po 4 Jednak coś nie tak jest. Zrobiłem to tak: Dodano po 2 Nie rozumiem. Po dwóch...
https://obrazki.elektroda.pl/9826733000_... Wśród projektów dla początkujących elektroników' wszelkiej maści termometry i termostaty były swego czasu bardzo popularne. Łatwo się je teraz realizuje z użyciem mikrokontrolerów, a proste termostaty do wentylatorów przydają się na przykład do budowy wzmacniaczy audio i zasilaczy warsztatowych...
Witam. Oto KOD: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z książki "Mikrokontrolery dla Początkujących" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja częstotliwości pracy kwarcu $regfile "attiny2313.dat" 'model procesora dla którego jest ten program Deflcdchar 1 , 14 , 17 ,...
Witam, postanowiłem zbudować termometr w oparciu o popularny czujnik DS18B20 i procesor attiny2313. Układ zmontowałem zgodnie z poniższym schematem ścieżek: http://www.portalnaukowy.edu.pl/grafika_... Kod programu wygląda następująco : $crystal = 4000000 'deklaracja częstotliwo�ci pracy kwarcu $regfile "attiny2313.dat"...
Witam wszystkich forumowiczów... Posiadam płytę ewaluacyjną AVT5311 na której znajduje się czujnik temperatury lm50 oraz układ mcp3021. Korzystając z wcześniejszych porad dotyczących odczytu temperatury z czujnika DS18B20 napisałem kod w bascomie. Oczywiście mam świadomość, że będzie on inny w moim przypadku. Natomiast nie mogę poradzić sobie w odczycie...
to ma tak wyglądać? Błędy mi wywala. Zrób na obojętnie jakim pinie i napisz mi jaki to będzie. Z mikroklockami to ja dopiero zaczynam PS. Jak można sprawdzić ten czujnik czy jest dobry? chociaż czy układ działa poprawnie 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksišżki "Mikrokontrolery...
Nie robię jej azotem, bo od niektórych kolegów po fachu słyszałem, że tym suchym gazem można szybciutko zajechać sprężarkę. Nie moja opinia. Po prostu tak słyszałem. Też uważam, że przy krótkiej próbie pewnie by się nic nie stało. Ale, że mam mało doświadczenia to jeszcze nie ryzykuję Uwierz. Nie ma ryzyka gdy robi się to z głową. Te góra kilka minut...
Witam, Na tej stronie znalazłem opis jak podłączyć czujnik DS18B20 do wyświetlacza LCD http://www.portalnaukowy.edu.pl/termomet... Oto kod: 'Jednopunktowy termometr z czujnikiem DS18B20 'www.portalnaukowy.edu.pl 'Program na podstawie kursu z ksiażki "Mikrokontrolery dla Poczatkujacych" Pana Piotra Góreckiego $crystal = 4000000 'deklaracja...
Witam Odczyt i konwersja jest w pętli głównej.;) Na samym początku("Change Resolution") jest zmiana rozdzielczości czujnika. Do komputera raczej nie jest potrzebna dokładność do trzech czy czterech miejsc po przecinku. Zmianę tą starczy wykonać na samym początku programu, nie ma potrzeby wciskania tego do pętli. Źródło stąd: http://www.elektroda.pl/rtvforum/topic10...
Mam Atmegę8 i DS18b20 i w Eclipse i w MkavrC 8000000. Wynik na lcd -17024, a binarnie 1011110110000000. Dodam, że miało wyświetlić temperaturę w stopniach Celsjusza. Jeżleli ktoś ma ciekawe sugestie to ładnię proszę o pomoc. Pozdrawiam Poprawiłem tytuł na "język C", a nie "C++", gdyż kod jest kodem C. W przyszłości proszę rozróżniać języki.
Witam, przeglądnąłem prawie wszystkie posty dotyczące DS11820 (oj było ich trochę). Większośc przykładów jest bisana pod BASCOMa a je potrzebuje informacji i przykładowych kodów w C aby podglądnąc i rozwiązac moje problemy. O co chodzi. 1. Temperatura wyświetlana na 4 z 8 wyświetlaczach 7-seg. LED. 2. Licze CRC i upraszczam sobe wyswietlajac wynik z...
http://obrazki.elektroda.pl/4168368600_1... Przedstawiam kolejny krok ku "cyfryzacji" mojego motocykla, a mianowicie 10-cio funkcyjny licznik-komputer pokładowy. Co do słówka "komputer" to może nieco na wyrost go użyłem, niemniej urządzenie oprócz mierzenia prędkości i przebytej drogi, pokazuje też jednak coś więcej - w sumie oblicza...
Witam ! Probuje napisac w Bascomie program ktory prezentuje odczyt temeperatury z DS18b20 na 7 segmentowym wyswietlaczu, a dokladniej na 4. Temperatura ma byc wyswietlana na pierwszych 2 a na 3 i 4 ma byc znak stopni Celcjusza, z tym sie juz uporalem. Nie umiem natomiast zaprezentowac samego wyniku, na wyswieltaczu 1 i 2 jest caly czas 00. Oto listing...
Witam Na wstępie chciałbym zaznaczyć iż jestem początkującym programistą i dlatego proszę o wyrozumiałość. Robię termometr na lampach nixie, ale nie działa mi poprawnie komunikacja z ds18b20 i ds1820. Problem polega na tym, że na lampach pokazuje się wartość -00.1 tak jak by wyjście czujnika było zwarte bezpośrednio z + , a nie jest . Czujnik jest podpięty...
Problem wynika stąd, że liczby temperatury gdy zmieniają się z 4-cyfrowej na 3-cyfrową to całość przemieszcza się pozostawiając po sobie znak stopnia. Pamięć wyświetlacza nie jest czyszczona za każdym razem kiedy wysyłana jest nowa wartość i jeżeli jest krótsza to nie nadpisuje ona całości dłuższego napisu i zostają po nim ślady. Rozwiązaniem może być...
zdebel tak znikł ten warning. piti___ niestety teraz dostaje inne bzdury... 4095,9 stopnia flapo213 po twoim poście postanowiłem dokładnie przeryć datasheeta i napisać od początku po swojemu procedure obsługi ds18b20. oscyloskopu nie mam i nie bede miec z kilku powodow a najpowazniejszy to $$$. oto napisana przezemnie od poczatku procedura obsługi z...
ds18b20 stopni stopni ds18b20 ds18b20 wyświetla stopni
termostat danfoss parametry siemens sirius zwarcie wirnika klatkowego
asymetria zasilania roleta zewnetrzna silnik
K-Lite Codec Pack a problemy z FIFA 09 na Windows 10 Rozmiar klucza do korka wlewu oleju Audi A6 C6 Tiptronic