Pytam czytam i nic,czy ten numer to faktyczny numer seryjny czy sa w nim zawarta suma kontrolna,powoli te układy zaczynają mnie denerwowac :)
Witam, napisałem w C funkcje do odczytywania i wysyłania danych na magistralę 1-wire, próbuje przetestować czy odczytywane numery seryjne zgadzają się z rzeczywistością. Odczytałem 8 bajtów od ds1820, pierwszy to numer rodziny 10h i to się zgadza, kolejne 6 bajtów to numer seryjny ale ten już się nie zgadza z tym co jest wygrawerowane na obudowie. Mam...
Dla DS2482, 2484, DS2490 zadziała standardowa procedura searchrom ale będzie wolna (zwłaszcza w przypadku DS2490). Musisz poszukać searchrom dla DS2482. Aby przyspieszyć wyszukiwanie ma on stosowne tryby pracy (tryb 3-bit) ale standardowe szukanie nie działa. W kodach, które masz, widzę, że użyłeś takiej funkcji. U mnie działała bez problemu.
Po 1: Jaki to RS (232, 485)? Jak RS232 to nie da się tego łatwo zrobić. Do wielu nadajników nadaje się np RS485. Ewentualnie zrób sobie 3 programowe "RS" i odbieraj z każdego nadajnika oddzielnie. Po 2: Gdy RS485, to możesz sobie też zrobić prostą ramkę i poza bajtami TH i TL wysyłać adresy nadajników tak aby odbiornik wiedział od którego dostaje dane....
Ja zamierzam zbudować taki reseter tylko brak mi na to czasu. Przeczytałeś dokładnie jak ten reseter działa? Wsad do PIC-a to tylko bootloader, cyfrowy termometr DS1820 to "dawca" niepowtarzalnego numeru seryjnego urządzenia. Zgodnie z wytycznymi należało by napisać maila do autora tego projektu i wtedy dostaniesz firmware, który zostanie wgrany na...
Jest jeszcze sprawa wydajności prądowej portów, na 51' nie uzyskasz dalekiego zasięgu ( długość kabla dla DS18B20 ). w AVR dajesz rezystor podciągający około 1....1.5k i śmigają, aż miło. jeżeli masz wyświetlacz to zrób to komunikacją opartą na numerach seryjnych. To proste i wygodne rozwiązanie. pozdrawiam.
Witam Czy coś takiego jest do zdobycia w ASM ??. Procesor nie ma znaczenia (51 lub AVR). Dodatkowo nie 1820 tylko o 1990 , 1993 i 1996 ale chodzi jedynie o zczytywanie numerów seryjnych i umieszczanie ich w RAM'ie. :sm19:
Ja mam to u siebie zrobione na maszynie stanów - niestety program jest napisany w ASM i a PIC'a, więc nie nadaje sie do bezpośredniego przeniesienia, ale istotny fragment mogę zamiescic: [syntax=asm] ;---------------------------------------... ; Odczyt temperatury z DS1820 - Match ROM bra uL_ResPres ; State=9 - reset/presence...
Na jeden magistrali 1-Wire bez problemu może pracować kilka DS1820 bo każdy ma swój numer. Do ich obsługi nadal wystarczy GND i 1-Wire (+ ew dodanie napięcie).
Witam.Kupię wyżej wymieniony czujnik o oznaczeniu DS1820 DALLAS 1809C4 lub serii C3(numer nieważny) Gdyby ktoś z forumowiczów posiadał to jestem zainteresowany 2 a nawet 4 sztukami.
Przy odpowiednim prowadzeniu ścieżek układ będzie prawdopodobnie odporny na zakłócenia. Co do czujników, to można to zrobić na jednej magistrali, bo każdy czujnik ma swój unikalny numer...
Jest jeszcze cos takiego jak: DS2411. Jeśli DS1820 chciałbyś użyć tylko jako numer seryjny to lepiej użyć właśnie DS2411 - jest tańszy. W TME cena DS1820 przy 100 sztukach (bez żadnych dodatkowych rabatów) 3,99zł a cena DS2411 przy 100 sztukach 2,89zł. A może jest jeszcze jakiś tańszy układ 1wire?
Jeśli program obsługuje wartości portu od 1 do 4 to z tym można sobie poradzić. Ja w swoim laptopie do programowania różnych urządzeń używam przejściówki USB-RS232 i faktycznie w zależności od tego w które gniazdo USB wepnę przejściówkę taki mam port com w zakresie 4-7. Numer portu com można zmienić w Menadżerze urządzeń. Menadżer Urządzeń ->Właściwości...
http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/dla_kompa/ds1820...
Każdy uklad DS1820 ma unikalny 64bitowy numer identyfikacyjny, jak chcesz podpiąć kilka wystarczy odczytać numery wszystkich układow podpiętych pod magistralę 1Wire zapamiętać je i już wiesz z którym układem chcesz "gadać". Ja wpisałem na sztywno adresy żeby nie pomylić czujników (jeden z nich regulowal pracę pompy). Pozdrawiam WERWOLF
Witam! Po kodzie wygląda to tak jest kilka czujników ds1820 - ich liczba nie jest zdefiniowana na sztywno tylko na starcie zliczana jest ilość czujników jaka odpowie na reset (wraz z numerami seryjnymi) i pezwchowywana w zmiennej devices Zliczanie urządzeń: /* detect how many DS1820/DS18S20 devices are connected to the 1 Wire bus */ devices=w1_search(0xf0,rom_code)...
Jaki przetwornik jest w oryginale ? Czy kupując przetwornik podawałeś jakieś dane producentowi: nr seryjny expandera, nr tel karty sim itp ?? Kazdy DS1820 ma swój indywidualny adres/numer. Być może ten nr należy zaprogramować w ekspanderze np. za pomocą sms ...lub producent zakupił jakąś partie DS których nr zaszył w pamięci urządzenia.
Witam. Przychylam się temu co napisał Daro_Elektornik, magi nie ma włącz CRC tylko upewnij się że dobrze liczysz to CRC albo pobierz algorytm z datasheeta od Dallasa on dobrze liczy CRC. Podejrzewam też że numeru seryjnego to też nie pobierasz i układu raczej też nie adresujesz. Sprawdź czy dobry numer odczytasz itd. Pozdrawiam
Czy te czujniki mają być zamontowane na stałe ? Bo jeśli tak, to wystarczy je zidentyfikować jendorazowo, a potem tylko po numerach i pamiętać , że np. czujnik o numerze 231 znajduje się w korytarzu B. Pozdrawiam :)
Przepisujesz z ksiazki? :cunning: Popatrz dobrze czy np. jest tam cos takiego: $regfile = M8def.dat Tutaj masz poprawny kod: 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości...
tych czujnikow nie mozna laczyc szeregowo . Laczysz je rownolegle wiec wszystkie + razem podobnie GND i linie 1wire do procka. Jednak na samym poczatku po napisaniu programu musisz je dolaczac pojedynczo aby odczytac nr seryjne po tym zabiegu juz moga one razem pracowac. Inicjujesz 1wire wysylasz konkretny numer seryjny odczytujesz temperature resetujesz...
Tutaj masz wszystko... 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input 'linia PB1 jako wejściowa Config...
Temat chyba przekazał wszystko kod od 10 lat nie ruszany działający ale zachciało mi się aby zwracał błąd gdy nie ma jednego czujnika na magistrali kombinuję i stoję w miejscu. [syntax=basic4gl] Sub Odcz_temp K = 1 For J = Poczatek To Koniec 'Odczyt numeru seryjnego z eeprom Readeeprom Register_number(k) , J Incr K Next J Call Zap_num 'Wywolanie procedury...
Tak, możesz. Możesz również zrobić tak że podłączysz na jedną linie kilka urządzeń, ale wtedy musisz najpierw odczytać ich numery i w programie wybierać sobie z którego urządzenia chcesz czytać z tej samej linii komunikując się z nimi przez wywołanie ich numerem. dokładniej jest to opisane w PDF'ie do każdego urządzenia 1-wire.
Czyli przy tym Program Sterowania Dwoma Układami Ds1820 Dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego mikrokontroler Config Pinb.1 = Input Config Pinc.5 = Output 'linia PB1 jako wejściowa...
nie ma żadnych komplikacji, wszystko zależy od oprogramowania jak masz wolne porty to możesz na nich zrobić a jak nie to na numerach seryjnych możesz czytać temperaturę i nie ma z tym żadnego problemu. pozdrawiam
Problemów z takim rozrzutem temperatury nie miałem w DSach nigdy. Mój problem jest taki że czujniki nie mogą być identyfikowane jakimkolwiek numerem. Muszę chyba sam sprawdzić jak jest z długością kabla do LM35.
spróbuj umieścić obsługę 1wire w innym miejscu. być może podczas odczytu termometru obsługiwane jest np. jakieś przerwanie. w Bascomie b. trudno poustalać zależności czasowe i o ile program nie biegnie gładko dookoła, to często robi takie numery.
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Zgadza się. Wszystko sprawdziłem po 10 razy... oprócz fusebitów. Wyłączenie podziału przez 8 załatwiło sprawę. :)) Dzięki bardzo wszystkim, którzy się włączyli do dyskusji za pomoc. Ps. Widok numeru seryjnego scalak na wyświetlaczu działa baaardzo uspakajająco, oj bardzo ;].
Pytanie czemu nie weźniesz spiszesz numer każdego Ds i zapisze go na stałe w uC i będziesz miał na jeden lini 1-wire wszytko?
Lepiej zrób program odczytujący dane o podłączonych układach - to tak w razie konieczności wymiany któregoś. Różnicę w wielkości programu możesz łatwo sprawdzić - w raporcie z kompilacji... Potrzeba też będzie 3x8 bajtów RAM na przechowywanie numerów podłączonych DS-ów - ale z tym sobie BASCOM poradzi
Witam, ...I nie nie chodzi mi tutaj o żadne usypianie arduino . tylko o to jak zrealizować by arduino oprócz funkcji samej syreny optyczno- akustycznej automatycznie testował całą elektronikę i w razie wykrycia jakiejś awarii na przykład awarii modułu optycznego wystawia masę na wyjściu usterka. Cale zamieszanie wynika z tego ze nie opisujesz problemu...
...Tzn głównie interesuje mnie jak je rozróżnić tak żeby procek wiedział który jest który i odpowiednio z nich obliczał temp??... To jest akurat prosta sprawa.Skoro mają być na jednej magistrali , to tak czy siak , musisz odczytać ich numery seryjne(ID,adres).Jaki już to zrobisz , to po family code łatwo rozpoznasz , który numer należy do którego DS-a....
Tak to wygląda. Układ wyjścia JP5 jest zgodny z kolejnością wyjść na LCD + dwa dodatkowe do zasilenia podświetlenia - razem 16 pin http://obrazki.elektroda.net/38_12294457... A to początek kodu 'Program sterowania dwoma układami DS1820 dołączonymi 'do tej samej magistrali 1-Wire $regfile = "m8def.dat" 'informuje kompilator o pliku...
Zastanawiam się jaki jest mechanizm komunikowania się procesora z układami DS. Bardziej precyzyjnie to podpinamy dwa układy DS. ( np. DS1820) z którym procesor skomunikuje się jako pierwszy czy ten , który ma niższy numer ID. Zastanawiam się nad tym dlatego ,że mając zbudowany układ i zamontowany na obiekcie np. z dwoma czujnikami i zachodzi potrzeba...
Układy serii DS18XXX - DS1820, DS18x20 (Dallas Semiconductor) są wykorzystywane do pomiarów temperatury. Zawierają mikroprocesor oraz wewnętrzną pamięć z numerem seryjnym. Nóżki to: zasilanie, masa oraz szyna. Wymagają stosowania procesora do połączenia ich z komputerem. Jest na ten temat dużo w sieci.
polecam DS1820 , ma 1wire łatwo go oprogramować , każdy scalak ma także unikalny numer identyfikacyjny co pozwala użyć kilku czujników na magistrali. Koszt scalaka to 12-17zł. Choć w niektórych sklepach żadają za niego nawet 35-40zł :( Jeśli chcesz koniecznie i2c to masz też DS1621. Choc impletacja magistrali 1wire nie jest trudna , są gotowe procedurki...
Owszem, każdy DS ma unikalny numer identyfikacyjny, więc bez problemu można powiązać urządzenie z konkretnym czujnikiem. Jeśli w urządzeniu jest więcej niż jeden DS to jest to całkiem prawdopodobne. W przeciwnym przypadku byłaby to niepotrzebna uciążliwość. Jeśli masz analizator logiczny to go podłącz pod linie danych OW i zobacz co tam "lata".
Witam! Chciałbym zmieniać port lub też bit portu 1wire, na którym jest termometr DS1820... Skorzystaj z dobrodziejstw języka C i użyj wskaźnika , oraz zmiennej. Adresy portów we wskaźnikach , a numer bitu w zmiennej i ... po krzyku ;) Piotrek
Witam, najprawdopodobniej trafilem na jakąś dziwną serię DSów. Pisze na nich jak byk DS1820 i nr. seryjny. Biorę inny tez DS1820 (pozniejsze sample) i kiszka. Temp = 125.5 (0xFF/2). Bardzo dziwne...Zerknie ktos na algorytm, moze znowu wina czasow, ale nie sadze. Pozdrawiam
Panowie, dzięki wielkie za nakierowanie mnie na metodę delay! Reset zadziałał! To ona okazała się nie działać prawidłowo, nie wiem jeszcze co jest z nią nie tak, ale wstawienie pętli opóźniającej postaci: [syntax=c] int i, j; for(i = 0; i < 20; i++) j++; [/syntax] w miejsce oczekiwania aż rezystor ustawi napięcie na pinie, poskutkowało. Musze jeszcze...
Mam 3 pomieszczenia i chce w każdym umieścić czujnik. Co robić??? prosil bym odp sms na nr 505282482
OK, mój błąd, źle przeczytałem "z czasem zaniża" jako "czasem zaniża" :) W programie OWFS (w ow_1820.c) jest zaimplementowana obsługa przypadku, o którym piszesz. Trzeba podłączyć 1-wire do PC; na pewno da się to zrobić przez port szeregowy poprzez układ DS2480B, ale są też chyba inne sposoby. Jeśli to faktycznie jest ten problem, to znaczy, że musiałeś...
Wg mnie jest potrzebne opoznienie miedzy odczytami temperatury z DS1820, a ja w Twoim programie takiego nie widze. Nie wiem jak szybki ma ten czujnik przetwornik AC, ale odczyt powinien odbywac sie przynajmniej co 1 s. A te rezystory mozesz sprobowac dac na 2,2k. ALe to chyba nie tu tkwi problem, bo kiedys zczytywalem z pastylki dallasa numer seryjny...
7m wystarczą tanie moduły radiowe na 433MHz (ok 20zł) Jeżeli chodzi o pobór prądu to zależy od ilości wysyłanych komunikatów z temperaturą. Napisz konkretnie do czego to ma służyć (okres 10h sugeruje że to będzie jakaś jednorazowa akcja, lub w każdym razie nie ciągły monitorning) 1. czy potrzebne jest rozpoznawanie z którego nadajnika przyszedł sygnał...
Podłączyłem układ DS1820 (dokładnie ten numerek) do pinu PB0 układu ATTiny2313. Linia danych jest podciągnięta do Vcc rezystorem 1kΩ. Taktowanie wewnętrzne 8MHz. Fragment kodu odpowiedzialny za odczyt czujnika: Numer seryjny16 163 113 94 2 8 0 170 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt: 255 255 Odczyt:...
przykładzik z numerami seryjnymi, dla bascoma usuń zbędne funkcje "print" oraz to czego nie potrzebujesz. gdybyś miał kłopoty to pisz euromatic(at)tlen.pl Config 1wire = P1.1 Dim Bd(9) As Byte Dim Z As Integer, Tmp As Integer Dim T As Integer, T1 As Integer Dim Aa As String * 2 Dim Bb As Byte Dim C As Byte Dim I As Byte Declare Sub Temperatura Do Call...
Ten problem był już poruszany na elektrodzie. Nie pamiętam czy było jakieś rozwiązanie. Jeśli chodzi o 1-wire i odczyt id czujników to temat dosyć długi. W skrócie to nie są odczytywane całe numery, ale poszczególne bity i po kolei są eliminowane czujniki. Dlatego jak mamy 2 czujniki i jeden wymienimy, to 1 może być 2, a 2 pierwszy. Przy 3 czyjnikach...
Oto co ja ci moge poradzic: wywal procedure Crc bo do samego odczytu temperatury jest zupelnie niepotrzebna, zaczynasz od wyslania na linie polecenie pominiecia numeru ROM czyli HCC pozniej polecenie konwersji H44 odczekujesz okolo 1 selundy (wystarczy 300 ms u mnie) i przechodzisz do odczytu, czyli zainicjowanie magistrali ,znow HCC a pozniej HBE ,...
Kiedyś znalazłem coś takiego może się przyda UWAGA PODPROGRAMY NAPISANE SA DLA PROCESORA Z KWARCEM 24Mhz TERM linia portu obsługujaca DS-a ;***************************************... ; GRUPA PODPROGRAMOW ZWIAZANYCH Z POMIAREM TEMPERATURY ;***************************************... IOBAJT:...
program spisalem z ksiazki "Programowanie AVR w jezyku Bascom" autor takie cos sobie wymyslil, ja dopiero sie ucze dlatego przerobilem go do swoich potrzeb ale za "chiny ludowe" nie wiem dlaczego nie chce mi wyswietlic mierzonej temperatury, powtarzam ze program kompiluje mi sie wiec nie wiem w czym problem.... :/ co do linku ktory kolega mi dal to...
Mam to wszystko o czym piszesz zrobione przez siebie i działajace. Najprościej jest zrobić wskażnik przechyłu, bo do niego nie potrzeba żadnej elektroniki. A mianowicie. Zamocuj np 10 cm ładny pręt obrotowo za jeden koniec, na drugim końcu umieść skalę w stopniach. To już działa, ale żeby wahadło nie bujało się nadmiernie dobrze jest to wszystko umieścić...
Co może być grane. Wszystko poskładane zgodnie z prawidłami, rezystor podciągający na linii danych jest, zasilanie filtrowane odpowiednio, wszystkie połączenia miliard razy sprawdzone, a sytuacja jak w temacie. Jakikolwiek program wgrywam temperatura na wyświetlaczu -0 lub -1. Jako że to moje pierwsze podejście do tematu i nie mam bladego pojęcia o...
Zmienilem na takie cos i wogole nic nie wysyla, wiec cos gdzies sie zatrzymuje.. $regfile = "attiny2313.dat" $crystal = 8000000 Config Pind.5 = Input Config Portd.1 = Output $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 300 Config 1wire = Pind.5 Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single...
Witam chciałem zrobić termometr na Atmega8 z wyświetlaczem lcd . Jako że jestem nowy i to mój pierwszy projekt złożyłem go zgodnie z książką Marcina Wiązani "Programowanie mikrokontrolerów AVR w języku bascom". Kod programu również z książki. Niestety wyświetlacz nie wyświetla temperatury.Pokazuje komunikat dla programu z jednym czujnikiem "Brak układu"...
Jak nie kupisz gotowego, to ja używam coś takiego: Nadajnik: - Czujniki "DS1820" podłączone pod RS232 (ale można zrobić też pod USB). - Program "digitemp" - ja używam na x64, ale na rpi też działa. Odbiornik: - Grafana + np.: InfluxDB Grafana obsłuży alarmy i powiadomienia (e-mail). https://obrazki.elektroda.pl/5910722200_... Od lat...
witam, mam problem z obsluga czujnika temp. ds1820, polaczony jest przez 1Wire na plytce testowej AVT2500. Przykladowy program do obslugi pobralem ze srtrony http://as.rumia.edu.pl/artur/a/bascom/Te... Kompilacja programu przebiega bez zadnych problemow. W momecie uruchomienia uProca uzyskuje staly odczyt "- 0.5 C". z gory dzieki za pomoc. <--TERMO.BAS-->...
Ja natamiast zamieszczam termometr napisany w C pod kompilator gcc z wyswietlaniem wyniku na LCD. Czujniki podlaczone sa pod jeden pin, a program przy starcie sprawdza ich ilosc i numery. Byl pisany pod atmega16 ( lecz do mniejszych tez moze byc ;) ) z zegarem 8MHz. Konfigruracja pinow znajduje sie w pliku main.h : //******************* INTERFEJS LCD...
Dim Bd(9) As Byte Dim I As Byte , Tmp As Byte Dim Crc As Byte Dim T As Integer , T1 As Integer Dim Temp As String * 3 Dim Dzies As String * 1 Dim Numer As Byte Dim Zmiana As Bit Oto wszystkie zmienne ktore wykorzystuje w programie, ostatni adres w raporcie to 47h. Gdy dopisze chocby jedna tablice potrzebna do przechowywania adresu: dim rom(8)...
No hej! Więc miło że ktoś poruszył temat tego „badziewia” od Dallasa… Wszystko robię mniej więcej tak jak napisałeś… tzn. póki co nie bawię się numerami seryjnymi. Co do różnych przykładów dostępnych na stronach Dallasa, to też z nimi walczyłem… ale do sedna. Udało mi się odczytać pierwszy bajt numeru seryjnego mojego czujnika,...
Witam. Mam problem z programem z książki "Programowanie mikrkontrolerów AVR w języku BASCOM" listing nr 8.19. Przerobiłem z Atmega8 na Attiny2313 ponieważ plik .bin ma pjemność 1,20 kB. Po pierwszym wgraniu na wyswietlaczu wyświetlało się byle co tzn. temperatura ujemna lub brak układu. Zmieniłem w linii : If temperatura(2) = 0 Then na If temperatura(2)...
Cześć, dopiero zaczynam przygodę z Atmegą8 i mam kilka (podstawowych zapewne) pytań: 1. Co to znaczy, że pin uC jest w stanie wysokiej impedancji? Tzn jest tam logiczne 0, czy 1? 2. W assemblerze jest taka operacja jak NOP , w C jest np _delay_us() Czy można przyjać, że wywołanie _delay_us(..) odpowiada iluś tam operacjom NOP ? 3. W mojej Atmedze mam...
Cześć znalazłem sporo gotowych programów (*.exe) do obsługi termometru DS1820 dołączonego przez prosty konwerter RS/1wire (4 diody+rezystor) Chciałbym napisać własny program obsługujący konwerter A/C DS2450, jednak nie wiem jak się do tego zabrać. Na początek do ukladu RS232/1-wire podłączylem DS2401 (wysyłający tylko swój numer seryjny). iButton TMEX...
Mam problem z zaprogramowaniem ATmega8535. Używam programatora na kabelku z LPT zbudowanego w oparciu o schemat z HELPa, czyli: DB25 pin ->ATmega8535 2 przez R=330om->MOSI, pin 6 4 przez R=330om->RESET, pin 9 5 przez R=330om->SCK, pin 8 11 -> MISO, pin 7 18-25,GND ->GROUND, pin 11 Do uC miałem podłączony jedynie DS1820 w konfiguracji z „osobnym...
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...
Witam! Czy mógłby mi ktoś dokładniej wytłumaczyć jak to jest z tą kolejnością ds-ów? W swoim układzie podłączyłem 4 czujniki na jednej linii i za pomocą poleceń Dsid1(1) = 1wsearchfirst() Dsid2(1) = 1wsearchnext() Dsid3(1) = 1wsearchnext() Dsid4(1) = 1wsearchnext() zapisałem ich id do tablic i teraz wyświetlam je na lcd i uzyskuje: 1ds: 16 7416821518022...
kilka uwag technicznych: 1. schematy zwyklo sie rysowac tak, aby uwidocznic przeplyw czegokolwiek z lewa na prawo - zasilanie wiec powinno miec wejscie skrajnie po lewej, potem stab (na prawo), potem bardziej na prawo odbiorniki tego zasilania. z tego samego powodu przyciski (wejscia) rysuje sie po lewej, a wyswietlacze i diodki (wyjscia) po prawej....
Dzien dobry Mam problem z czytaniem czterech czujnikow temperatury, jezeli czytam jeden lub dwa to nie ma problemu procesor pokazuje temperature przy trzech całość sie sypie nie odczytuje pomiaryu z żadnego czujnika. Nie moge czytać ich numerów i łączyc ich szeregowo ponieważ ma byc prosta wymiana czujnika ( podłączenie trzech kabelków ) kalibracja...
Witajcie ! Wiem, że temat był wielokrotnie sygnalizowany na forum, przejrzałem wszystkie tematy z tym problemem związane i niestety nie uzyskałem satysfakcjonującego rezultatu. Cała idea jest w tym, żeby całą obsługę odczytu temperatur z 4rech DSów, połączonych na oddzielnych liniach, wcisnąć w obsługę przerwań. Krótko mówiąc, chodzi o to, aby odczyt...
Witam! Od jakiegoś miesiąca męczę się nad uruchomieniem mojego termometru. Jestem bardzo początkujący w tej tematyce, więc proszę o wyrozumiałość, to jest mój pierwszy taki projekt ;). Termometr zbudowany jest o procesor AT89C2051, czujnik DS18B20 i dwa pojedyńcze wyświetlacze LED. Kwarc to 24 MHz. Zasilanie 5V. Problem polega na tym, że czujnik nie...
Dzięki wszystkim za entuzjastyczne wypowiedzi, zmieniłem program zgodnie ze wskazówkami i wszystko narazie idzie jak należy. W moim drugim projekcie na AVR(pomiar temp ds1820 wilgotności ds2438 oraz wejść dwustanowych ds2408 oraz powiadomienia sms) dosyć intensywnie korzystam z bibliotek RKlibAVR (LCD I2C->RTC, wiele innych użytecznych funkcji) jednak...
Konstrukcja zegara powstała przeszło dwa lata temu. Oprócz podstawowych wskazań tzn. czasu oraz temperatury bieżącej, drugą funkcją jest wyświetlanie minimalnej oraz maksymalnej temperatury w danym dniu. Pomiar temperatury realizowany jest na często wykorzystywanym przez konstruktorów podobnych urządzeń układzie DS1820, natomiast pomiar czasu na układzie...
Mam takie pytanie do kolegów, może na nie ktoś odpowie.Czy dla poprawnej komunikacji z DS-ami jest ważne jak je połączymy, tzn. czy muszą one być na jednym przewodzie w szeregu czy można połączyć w gwiazdę?Który z rysunków jest prawidłowy nr 1 czy nr 2 , czy nie ma to znaczenia
Witam Mam taki problem, że nie działa. I nie mam pojęcia co w nim może być nie tak... ale czy cokolwiek jest dobrze... Programowania avr uczę się od 2 dni, więc proszę o wyrozumiałość. Na wyświetlaczy LCD cały czas pokazuje mi -0,01. czasami pokazywało większe liczby... ale termometr nie reagował na zmianę temperatury. [syntax=c] #include <avr/io.h>...
Witam, przeszukałem już cały portal i nie znalazłem odpowiedzi. mam kod obsługi 3 x DS18X20 z numerami układów zapisanymi w EEPROM i jeżeli chcę odczytać właściwy ROM to muszę użyć sekwencji jak w kodzie w sekcji 1 (bez skoku do podprogramu) 'program odczytujący obecność układów 1WIRE i sprawdzający ROMy z EEPROM $regfile = "attiny2313.dat"...
Ściągnołem ten kod ale wciąż program wchodzi do do pętli gdzie I=2 na wyświetlaczu jest -12 Gdzie jest błąd? Config 1wire = Portb.5 $crystal = 1000000 Dim Bd(9) As Byte Dim Z As Integer , Tmp As Integer Dim T As Integer , T1 As Integer Dim Aa As String * 2 Dim Bb As Byte Dim C As Byte Dim I As Byte Declare Sub Temperatura Do Call Temperatura Loop Sub...
Pomieszałeś dwa sposoby obsługi transmisji - nie można stosować dwóch w tym samym czasie. Proponuję tu obsługę na przerwaniach i do niej się odniosę. 1. Nie widzę wywołania inicjalizacji nadawania USART w main(). Powinno to polegać na włączeniu na stałe TXCIE. UDRIE natomiast włączasz na starcie transmisji i na jej końcu wyłączasz. 2. W przerwaniu od...
Hm a może wina nie leży w części programu odpowiadającej za odczyt ds'a tylko w częci komunikacji. ja odczytuje 2 termometry na 2 odrębnych pinach i na trzecim pinie pastylkę pamięci. nie mam najmniejszych problemów wyciągam termometr i mam napis Sensor 1 uszkodzony.. albo 2-gi zależy który wyciągnę, ale cała reszta programu chodzi idealnie. mogę ustawić...
http://obrazki.elektroda.net/68_12224616... Witam Chciałem zaprezentować mój kolejny projekt. Jest to właściwie część projektu nad którym obecnie pracuję. Docelowo układ ma służyć do automatyki domowej. Na razie zrealizowałem tylko pomiar temperatury wraz z obsługą telefonu poprzez komendy AT. Zadaniem prezentowanego ukladu jest pomiar temperatury...
W związku z budową sterownika do pompy CWU, po przygotowaniu projektu analogowego, stwierdziłem że znacznie prościej będzie wykorzystać mikrokontroler. Urządzenie jest dość proste, mierzy regularnie temperaturę i jeśli wykryje wzrost załącza przekaźnik na określony czas. Niestety w pisaniu oprogramowania do µC jestem początkujący i prosiłbym o...
Program działa, ale mam pytanie... Czy ktoś się spotkał że w czujnikach DS1820 temperatura jest wyższa o kilka stopni ? Ja dla sprawdzenia włożyłem czujnik w folii do lodowatej wody (woda z lodem), temperatura powinna wskazywać coś koło zera, jednak pokazywało minimalnie 5 st. C; dlatego też w czujniku drugim odejmuję jeszcze 5 stopni. Drugie pytanie...
może sie przyda - program właśnie na czujnik 18s20 ' BASCOM College ' (EdW 2001.01 str. 20) ' Temat : "Termometr z Dallas DS1820" ' wersja 1.1 (20.03.2001) ' Compiler : BASCOM 8051 LIBRARY V 2.06 ' Used ROM : &H7A3 1955 (dec) > Ok ' Poprawki do ver. 1.0: ' - poprawiony błšd odczytu temp > 41,5...
Witaj Kolego. Ja zrobiłem obsługę one wire w C na mikrokontrolery i działa dobrze. Kilka kwestji jeśli używasz atmega8 to raczej nie używaj zmiennych typu float bo samo użycie tego słowa kluczowego zajmie Ci ponad połowę twojej pamięci flash, niestety tak to już jest. Kilka porad z mojej strony: 1. Czy przeczytałeś już w manualu od maxima/dallasa jak...
Witam mam taki problem jestem posiadaczem termostatu na sterowniu mikroprocesorowym oraz na czujniku DS1820. Chcialbym wykorzystac pomiar tego czujnika nie tylko dla termostatu ale podpiac sie pod niego wykorzystaujac go jako dodatkowy pomiar za posrednictwem komputera. Na elektrodzie znalazlem ciekwy artykul o wykorzystaniu tego czujnika jako termometru...
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...
Witam kolegów. W pełni zgadzam się z kolegą Desa – przy podłączaniu wielu termometrów dobrze jest wykorzystać możliwości 1-wire czego nie zrobiono w wymienionym wyżej artykule z EP. Chodzi o podłączenie wszystkich czujników do jednej linii danych jak pokazał na rysunku kolega Desa. Podstawową zaletą takiego rozwiązania jest ograniczenie ilości...
I tu już klapa. Nie mogę sobie pozwolić na to aby w przypadku awarii czujnika ponownie grzebać w programie. To musi działać tak że odpinam uszkodzony czujnik i wpinam nowy. Potem restart modułu i wszystko działa.. Nie chcę się upierać, że odczyty wszystkich czujników na jednej magistrali to najlepszy sposób ale kurka wodna ;) .... dla mnie większym...
Czy takie: http://www.maritex.com.pl/offer.php?bnr=... mogą być ?
Podaję dane z tabliczki znamionowej Firma FUNKE GERBER Typ/Type Nova-Safety App.-Nr./Ser.No 3670-9161 230V 50-60 Hz 0,4 kW/2A
Kładziemy sobie pastylkę wielkości monety 20 groszowej i udajemy się na spoczynek. Za miesiąc wracamy podłączamy naszą pastylkę do komputera i obserwujemy jaka była temperatura w pomieszczeniu podczas naszej nieobecności. Analizujemy wykresy i drukujemy raport. Brzmi jak scenariusz z filmu science fiction? Niekonieniecznie... Firma Patron udostępniła...
Witam Jako ze to moj pierwszy post chcialbym z gory napisac ze jestem laikiem jesli chodzi o uC. Bawie sie tym od 2 tygodni, probowalem programowac w C ale niestety za wysokie progi. 2 dni temu zabralem sie za bascoma i wymodzilem programik do sterowania solarami, na dwoch czujkach ds1820. Mam prosbe do Was, czy jest cos w kodzie co mozna poprawic (zapewne...
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...
Czy wysłanie liczby 0xcc mam traktować jak znak ascii o tym numerze?? Ponownie sie zapytowuje jak wysłac liczbe na port. Jezeli to przystawka z 1wire na rs232 to sadze ze trzeba odpowiednio przetłumaczyc to na C++. 1wwrite &HCC // wysłac liczbe 0xcc na port 1wwrite &H44 // wysłac liczbe 0x44 na port Waitms 750 // Sleep(750) 1wreset // wysłac 0x00 na...
Na forum sporo bylo juz o obsludze tych ukladow. Idea jest prosta: po wpisaniu do pamieci numerow kazdego z czujnikow, mozesz np. kolejno je odpytywac... dokladne procedury sa na forum... poszukaj
Jak jeszcze interesuje cię ten temat, to miałem podłączone w ten sposób do testów 3 czujniki TAI-8540 (nie jestem pewny numerków, teraz takie są) firmy AAG (wilgotność) i 2 termometry i chodziło ok, docelowo zostało podłączone 4 szt TAI-8540, całość chodzi ok 3 lata, jako logger-kontrola warunków środowiska, długośc sumaryczna kabli ok 50-70m. Był czas...
Witam jak w temacie nie mogę skompilować kodu C za pomocą kompilatora CC5X bo pod taki jest pisany kod. błąd powstaje już w pierwszej linijce const byte //**********zegar z kalendarzem i dwukanalowym termometrem min-max //PIC16F628 oscylator RC //obsluga TMR1 //przerwanie nastepuje co 1s dla kwarcu 32,768 kHz const byte dni_mies[13]={0,31,28,31,30...
Program działa, chociaż wydaje mi się, że temperatura jest ciut zawyżona, no ale może i faktycznie taka jest. Mam jeszcze inny problem, a właściwie póki co za małą wiedze w temacie, żeby wiedzieć jak ten temat ugryź, a mianowicie: Mam tak zdefiniowane zmienne: ( or ) missing [IF(CHR(S2(1)) = 4 THEN] Assigment error...
Poniżej krótki przejrzysty program do termometru. 1wwrite &H44 zmusza DS'a do wykonania pomiaru 1wwrite &HBE zmusza DS'a do "wyplucia" zmierzonej temperatury 1wwrite &HCC zmusza DS'a do zgłoszenia się bez podania adresu układu. Jest to uproszczenie kiedy mamy na magistrali jeden układ. Zmieniając podprogram możemy wysyłać adresy DS'ow. Do Gosub Wlacz_konwersje...
http://obrazki.elektroda.net/99_12535321... Witam, 4x DS18x20 + LCD = Termometr - ale tutaj nieco inaczej plus Extrasy Chciałbym przedstawić proste technicznie ale mam nadzieję dosyć mocno zaawansowane jeśli chodzi o możliwości urządzenie jakim jest prezentowany w tytule "4 kanałowy sterownik / kontroler temperatury oraz 7 kanałowy sterownik...
odczyta numer ds1820 numer seryjny ds1820 biblioteka ds1820
hormann instrukcja supramatic pralka whirlpool słabo wiruje satelitarny tuner analogowy
Oleo-Mac 937: Wzrost obrotów po obróceniu na bok Spięcie w kabelkach robota kuchennego - przyczyny i naprawa