Instrukcja odczytuje 8 bajtów unikalnego numeru i zapisuje je w tablicy począwszy od wskazanego indeksu w stronę narastania indeksów. Czyli jeśli wskazuje się 1 to numer pierwszego czujnika jest w komórkach od 1 do 8. To znaczy, że powinieneś napisać: Z = 9 Adres(z) = 1wsearchnext()
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ą...
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...
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...
Witam ........... i uzyskałem takie numery 2865C38905000025 28CB3E8905000020 28E28A8905000050 282E93890500003D Jak te numery wpisać do tablicy i jak potem odczytać temperaturę z czujnika o danym numerze ID Kod poniżej działa, ale po wymianie czujnika temperatury zamieniają się miejscami. jak zmodyfikować ten kod żeby wstawić tam tablicę z ściśle przypisanymi...
http://obrazki.elektroda.pl/2126980700_1... System monitorowania środowiska, oparty o interfejs LoRa IoT składa się z stacji bazowej zbudowanej z wykorzystaniem modułu Arduino Mega z bramką LoRa oraz zdalnych stacji opartych na Arduino Feather, które łączą się z stacją bazową poprzez radiowy interfejs LoRa. System pozwala na monitorowanie...
...czyli najpierw zamieniam 0x33(READ_ROM) na 0xFF(znajdź pierwszy) to zamiast numeru ID ds-a wyświetla mi FF FF FF FF ... Co robię źle ?... Ha, żeby to było takie proste. "SEARCH ROM" - to jest zaklęcie, które powinno Cię zainteresować. Poszukaj, bo to dość ... popularny temat.
Co to znaczy programy Arduino w języku c? Dodano po 4 Jasne, oto przykłady programów w języku C na Arduino dla podanych zadań: ### 1. Wyświetlanie napisu zawierającego polskie znaki Jeśli używasz wyświetlacza LCD, możesz napotkać problem z polskimi znakami, ponieważ standardowe wyświetlacze LCD nie obsługują ich bezpośrednio. Możesz spróbować zastąpić...
Ja jeszcze jak się bawię kilkoma czujnikami porównawczo, to owijam je razem do kupy folią aluminiową. Zadziwiające jakie potrafią być ruchy powietrza na niewielkich odległościach. A jakiej biblioteki używałeś? Ja przeglądałem gotowe projekty i były programy gdzie trzeba użyć numeru seryjnego. Ja używam <DallasTemperature.h> Tu nie muszę wpisywać...
https://obrazki.elektroda.pl/6483751800_... Witam, PROJEKT ostatecznie ukończony :D wersja ostateczna programów dla płytek MASTER Arduino Mega2560 i SLAVE ESP8266-12E Testowałem urządzenie przez kilka dni, w międzyczasie dokonałem kilku przeróbek, jak w kodzie tak i w połączeniach PIN itp. Usunięte zostały wykryte błędy, najważniejsze to...
Po kilku godzinach (!!!!!!).... W pętli programu zrobiłem tak: (at)Bart-Projects ale niestety nie potrafię stąd te moje bazgroły w programie powyżej. Po jakimś czasie.... Zmieniłem na próbę na taktowanie wewnętrzne 8MHz i działa! serwerek chodzi jak padlina ale działa. Co teraz ?
Zabralem sie za termometr ds18b20. Wczesniej korzystalem z niego, wartosc temperatury wyswietlalem na LCD'ku i wszystko dzialalo. Teraz powrocilem do ukladu z ta roznica ze wart. temperatury wyrzucam szeregowo na kompa. Problem polega na tym ze w hyper terminalu wyswietla mi caly czas jedna wartosc (88). Kiedy wyciagam, w czasie pracy, procka uklad,...
Nie działa mi odczyt danych z DS18B20 Program który napsałem: // NIE DZIAŁA - odczytuje FF byte present = 0; byte data[9]; byte addr[8]; #include <OneWire.h> OneWire ds(A0); // DS18B20 pin void setup(void) { Serial.begin(9600); } void loop(void) { ds.reset(); ds.write(0x44);...
Witam wszystkich Elektrodowiczów! Otóż muszę użyć układu DS18B20 do pomiaru temperatury. Sięgnąłem po niego, gdyż kiedyś go używałem i działało wszystko OK ;) - jednak nie tym razem :/. Chcę wykonać po prostu zwykłą pojedynczą konwersję temperatury i odczytać ją ze ScratchPada. Wykonuję: 1. Wysyłam Presence Pulse do DS18B20. 2. Otrzymuję "1". (zapala...
Panowie naprawde nie wiem czemu mi nie dziala termometr, wyswietla 0 na wyswietlaczu 7seg. Sygnal resetu dziala poprawnie, jest odzew od DS nadawanie bitow tez dziala bo widze na oscyloskopie nadawane ramki po resecie, ale wyswietla 0. Mysle ze mam gdzies blad w czasach ale nie potrafie go odnalezc siedze juz 3 dzien. [syntax=c]#include <avr/io.h>...
WITAM! MAM SZYBKIE PYTANIA: CZY PRZY ODCZYCIE TEMP. Z DS18B20 TEZ CO KTORYS POMIAR MACIE 85 ST. (CZYLI BRAK POMIARU)?? DA SIE TO JAKOS WYELIMINOWAC (WYDLUZANIE CZASU KONWERSJI NIE POMAGA) - NIE CHODZI MI O ROZWIAZANIE TYPU "IF(TEMP!=85)......"?? Z GORY DZIEKUJE I POZDRAWIAM!
czy na 1-wire musze za każdym razem nadawania danych do slave, wykrywac czy znajduje sie na szynie, czy tylko raz po włączeniu zasialnia.
Witaj, numer seryjny to jest 8 bajtów. Numer ten zawiera kod rodziny urządzenia, unikalny numer seryjny urządzenia i sumę kontrolną. Musisz odebrać 8 bajtów. Spójrz w dokumentację w sekcję dotyczącą składni numeru seryjnego. Wyświetl wszystkie 8 bajtów. Zobaczymy co z tym dalej. PS. Używając komendy 0x33 musi być podłączony tylko i wyłącznie jeden czujnik...
Cześć. Wielokrotnie już elektroda ratowała mnie pomocną ręką, mam nadzieje, że i tak dziś będzie. Staram sie napisać własną obsługę dla ds18b20 dla atmega8. Sporządziłem wstępny kod "biblioteki" (gdy zacznie działać zrefaktoryzuje kod celem jej uogólnienia). Jak narazie jedyna funkcja która mi działa to reset i presence pulse. Dalej w zasadzie odczytuje...
Witam Z racji wolnego dnia postanowiłem jeszcze dokładniej poznać budowę DS18B20 (czasem trzeba sobie co nieco przypomnieć). Odpalam program który zawsze działał i tu niespodzianka... DS działa prawnie do 32 stopni a jeśli temperatura przekroczy ten próg bez względu na to co jest wyświetla 85 stopni aż temperatura nie zjedzie poniżej tego progu. Problem...
Witam Dzięki pomocy elektrody i 2 mądrych książek udało mi się coś takiego naskrobać. Przez moment używałem 2 timerów ale po jakimś czasie wyszło coś takiego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = 255 'wszystkie końcówki jako wyjścia Portb = &B11111111 'na początek wygaś Config Portd = &B1111111 'dwie najmłodsze jako...
Wita! Mam problem z termometrem dziwnie wskazuje w pokoju mam 29 stop. ?? i mu nie wierze bo jest max 24 patrzylem na zwyklym termometrze, czytam czytam i kazdy cos wspomina o rozdzielczosci dla serii b moj programik ... config 1wire=portb.0 declare sub odczyt_temp dim temperatura(2) as byte do call odczyt_temp cls lcd "temp:"...
Witam wszystkich przeczytałem wszystkie tematy związane z tym czujnikiem a i tak do końca nie wiem jak sie go odczytuje chcial bym by ktos na podstawie tego krotkiego programiku mogl mi wyjasnic co i jak Do Wait 1 //czekanie 1s 1wreset //inicjalizacja transmisji 1wwrite &HCC // wiem ze tak musi byc ale nie wiem do końca co to oznacza 1wwrite &HBE //jak...
witam mam taki problem nie wiem dlaczego ale z magistrali 1-wire dostaje ciagle same FFF... Nie bawilem sei tym jeszcze nigdy wiec nie wiem gdzie tkwi problem DS18B20 podalczony jest do portu PB.1 (at90s2313) wsadzilem rezystor 4,7k podciagajĄCy zgodnie z zalaceniem producenta. Podpiete jest zasilanie do ukladu (tj 3 przewodu ida do czujki vcc Dq i...
Witam właśnie uruchamiam urządzenie z powyższym układem. U mnie w domu temperatura powietrza jest ustawiona około 20*C, na biurku pod lampą i blisko komputera może być oczywiście cieplej. Mam kilka sztuk tego układu, dwa z "nowej" serii i jeden "antyk". Żaden z nich nie był nigdy lutowany. Wszystkie 3 sztuki pokazują temperaturę od około 27*C do prawie...
No dobra, teraz działa. W związku z tym, że mam odczyt z jednego czujnika, chciałbym tak zmodyfikować kod aby odpytywać np. dwa. Teoretycznie wiem, że można sobie pobrać numery identyfikacyjne czujników, na sztywno przypisać je do jakiś zmiennych a następnie po kolei zczytywać temp. z konkretnych czujników. W teorii wydaje się proste ale jak to teraz...
Witam ! Zrobilem sterownik do pieca CO. Jako czujniki temperatury wykorzystalem DS18B20. Wszystko dziala, tylko, ze po pewnym czysie odczyt z czujnikow jest rony 0 C. Po wyjeciu wtyczki czujnika sterownik wyswitla 255 C i to jest normalne. Po jej ponownym wlozeniu pokazuje jakas temperature, ale nie rzeczywista i spada on po jednym stopniu co odczyt....
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...
Witam, podłączam 4 czujniki temp ds18b20 poprzez 1wire do atmega32. Chciałbym zapisać ich id do eepromu a potem odczytać z tablicy. [syntax=basic4gl]Dim Id1(8) As Byte zapis: For C = 1 To 8 Step 1 writeeeprom id1(c), c Next C odczyt: For C = 1 To 8 Step 1 readeeprom id1(c), c Next C wyswietlanie: For C = 1 To 8 Step 1 Lcd Hex(id1(c)) Next C[/syntax]...
Witam Kupiłem sobie DS18B20 wodoodporny z metrowym przewodem. Podłączyłem go do '51, Vcc, Masa i dane przez rezystor 4,7koma do plusa. Termometr zaczyna działać dopiero jak się go podgrzeje powyżej 30 stopni Celcjusza. Po ostygnięciu poniżej tej temperatury znów nie działa. Testowałem z drugim identycznym termometrem, ale ten drugi zaczyna działać powyżej...
Potrzebowałem szybko wykonać tani przenośny zestaw do pomiaru temperatury na odległość ok. 30 m. Kupiłem gotowy moduł tablicowy do DS18B20 i oczywiście sam DS18B20 na kablu 1 m. Po podłączeniu DSa do modułu wszystko działa OK. Natomiast podłączenie poprzez kabel 30 m nie działa (na wyświetlaczu jest 0.00 czyli jakbym nic nie połączył). Do przedłużenia...
Witam, Czy istnieje możliwość identyfikacji wyprowadzeń (GND/VCC/DATA) tego czujnika temperatury omomierzem lub inną mało skomplikowaną metodą? Tak byłem zadowolony z "zarobienia" czujnika w metalowej, wszystkoszczelnej tulejce, że, jak to bywa, zapomniałem zapisać sobie który kolor przewodu jest czym...
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 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...
Niedawno pisałem takie oprogramowanie w C - sterowanie fazowe triaka a odczyt takze był z ds'a. Także miałem ten problem co autor tematu - jedno z dobrych rozwiązań to zastosowanie maszyny stanu, gdzie zmiana kolejnych stanów jest uzależniona od przejścia sinusoidy napięcia sieci przez zero(inaczej:maszyna taktowana jest przerwaniem zewnętrznym ). Samo...
Witam staram sie uruchomic weryfikacje odczytanych danych z czujnika DS18B20 o ile w przypadku weryfikacji CRC dla odczytu nr identyfikacyjnego czujnika dziala poprawnie to dla weryfikacji danych odczytanych ze scrathpad`u juz nie. Zalaczam kod do wyliczania CRC [syntax=c]uint8_t crc8_update(uint8_t crc , uint8_t data,uint8_t generator){ crc = crc XOR...
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...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Dzięki za pomoc! Okazało się że jednak procek ze sklepu był uwalony :) Nowy procek działa bez żadnych problemów :) Teraz mam inny problem: Do tego procka mam dołączone 3 układy ds18b20 i nie wiem dlaczego co jakiś czas jedna z temperatur wynosi 16 stopni. Dzieje się to nieregularnie i wystepuje raz na jednej czujce raz na drugiej :( Prosze o pomoc ten...
No i przedobrzyłem Dokonałem optymalizacji kodu, oszczędzając kilkanaście procent pamięci FLASH, ale... sygnał z pilota NEC ( takie małe płaskie na baterie pastylkową ) przestał być odbierany - brak jakiejkolwiek reakcji na naciśnięcie przycisku w pilocie. Poniżej kod: Print Command w przerwaniu Infrared , żeby sprawdzić, czy coś odbiera - reakcji brak,...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
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 Po raz pierwszy ( lepiej późno niż wcale ) wykorzystałem wyjście CLKOUT układu PCF8563. Oczywiście podciągnąłem przez 10K do VCC. Dzisiaj po pierwszym kilkugodzinnym braku prądu, rano zegar był wyzerowany. Podejrzewam, że to przez podciągnięcie CLKOUT do Vcc. Jeśli to jest to, to może wystarczy włożyć diodę np. Schottky pomiędzy wyjście CLKOUT,...
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Jeśli chcesz użyć jeden pin - jeden czujnik, to prościej użyć np. LM35 i ADC. Dla DS musisz zmodyfikować używaną bibliotekę, aby mogła machać kilkoma pinami. Najprościej odszukać funkcje odpowiedzialne za machanie pinami i zmodyfikować je tak, aby pobierały jeszcze jeden parametr - nr pinu. Aby nie pociągnęło to konieczności modyfikacji reszty funkcji,...
Czas odczytu 7 sztuk DS18B20 z pobraniem numeru czujnika z tablicy ze sprawdzeniem CRC wyniku ATmega kwarc 18,432 MHz 12,5 milisekundy. Dodano po 16 Koryguję czas podany poprzednio. Nie zauważyłem przeniesienia. Ten czas wynosi 26,8 milisekundy.
W ogóle skoro nie potrafisz odczytać tego co napisałem wyżej to znaczy że do końca nie rozumiesz co to tablica. Wyjaśnię najbardziej łopatologicznie. Wyobraź sobie, że tablica to pociąg z wagonami od 1 do 8. Każdy wagonik może przewozić daną liczbę. A cały pociąg ma swoją nazwę np. pociąg "Kopernik" Więc. Ds1(1)=9 Oznacza, że mamy tablicę o nazwie "Ds1",...
Trochę masz to dziwnie napisane jeśli chodzi o odczyt temperatury. Co jak czas masz odświeżanie pętli głównej ?. Używanie rozkazu Skip Rom to lipa trochę. Jeśli masz ochotę to popraw to trochę tzn. warto odczytać przy starcie numery seryjne termometrów jak masz dwa i nie chce Ci się implementować procedury automatycznego przeszukania to poprostu odczytaj...
Witam, Czasówki 1wire do zmiany. Sprawdzaj CRC numerów seryjnych.
Dziękuję już wiem jak to zrobić: wyszukać wszystkie układy które są podłączone następnie zapisać do pamięci Ram lub eeprom ich numery id, a następnie przy odczycie odwoływać się do tych numerów.
Dziekuje za kolejna podpowiedz i mam pytanie może dziecinne ale dla mnie to moze byc spory problem jak zrealizować procedure odczytu numeru seryjnego danego czujnika z pamieci eprom?
Witam. Mam problem z programem który w inny urządzeniu działa jak należy. Program odczytuje numer ID z DS18B20 zapisuje w pamięci a później odczytuje go z pamięci i dzięki niemu odczytuje temperaturę z jednego z dwu czujników. Problem w tym że tej temperatury nie odczytuje. Procesor "widzi" czujniki bo wyświetla ich ID. Same czujniki też mogę odczytać...
Pt100 i DS18B20 to całkiem różne czujniki temperatur i o ile sam wskaźnik/regulator nie jest przystosowany do obsługi obydwu rodzajów czujników to nie da się ich zamieniać. Czujnik Pt100 jest czujnikiem rezystancyjnym. Zbudowany jest z cienkiego drutu platynowego, którego opór elektryczny się zmienia pod wpływem temperatury. Im większa temperatura tym...
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...
Rozpoznawanie za każdym razem ID ROM może i jest uniwersalne ale ja tez wybrałem prostszy sposób oznaczyłem sobie każdy czujnik i odczytałem jego ID. Aby odcztać ID ROM na magistrali musi być tylko jedno urządzenie na którym wykonujesz np taka operacje: [syntax=c] void IdRead(u08 *tab)//Odczyt adresu przetwornika { u08 n; wire_reset(); wire_write_byte(0x33);...
fajny kod:) Tylko czy wyliczanie crc z scratchpada i numeru seryjnego różni się? bo dla scratchpada, moja procedura chodzi bezbłędnie, tylko z numerem seryjnym problem...
Ale zle ci hulało, albo jeden tylko sie meldował !!! W przypadku gdy stosujemy tryb pracy DS z pasywnym zasilaniem to nie działa logika DS odpowiedzialna za pracę układu w trybie adresowym ! Normalnie gdy kazdy DS pracuje z zasilaniem 5V to można podłaczyć wiele DSów do magistrali 1-wire i kazdy jest rozrózniany po swoim unikatowym numerze (adres) i...
(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...
... to chyba napisać na komputer program do wprowadzania danych - klepiesz cyfry, a on dopisuje czas, najlepiej według pierwszej wpisanej cyfry - odczytujesz, i wpisujesz, nie patrząc, czy się zmienia wskazanie miernika, a komputer dopisuje czas dla chwili, kiedy odczytałeś. Dobrze by było mieć wpisanych co najmniej kilkanaście odczytów z miernika -...
Witam! W Elektronice Praktycznej nr 11/2004 jest artykuł "Baskom i 1-Wire" opisyjący między innymi DS18B20. Jest tam kilka przykładowych listngów. Polecam. :P Pozdrawiam
Najbardziej trafnym sposobem odczytu ROM poszczegolnych czujników jest przypinanie je pojedynczo do układu i zapisywanie ich numerów w pamięci EEPROM. Następnie odczyt EEPROMU przy pomocy programatora. Sposób sprawdzony, wszystko działa.
+85 zdarza się tylko wtedy gdy procesor się resetuje i odczytuje od nowa numery DSów. Nie, zdarza się również wtedy, kiedy sensor DS18B20 traci chwilowo zasilanie, a proces konwersji temperatury był wcześniej zainicjowany.
Czyli tak ?: dim crc1 as byte dim crc2 as byte a potem w pętli programu: 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE crc1 = 1wread(8) 'pobranie crc z DS18b20 numer 1 If crc1 = Crc8(Dsid1(1), 7) Then 'jeżeli crc z DS18b20 = z crc8 I1 = 1wread(2) 'odczyt temp. End If Waitms 750 1wreset 1wwrite &H55 1wverify...
Wszystko byłoby fajnie jak bym wiedział jak sie za to zabrać. Czytałem troche na ten temat w archiwalnych numerach Elektroniki ale tam jest opisany sposób odczytu na podstawie 1820 a na tym forum przeczytałem , że ds18b20 obsługuje sie troszke inaczej....
Ale to właśnie jest komplikowanie sobie życia! Nie wykorzystujesz podstawowej cechy 1-wire, mianowicie możliwości swobodnej komunikacji przy wykorzystaniu tylko jednej linii portu uC. Gratis masz kontrolę numerów układów, ich ilości, stanu itp. Programując "po okrężnej" wolniej rozwijasz swoje umiejętności! DS18B20 mają unikalny, 64 bitowy numer ID...
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,...
odczyt ds18b20 ds18b20 odczyt ds18b20 zmiana numeru
dodge światła płyta gazowy amica pokrętło iphone zawiesza
Realtek RTL8710CF Wi-Fi MCU: Specs, Differences, and Use in TP-Link Kasa, Meross, Refoss IoT Devices Łożyska wału korbowego w Oleo Mac 937: czy usuwać blaszki?