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...
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...
Witam! Pracuję na AVR, piszę w WinAVR w C+. Otóż gdy temperatura schodzi do zera, to w momencie przejścia przez 0stC pojawia się -0.1, a potem już leci do góry i pokazuje wartość bezwzględną temperatury (znika -0.1 i dalej są same dodatnie wartości). Szukałem tutaj sporo, ale wiekszość jest pod bascoma, a ja piszę w C+... Kod (ściągnęty + oryginalne...
jestem ciekaw jak tam u ciebie z odczytem ujemnych temperatur, bo wg mnie to będą źle czytane. no chyba że nie potrzebujesz ujemnych
Program do czujnika temp ds18b20 ktory mierzy z dokladnoscia dwoch miejsc po przecinku. Sprawdzony ale tak jak juz koledzy mowili wyniki po przecinku bardzo czesto skacza Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 Config Pind.7 = Output Config Pind.4 = Output Config Pind.5 = Output Config Pina.6 = Output Config Pina.7 = Output Set Portb.0 Set...
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
czyli dla dodatnich się mogą sumować ale dla ujemnych już nie ? tak ?
tak, uwzględniłem powyższe, jak narazie odczytuje poprawnie, jeszcze ujemne temperatury muszę sprawdzić.
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...
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 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...
wartości mają być też ujemne... dodaj to do programu i jakiego typo ma być wtedy zmienna?
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...
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...
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ł.
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...
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...
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 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...
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
Zakres temperatur pracy 0-50°C wskazuje na to że nie nadaje się do pracy na zewnątrz, albo nadaje się tylko od wiosny do jesieni. Zakres pomiaru wilgotności do 90% to też za mało. Ale jeśli nie wyszedłeś poza parametry katalogowe, to powinien dobrze mierzyć, albo jest uszkodzony, albo umieściłeś go w obudowie z grzejącymi się elementami. P.S. Dziwne...
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...
Cześć po przerwie. Aktualnie jest tak: stacja meteo otrzymała wyświetlacz led 8x32 pixele i moduł nRF24L01. Nadajnik wyposażony w LCD 2x16 wysyła temperaturę zewnętrzną, wilgotność powietrza oraz ciśnienie atmosferyczne. Resztą zajmuje się "baza". Jest parę spraw do dopracowania (czcionka, temperatura pokojowa, symbole 'C i inne). Teraz chciałbym wyświetlić...
Jest poprawa, jednak gdy temperatura spada do 0, LCD wyświetla nr seryjne DS-a, 4 razy mignie tymi cyframi, po czym wyświetla temperaturę ujemną. Przy wzroście temperatury jest tak samo, gdy z ujemnej się zbliża do zera, ok 3-4 razy migną cyfry z odczytem nr. seryjnego DS-ów po czym pokazuje poprawną temperaturę.
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...
Witam. Składam sobie zegar z termometrem na Attiny2313 i DS18B20 lecz mam problem z ujemną temperaturą. Do odczytu temperatury używam programu kolegi "Elektrooonik" ponieważ zajmuje najmniej kodu co jest tu dla mnie ważne i z 1-Wire styczność mam pierwszy raz więc wpierw wolę mieć jakiś przykład. Program Oryginalny do pomiaru temperatury wygląda tak:...
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 {...
Ponizej przedstawiam podprogram odczytu temperatury z czujnika Ds18B20 i mam pytanko w jaki sposb zrealizowac odczyt temperatury aby nie wplywal on na opoznienia czsowe glownego programu. Kombinowalem na Timerach ustawiajac poprogramy tak aby najpier wykonaly czynnosc " 1wreset 1wwrite &HCC 1wwrite &H44 " i za 750 ms czynnosc " 1wreset 1wwrite &HCC...
Zrobiłem juz wiele sterowników używając nie jednego, dwóch a nawet więcej liczby ds'ów i zawsze działa bezbłęnie, nie tylko w BASCOMIE. A Ty Piotrusiu trochę pokory. Cóż, wierzę Ci na słowo. Co za problem z przesuwaniem liczb zakodowanych w U2 ? Nie rozumiem No właśnie :| Gdybyś rozumiał , to zapewne 1-sze zdanie z Twojego poprzedniego postu , nie...
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...
Prosiłabym o wyrozumiałość i pomoc w nakierowaniu mnie na rozwiązanie problemu. Spróbuję nakierować :) Jeśli zapis ID do eeprom ma być jednorazowy, w kodzie programu deklarujesz (wcześniej innym programikiem i LCD odczytane) ID $eeprom Termometr2: 'nr seryjny termometru 1 Data 40 , 25 , 0 , 133 , 2 , 0 , 0 , 196 Termometr1: 'nr seryjny termometru...
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...
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...
Witam Mam 7 układów DS18B20 i chciałem dokonywać ich odczytu w kolejności. W przerwaniu od Timer0 ustawiam co 4 sekundy flagę, która ma spowodować wywołanie programu odczytu. ................ Tylko, że wstawienie tego w Case nie ma chyba sensu, bo w momencie wyboru z Case, dane jeszcze nie są obliczone. Pierwsza uwaga to nie dajesz wymaganego czasu...
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...
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
(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...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
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...
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! 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...
Tego fragmentu zdania , nie jestem w stanie pojąć I tu się nie dziwię. Za co przepraszam i postaram się wyjaśnić co miałem na myśli W Czasie przeszukiwania forum znalazłem taki kod konwersji T = Makeint(odczyt(1) , Odczyt(2)) 'zrób z dwóch bajtów jednego integer'a Tspr = T 'teraz sprawdzam jaki jest wynik 'interesuje nas tylko...
Witam Oto przykład książkowy działającego układu do pomiaru temperatury Sub Read18b20 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Odczyt(1) = 1wread(2) Tt = Odczyt(2) Shift Tt , Left , 8 Tt = Tt + Odczyt(1) Shift Tt , Right , 4 Return End Sub Wyświetla on całkowitą temperaturę dodatnia Pytanie jak obliczyć z tego znak...
Witammój problem polega na tym że podłączyłem do megi termometr i po wywołaniu tego kodu im 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 * 1 Sub Temp 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H33 'komenda convert T Waitms 250 Waitms 250 1wr 'podprogram 1wr 1wwrite &HCC...
U mnie dziala tak: 1wire_1 Alias P3.0 Dim T As Word Sub 1wire1 1wreset 1wire_1 ' reset magistrali 1wire 1wwrite &HCC 1wire_1 ' zaadresowanie DS'a - skip rom 1wwrite &H44 1wire_1 ' polecenie dokonania konwersji Wait 1 ' dajemy czas na konwersję (wystarczy 750ms) 1wreset 1wire_1 ' reset 1wwrite &HCC 1wire_1 ' adres 1wwrite &HBE 1wire_1...
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...
Dobrym pomysłem byłoby dodanie informacji, czy temperatura jest dodatnia, czy ujemna. Tak się składa, że termometr chociaż ma czujnik pracujący w zakresie -50 do +125 wyświetla temperaturę w zakresie od -50.0 do +99.9'C. W sumie nie zrobiłem zabezpieczenia powyżej 100 więc po prostu w pewnym momencie po przekroczeniu 99.9 zobaczymy 0 i tak aż do 125'C...
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.
Załączam sprawdzoną, działającą bibliotekę do 1-Wire. Opóźnienia są policzone dla kwarcu 16MHz. Skoro Ty wykorzystujesz kwarc 1MHz to wystarczy, że podzielisz przez 16 argumenty funkcji opóźniających. Jakbyś miał z tym problem to napisz. Gratis dorzucam też sprawdzoną i działającą funkcję do odczytu i konwersji temperatury z czujnika DS18B20. // odczytanie...
http://obrazki.elektroda.pl/5924959500_1... Witam ponownie! Kilka dni temu chwaliłem się projektem "PALM v1.0 BETA Atmega128", a dziś chciałbym przedstawić komputerek do motoru lub roweru jaki zrealizowałem już jakiś czas temu na zamówienie. Urządzenie miało zastąpić oryginalne psujne, mechaniczne zegary. Funkcje i założenia: *Wyświetlanie...
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...
próbuje zrobic temomert z czujnikiem wilgotności. Odczyt temperatury jest dodkonywany z DS 18B20 $crystal = 16000000 $lib "mcsbyte.lbx" $regfile = "m16def.dat" $baud = 19200 Config 1wire = Porta.0 Deflcdchar 0 , 238 , 234 , 238 , 224 , 224 , 224 , 224 , 224 'definicja symbolu "stopień" Config Portd = Output Config Scl =...
(...) 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...
Nie wiem jak dodać konwersję czasu i ile ms. Skąd się biorą te wartości 255 (248) 16 10 26 ? i za co odpowiadają jak zmieniam wartości 16 na większe lub mniejsze to termometr koryguje temp w dół lub w górę ale źle wskazuje na całym zakresie od -50 do +150 stC ( ustawie temp zgodnie z innym termometrem wzorcem i jest ok ,wystawie czujnik za okno to na...
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...
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...
Zawsze kiedy pojawia się sterownik akwariowy to... Zawsze zawiera ten sam spsób na ugotowanie akwarium, tzn [syntax=basic4gl]Temperatura_t(1) = 1wread(2) 'jesli blad lub ujemna temperatura... If Err = 1 Or Temperatura_t(2) >= 128 Then Temperatura = 99 Else[/syntax] Czyli uszkodzenie czujnika, zalanie go (nietrudno o to w akwarium) = dostaniemy od razu...
witam Mam problem z odczytem bloku DATA - chcę pętlą odczytywać id dsów i mierzyc temperaturę i tak dla 10 po kolei, problem w tym że już na początku jest coś nie tak z pierwszej linii data zamiast 28,18 odczytuje mi się 08,95 potem każde pierwsze 2 bajty to 2 ostatnie z poprzedniej linii. Oto fragment kodu [syntax=basic4gl] Odczyt_ds: 1wreset 1wwrite...
Witam. Ja kiedyś napisałem program który zawierał odczyt z ds18b20. 'tablica temperatury po przecinku Tabtemp(1) = 0 Tabtemp(2) = 1 Tabtemp(3) = 1 Tabtemp(4) = 2 Tabtemp(5) = 3 Tabtemp(6) = 3 Tabtemp(7) = 4 Tabtemp(8) = 4 Tabtemp(9) = 5 Tabtemp(10) = 6 Tabtemp(11)...
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...
Witam. Mam termometr na Atmedze8, program napisany przez kolegę Ducha. Chciałbym dodać funkcję zapisu do eepromu najniższej zarejestrowanej temperatury przez termometr, lecz nie jest to możliwe ponieważ ostateczny format temperatury zapisywany jest w zmiennej typu string. Program ma porównywać, czy aktualna temperatura jest mniejsza od zapisanej w eepromie,...
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...
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...
Patrząc na Twój kod zauważyłem że wykorzystujesz funkcję z biblioteki "delay.h". Tymi funkcjami nie uzyskasz dokładnych czasów potrzebnych do obsługi interfejsu 1-Wire po którym komunikuje się czujnik DS18B20. Udostępnię Ci swoją sprawdzoną w 100% bibliotekę do komunikacji po 1-Wire. W tej bibliotece wystarczy dobrać czasy opóźnień dla Twojego kwarcu...
Tu masz działający i uproszczony do max kod do obsługi ds18b20 (wyświetla temp na wyświetlaczu) [syntax=basic4gl] I = 1wread(2) S = I / 16 T = Fusing(s , "##.#") Locate 1 , 1 Lcd "Temp:" ; T ; Chr(0) ; "C" [/syntax] tu masz dokładnie objaśnione co i jak: [syntax=basic4gl]Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM...
Witam ! DS18B20 jest fabrycznie ustawiony na rozdzielczość 0,0625 stopnia co wymaga czasu pomiaru min 750 ms, Zaś w programie jest 500 ms. Próbowałem u siebie DS18b20 na atmega 16, kwarc 16MHz. Korzystałem z przykładu z książki pana M.W. Niestety pokazywał błędną temp gdyż to jest przykład na DS1820. Więc napisałem sobie wszystko w asemblerze i działa...
Przeczytaj dokładnie specyfikację transmisji z termometrem z tym termometrem Dallasa: wstępnie wyświetl te zmienne (zdaje się a i b) na lcd i zobacz czy zmieniają wartość przy zmianie temperatury, jeżeli nie to znaczy, że albo masz walniętego Dallasa albo coś jest z transmisją nie tak (np. odczytem czy zapisem bitów z/do termometru). Sądząc z tego co...
Witam Pisze program na AT2313 obsługujący jeden czujnik temp DS18B20 /identyfiakcja oraz suma kontrolna nie są potrzebne/, a następnie wysyłający wynik pomiaru na RS. Problem tkwi w magistrali One Wire, nie mogę skomunikować się z czujnikiem. Robiłem już próby z rezystorem podciągającym 0d 3.3k do 4.7k. nie pomogło. Każda komenda/1wreset, 1wwrite/ wysłana...
Normalnie, jesli polaczysz TxD i RxD i na TxD dasz impuls ujemny inicjujacy transmisje 1-wire to jednoczesnie zainicjuje to odbior danych po RS, ktory zgodnie z ustawionym bitrate bedzie samplowal magistrale, kolejne probki wpisujac do rejestru danych. Jak skonczy to zglosi przerwanie, wystarczy w jego obsludze wybrac interesujacy bit (odpowiadajacy...
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...
Jest program napisany dzieki waszej pomocy. A tu program w razie jakiś błędów piszcie. Config Portb = &B11111111 Portb = &B11111111 Config Portd = &B1111111 Portd = &B1111111 Config 1wire = Portd.5 : Dim Odczyt(2) As Byte , A As Byte , T As Integer Do 1wreset : 1wwrite &HCC : 1wwrite &HBE 'odczyt z DS1820...
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...
masz źle zrobione rzutowania, przesunięcia i dzielenia, to na pierwszy rzut oka: float temp=0.0; temp = (float)(((uint16_t... | (((uint16_t)temp2)&l... chcesz zmienne 8 bitowe przysuwać o 8 bitów to musisz je rzutować na typ 16 bit - inaczej tracisz cały bajt. Ponadto durgą zmienną...
Aż tak bardzo zły? To teraz przyznam ze schemat podłączenia tych wyświetlaczy dokładnie znalazłem tu na elektrodzie (at)michalko12 Z tego kodu wynika, że jeżeli odczyt temp, jest ujemny to (dosłownie) "odwróć" go czyli zmień znak, następnie cały wynik przesuń w prawo tak aby pozbyć się ułamków... to rozumiem.. i to 100% racja... Jednak po zastosowaniu...
Witam. Jak kolega wskazał udało mi się zamontować dodatkowe kondensatory i układ działa bardziej stabilnie ale jeszcze mu coś brakuje. Przy pozycjonowaniu sporadycznie ale lcd się wysypuje ale już nie zauważyłem błednych odczytów Ds18b20. Natomiast w miedzyczasie musiałem na bojlerze założyć zawór elektromagnetyczny 230v 10w i znowu z nim DUŻY problem....
Witam Próbuje przerobić kod obsługujący kilka DS18B20 na jednej linii i drugi obsługujący kilka DS18B20 na kilku liniach. Niestety jak na razie efekt jest taki, że działa tylko pierwsza linia, czyli dwa DS18B20. Jeśli chodzi o konfiguracje, to celowo nie ma Config 1wire = Porta.1 gdyż wpisanie tego portu, jako 1WIRE powoduje wyświetlanie 0.0 dla pierwszego...
http://obrazki.elektroda.pl/4380379400_1... Cóż, takich termometrów było już wiele, ale mój wyróżnia się kompaktową budową i obudową idealnie pasującą do auta. Wygląda jak fabryczny. Po włączeniu zapłonu przez minutę pokazuje napięcie w instalacji samochodu (u mnie podczas grzania świec i potem przez resztę czasu po uruchomieniu diesla),...
Problem rozwiązany. W datasheet zalecany jest rezystor podciągający ok. 5k. Jednak dalej, jest informacja, że podczas niektórych operacji (m.in. przy konwersji temperatury) zapotrzebowanie na prąd, może wynieść 1,5 mA. 5V/5kohm = 1mA max. Zmiana rezystora na 3,3k rozwiązało problem. Szkoda tylko że maxim jest mało konsekwentny w swojej dokumentacji...
Troszkę mnie nie było :) pętla główna wygląda teraz tak: while(1) { _delay_ms(1000); toggle(IO_PORT, LED1); LCD_HOME(); err_1w=W_RESET(); LCD_1(err_1w); W_SEND_BYTE(0xcc); W_SEND_BYTE(0x44); _delay_ms(1000); err_1w=W_RESET(); W_SEND_BYTE(0xcc); W_SEND_BYTE(0xbe);...
Witam, Mam na linii kontrolera słynny DS18B20. Jeżeli czujnik jest podłączony to wszystko jest ok. Problem pojawia się wtedy jeżeli odepnę na chwilę czujnik. Funkcja zwraca mi wartość -1, a ponowne podłączenie czujnika nie powoduje ponowienia prawidłowych odczytów. Trzeba wtedy po podłączeniu zresetować cały układ. [syntax=c] int odczyt_DS (void) {...
Pomiar: dokładność 1st C. jeśli pomiary nie muszą być zbyt często Są wykonywane co około 2s. Bo jeśli mogła by być dokładność pomiaru wynosząca 1 stopień lub 0,5 stopnia to mógłbyś znacznie skrócić czas pomiaru i zrobić na przykład pięć pomiarów i wyciągnąć średnią. Np. 1 pomiar:25st, 2 pomiar, 3p, 4p. - też 25 lub 26stC, a 5 pomiar (błędny) - 85st...
Odpaliłem i idziała :) Problem w tym, że pokazuje coś nie tak. Temperatura dodatnia błąd na plus około 2 stopień. Zamiast 22 pokazuje 24.3 a przy ujemnej (zwykły termometr) pokazuje -13 zamiast - 18 Do 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 250 Waitms 250 1wreset 1wwrite &HCC 1wwrite &HBE Lsb = 1wread(): Msb = 1wread(): Tempa...
Polecenia z 1wire są takie same jak z tej stronki. wyszukiwanie, adresowanie, czytanie wyniku itp. Podam tylko polecenie wyświetlenia: I właśnie tutaj próbowałem ze zmienną Integer. Wcześniej I1 = 1wread(2) : termostat = 1wread(2) Potem dalej w pętli: Termostat= termostat*10 temostat= termostat/16 if termostat >= 22 then portc.0 = 0 'zapal np. diode...
DS1820 nie stosuje takiego samego zapisu jak DS18B20. Tam cała temperatura jest w jednym bajcie. Drugi bajt to tylko znak. Najmłodszy bit w bajcie temperatury to 0.5*C a reszta to temperatura - spójrz do noty katalogowej str. 4-5 jak zaleca kolega zumek to zrozumiesz gdzie jest Twój błąd. Dodano po 20 Dołączam mój amatorski kod do odczytu temperatury....
Przykładowy programik, ale dla DS18B20: Dim Bd(9) As Byte 'tablica Dim T As Integer 'zmienne Dim T1 As Integer Dim T2 As Integer Declare Sub Read18b20 'deklaracja procedury Cls 'inicjacja wyświetlacza Deflcdchar 0 , 6 , 9 , 9 , 6 , 32 , 32 , 32 , 32 'def. znaku stopnia Cls Lcd "Temp:" Do 1wwrite &HCC 'rozkaz SKIP ROM 1wwrite...
...Nadal mam problem z minusem, zastosowalem funkcje Abs i nie ma juz tego "automatycznego minusa" ale wszystko dziala dopuki stosuje Ttt = Abs(ttt) tylko do wskazan z jednego czujnika. gdy zrobie to samo dla drugiego mimo, ze stosuje dwie nazwy (Ttt1 i Ttt2) to ta funkcja przestaje dzialac i mimo ujemnych temp minus sie nie wyswietla. Co jest nie...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
tzn. lepiej będzie tak: Dodano po 1 Czy używając MakeInt( ) nie będzie problemu z ujemnymi temperaturami ? Bo przy histerezie to jest istotne
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...
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...
Witam. Chciałbym odczytać temperaturę z czujnika DS18B20 przez długie i krótkie migania diodą. Np gdy mamy temperaturę 25 stopni to dioda sygnalizowała by dziesiątki za pomocą dwóch długich piknięć a jedności poprzez 5 krótkich. Dopiero zaczynam zabawę z Bascomem i kompletnie nie wiem jak się za to zabrać. Poniżej wklejam fragment kodu z odczytem temperatury....
A gdyby TAK: (od razu mówię że tego nie próbowałem) ... ale może ktoś z Was? Ta sekwencja: 'Odczyt danych z przyrządu podlączonego do 1WIRE Sub Odczyt_temp 1wreset 'inicjacja magistrali 1WIRE If Err = 1 Then 'W Przypadku Braku czujnika coś tam wyświetl End If 1wwrite &HCC 'żądanie zgloszenia się ukladu podlączonego do linii 1WIRE 1wwrite &H44 'Convert...
Witam, zaczynam "zabawę" z uC i programowaniem. Na pierwszy strzał chciałem zrobić prosty (tak na początku mi się wydawało) sterownik. Planowane opcje to: zegarek, termometr i obsługa 2-6 wyjść 230V. Wszystko chciałem stworzyć na atmedze8 ewentualnie 16. Założenia: - LCD na którym będą informacje prawdopodobnie będzie 4x20 - czas + ewentualnie data...
niedawno stworzyłem sobie programik do przetestowania programu na pc zanim wgram go do avr. i masz tu go zmodyfikowanego (dev c++) #include <cstdlib> #include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; //------------------------------------- int main(int argc, char *argv[]) { int...
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...
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...
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...
Siemka! Tak jak napisali koledzy wyżej masz skopcony algorytm obliczania temperatury, który zależy też od wspomnianej przez Ciebie w temacie rozdzielczości. Załóżmy że będziesz używał 12bitowej, bo taką układ ustawia po resecie jeżeli nie jest wpisane inne ustawienie do wewnętrznego eepromu. Wynik przetwarzania jest zapisany w słowie (16 bitów) które...
ds18b20 temperatura ujemny ds18b20 ujemny temperatura odczyt temperatura ds18b20
siemens pralki instrukcje siwamat programator amica kuchenka pendrive zniknął
łucznik naprężacz sprinter podłączenie webasto
Fiat Scudo 1.6 JTD - brak obrotów na postoju Instrukcja serwisowa pralki Rossa - jak zdobyć?