DS18B20 jeszcze nie jest wspierany, wspierana jest rodzina DHT i nieco czujników na I2C
Ja ogólnie korzystam z biblioteki DallasTemperature znajdziesz ją bez problemu. A dodatkowo dołączam mój skrypt dla dwóch termometrów cyfrowych : [syntax=c]#include <OneWire.h> #include <DallasTemperature.h> // Biblioteki #define ONE_WIRE_BUS_1 2 // Definicje pinów wejscia jako 2 i 4 #define ONE_WIRE_BUS_2 4 OneWire oneWire_in(ONE_WIRE_BUS_1);...
Weź miernik, sprawdź rezystancje/napięcia przewodzenia na czujniku i porównaj to z pomiarami na poszczególnych żyłach.
Jesteś pewien, że ten regulator współpracuje z czujnikiem Pt100? Na Allegro znalazłem takie regulatory, ale w opisach wszystkich jest, ze współpracują one z czujnikami DS18B20 Pt-100 to czujnik rezystancyjny, a DS18B20 zawiera czujnik oraz kawałek elektroniki, która komunikuje się cyfrowo po 1-wire. Swoje pytanie powinieneś zacząć od informacji z jakim...
Przyczyną wskazania 85'C może być tylko nie ukończona konwersja temperatury. W układach tych pamięć wyników przed pomiarem jest wypełniana właśnie wartością 85'C. Spróbuj zwiększyć czas między rozpoczęciem pomiaru, a jego odczytem. Niby masz 900ms to powinno wystarczyć, ale możliwe że trafiłeś na DS'a z kiepskiej partii lub zwykłą podróbke.
Witam. Mam Moduł WiFi ESP8266 + NodeMCU v3 do którego mam podłączone dwa czujniki DS18B20 pod pin D7. Z jakiegoś powodu czujniki nie są wykrywane. Proszę o naprowadzenie dlaczego. main.cpp https://obrazki.elektroda.pl/4404618400_... Fizycznie połączenia są ok - uruchamiając kod w którym wszystko jest w main.cpp odczyty wykonywane są...
Ja bym proponował podłączyć przewody do DS18B20 tak, żeby pociągnięcie za przewód nie mogło urwać nóżki. Na przykład po drodze można dać jakąś podstawkę, czy złączkę. I to raczej taką, żeby nie dało się połączyć inaczej, niż prawidłowo - są do tego np. złączki IDC, czy CRIMP - zobacz na Allegro "Gniazdo CRIMP na kabel 3PIN 2,54mm", można kupić 30 za...
https://obrazki.elektroda.pl/1760348500_... Witam. Mam już w posiadaniu kolejny czujnik temperatury DS18B20. Czujnik ten podłączyłem zgodnie ze schematem umieszczonym na zdjęciu. Do jednej dużej podpiąłem 5V, do drugiej Dane (pin cyfrowy np: 13) oraz GND, z Arduino. Dodatkowo umieściłem rezystor 4,7k ohm, w celu dokładnego odczytu...
Czy jest możliwy błąd podłączenia? Tutaj oczywiście zmieniłem na PB.1 Tak, wszystko jest możliwe... Spróbuj ten code: [syntax=basic4gl] 'DS18B20 - ROM reading test from single sensor DS18B20 $regfile = "m8adef.dat" $crystal = 4000000 $hwstack = 80 $swstack = 80 $framesize = 40 Config 1wire = Portb.1 'Config 1wire = Portd.5 Dim N As Byte Dim Dsid1(8)...
Witam , chciałbym przedstawić mój emulator czujnika ds18b20. Celem projektu było zaprojektować i wykonać emulator, by skończyć z przypalaniem podgrzewaniem itp. czujników ds18b20. Pewnie nie raz każdy zmagał się z tym tematem podgrzewania czujnika, aby sprawdzić czy jego urządzonko działa poprawnie np. sterownik pieca czy wyłącza piec po przekroczeniu...
DHT11 z założenia nie są zbyt precyzyjne ... Jeśli masz uwierzyć w któryś z tych czujników, to uwierz w DS18B20 :D
Temat pewnie był opisany na tym forum kilkukrotnie. Najlepiej skorzystać z noty katalogowej układu. Tam wszystko jest dokładnie opisane. Rozumiem, że kilka czujników chcesz podpiąć na wspólnej magistrali 1-wire bo gdy stworzysz dla każdego czujnika osobną ten problem nie istnieje. Sposoby są ogólnie na to dwa. Pierwszy -wg. mnie prostszy ale mniej profesjonalny-to...
Witam, obawiam się, że nie masz takiej możliwości. Ten numer, w uproszczeniu, to zawartość wewnętrznej pamięci ROM, nieedytowalny i programowany na etapie produkcji. Czyżby dalekowschodni producenci mieli tylko pulę kilku adresów i tłukli je na okrągło :) Pozdrawiam PS chyba zostaje ci użycie różnych pinów lub "rozdzielacza/multipleksera"
Czujnik Dallas DS18B20 jest czujnikiem z magistralą 1-Wire, komunikuje się z procesorem jednym przewodem, a możliwe jest podłączenie dużej ich ilości równolegle. Użytkownika powinno interesować, jak adresować ten czujnik, jak odczytać jego ID i dane o temperaturze. Do czujnika ds18b20 da się wpisać chyba tylko poziomy alarmów, więc raczej nie ma mowy...
Ten listing wygląda znacznie lepiej, nie jest to może arcydzieło, ale działa i mieści się w mikrokontrolerze, który kolega wybrał, więc gratuluję . Można jeszcze popracować i coś tam wyciąć dla własnej satysfakcji, ale nie zmienia to faktu, że kolega samodzielnie na podstawie wskazówek kolegów dokonał udanej modyfikacji kodu programu, więc gratuluję...
...Czy w bascomie można zadeklarować tablicę dwu wymiarową Nie :!: Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu... Bo tak są skonstruowane - patrz tabelki w PDF-ku :) Czy jest możliwe najpierw wysłanie do wszystkich czujników polecenia mierzenia temperatury ... Jasne ;) '... 1wreset If Err=0 Then...
Aby kod łatwo było analizować używaj znaczniki SYNTAX: [syntax=c] tu wklej Twój kod [/syntax] Plik : HD44780.c Plik : HD44780.h Dodano po 25 Ja połączyłem je w ten sposób ale pewnie źle bo wystąpiły błędy w kompilacji. Proszę o pokazanie mi sposób połączenia tych dwóch plików w prawidłowy sposób. Pierwsze uwagi: - te dwa pliki to tylko...
Kilka kilkanaście czujników to nie jest jeszcze problem, ale już kilkadziesiąt to jest problem. Jeśli masz kilkadziesiąt czujników i interesują Cię tylko przekroczenia to wysyłasz do wszystkich komendy SKIP ROM i CONVERT TEMPERATURE, a następnie ALARM SEARCH. Jeśli są jakieś przekroczenia to zgłoszą się tylko te czujniki, które te przekroczenia zarejestrują....
No to powodzenia z obsługą 1-wire w assemblerze. Jeszcze przez początkującego. Mój nauczyciel bawił się okrągły miesiąc i udało mu się :). I2c można dosyć prosto obsłużyć z poziomu asm, ale co do 1-wire to jak nie znajdziesz gotowca w assemblerze to sam nie zrobisz. Dla chcącego nic trudnego. Nazwy procedur mówią same za siebie. Magistrala na P1.7...
To powtórz swój program 3 razy za każdym razem zmieniając pin do którego podłączasz DS-a. Zamiast kopiować kilkukrotnie procedury wystarczy zrobić coś takiego: void select_bus(unsigned char bus_nr) { if(bus_nr == 1) { ddr_reg = (unsigned char *)0x31; // DDRD bus_pin = (1<<5); port_reg = (unsigned...
Witam. Poczytaj tutaj http://akademia.nettigo.pl/ds18b20/#podl...
U mnie najczęstszym powodem awarii tych czujników była awaria przewodu. Przewody były co prawda bardzo narażone na uszkodzenia mechaniczne. Ciężko przy tak częstym uszkodzeniu przewodu wywnioskować, czy przy którymś razie nie był to czujnik. Ale u mnie pracowały one w trudnych warunkach. /CIACH/ Skrętki nie stosowałem, Stosowałem z tego co pamiętam...
Stara mega32 da radę, ale dla pewności taktowałbym ją zewnętrznym generatorem kwarcowym (taniocha) a nie kwarcem. Bascom to przeliczy. Widziałem 1wire jak działa z Bascom w Xmedze na 48MHz. Wystarczy dobrze zadeklarować prędkośc taktowania, co obstawiam jeśli reszta protokołów działa. Dalej obstawiam błąd w oprogramowaniu przez programistę :)
Siemka! Nie ma większego problemu i z paroma czujnikami. Rozwiązania tego problemu są conajmniej dwa. 1. Wrzucasz czujniki każdy na innym pinie portu mikrokontrolera i odczytujesz wynik korzystając właśnie z algorytmu dla jednego czujnika. Jedyna kwestia to tylko sekwencyjne przełączanie interface'u 1-Wire pomiędzy połączonymi z czujnikami pinami portu....
ludzie, w przeciągu chyba tygodnia znowu to samo na elektrodzie, czyli potwierdzenie mojej teorii - im większymi literami jest coś napisane, tym gorzej to widać. pewnie kolega wzorował się na dolnym rysunku, pod którym pisze BOTTOM VIEV (czyli WIDOK OD DOŁU) - innymi słowy mówiąc widok tak jakbyśmy układ trzymali nóżkami do twarzy. rysunek górny pokazuje...
A jak masz połączone te rezystory? Szeregowo czy równolegle? Czemu posługujesz się czyimiś bibliotekami, nie napiszesz ich sam? A to już nie można cudzych bibliotek wykorzystać? Nie wiem czy tutaj byłeś: [url=http://www.hobby.abxyz.bplaced.net/... Na dole artykułu jest gotowa biblioteka do ds18b20 działająca na 100%. W msb i lsb...
Tu jest bardzo dobrze opisana obsługa timerów - http://diycenter.acid19.linuxpl.com/read...
Niestety nie. Ten Shimaden nie obsluguje komunikacji 1 wire ktora ma ten czujnik
Hej! Twój problem polega na specyficznej konstrukcji magistrali 1Wire i tego że wszystkie czujniki są podłączone za pomocą jednej lini i w momencie gdy chcesz pobrać dane z jednego to zgłaszają ci się wszystkie na raz lub ten który jest szybszy. Miałem podobny problem gdy w układzie miałem podłączony czujnik temperatury oraz pastylkę dallasa i efekt...
[url=http://gandalf.arubi.uni-kl.de/avr_...
Przedmówca zamieścił właśnie kod który działa tak samo jak wcześniej opisałem :) W załączniku przedstawiam moją wersję CRC ( co prawda nie testowałem jej ale wydaj się prawidłowa ( dla innych CRC działa bezproblemowo) pozdrawiam
Ma sens. Ja pisałem własną bibliotekę 1wire pod kątem maksymalnej odległości od procka i tylko 1 czujnik/1pin. Uzyskałem 100m bez kondensatora i 200m z kondensatorem 1uF przy czujniku (dłuższego przewodu nie testowałem). Transmisja cały czas poprawna. Przewód telefoniczny 20zł/100m :) Pozdrawiam.
napisze to troche asemblerowym ( nie wiem czy dobrze napisalem) jezykiem: a wiec np: dla temperatury -25 stopni ( cos tam po przecinku ) odczytujesz taka wartość: 1111 1110 0110 1111 - ostnie 4 bity to wartość po przecinku nie bierzemy jej po uwage zostaje 1111 1110 0110 teraz zaneguj wszystkie bity; powstanie ci taki potwór 0000 0001 1001 a to jest...
Zobacz ten temat: http://www.elektroda.pl/rtvforum/topic22...
Twoje makro OUT_1WIRE_LOW jest bledne - dziala na PIND zamiast na PORTD, p[odobnie OUT_1WIRE_HIGH.
Ech te komercyjne programiki podszywające się pod darmowe narzędzia... ;))) Na szczęście w świecie zepsutym przez komercję jest jeszcze coś W PEŁNI DARMOWEGO i w PEŁNI FUNKCJONALNEGO - taaaadaaaaa... Khazama Programmer - wujek Google podpowie Ci resztę. Powodzenia.
W Elektronice Praktycznej z września 1994 r. jest dokładnie opisana taka kostka PCF8583. Na dodatek zamieszczony jest też listing programu w assemblerze dla mikrokontrolera 8031/8051 do "rozmawiania" z tą kostką po magistrali i2c. Jak znasz kilka słów po angielsku to ściągnij z sieci data sheet (.pdf) tej kostki a dowiesz się wszystkiego.
http://www.maxim-ic.com/app-notes/index....
Poniżej przykład. Zwróć uwagę, że w tym przykładzie komenda konwersji temperatury występuje na końcu, a nie na początku. Odczytana temperatura będzie zatem tą która została konwertowana po poprzednim odczycie. To oczywiście nie ma znaczenia dla tego jak adresować czujniki. Powodzenia ! PL Config 1wire = Portd.6 Dim Adresy(16) As Byte Dim T1 As Byte...
To się robi na dwa sposoby: masz wyjście typu otwarty dren, albo wyjście trzeba przestawić w Input przed odpowiedzią DS-a. W obu przypadkach potrzebny jest pull-up.
Ten fragment trochę wyjaśnia i odnoszę wrażenie że bazuje na informacji wyciągniętych od producenta: The DS18B20 temperature measurement probe is based on a bandgap device (i.e. diode thermometry). Note that this detection method is unlike the original DS1820 which obtained temperature indications by relying on a low temperature coeffcient oscillator...
Chyba nawet lepiej całkiem przenieść kawałek opisany jako "konwersja temp dla wszystkich dsow" przed pierwszy odczyt. Bo Twoim sposobem konwersja będzie (niepotrzebnie) wykonywana dwukrotnie. Ale ja nie jestem "Bascomiczny", więc uprzedzam, że mogę się mylić ;)
https://obrazki.elektroda.pl/5078506600_... Opublikowany niedawno raport wskazał, ze większość sprzedawanych poza oficjalną dystrybucją układów DS18B20 może być podróbkami lub kopiami, wykonywanymi przez inne niż Maxim firmy. Omawiany układ to prosty, cyfrowy sensor temperatury z interfejsem 1-Wire. Jeśli kupowaliście go na portalach...
U mnie chodziło na 150m ale musiałem delikatnie przerobic program. CRC koniecznie trzeba sprawdzac bo conajmniej 1-10 pomiar bedzie błędny. Na psożytniczym u mnie było.
Wstałem rano z wyspaną głową i patrzę na Twój kod przy kawie. Deklarujesz 80 bajtów na adresy czujników. Start każdego adresu określasz tak, że mnożysz razy dziesięć wartość zmiennej "Zmienna" Pierwszy Dallas zajmuje więc komórki 10,11,12,13,14,15,16 i 17 Siódmy Dallas zajmuje 70,71,72,73,74,75,76 i 77 ... i tutaj zadeklarowane 80 bajtów się kończy......
EEPROM na 1W to DS2431, jakby Ci to miało coś ułatwić.
Witam a mozna jeszcze zrobic cos takiego zeby sterownik ten wylaczal sie programowo po uplywie 1 godz bez roznicy czym byl uruchomiony czy wlacznikiem czy przez bluetooth Da się zrobić ;)
średnia = suma wartości z pomiarów/24
... #define OWPORT PORTE #define OWPIN PE2 #define OWPININ PINE #define OWDDR DDRE #define OWIN 2 // 2^OWPIN #define sbi(p,b) (p) |= (1<<(b)) #define cbi(p,b) (p) &= ~(1<<(b)) #define delay_us(x) _delay_loop_2(x*2) #define ow_lo() sbi(OWDDR,...
Całego kodu nie mogę podrzucić, bo: - nie mam odczytu z eepromu, - nie wiem, czy zapis do eeprom ma być jednorazowy w momencie programowania procesora, czy ma być jednorazowy po pierwszym uruchomieniu programu, czy ma być wielokrotny w dowolnym momencie np. po zmianie termometru i wciśnięciu - dajmy na to - dowolnego guzika, - nie mam zrealizowanego...
Nie kojarzę już przy jakiej okazji otrzymywałem ten błąd. Ale zaproponować Ci mogę skorzystanie z tych kodów:[url=http://www.stsystem.elektroda... czujnik, [url=http://www.stsystem.elektroda.eu/pr... czujników. Kody działają w 100%, pochodzą z wdrożonego rozwiązania. Przyjrzyj...
Witam chciałbym zaprezentować układ pomiaru temperatury z wielu czujników Ds18b20 ,na razie czterech z jednego modułu ESP8266. Projekt nawiązuje do tego rozwiązania : https://www.elektroda.pl/rtvforum/topic3... Tamten projekt już nie będzie rozwijany w tym natomiast wprowadziłem wiele zmian przygotowując sobie grunt pod przyszłą rozbudowę i...
Funkcje OneWireReset_1, OneWireReset_2, OneWireWriteByte_1, OneWireWriteByte_2, OneWireReadByte_1 i OneWireReadByte_2 obuduj tak: unsigned char OneWireReset_1() { cli(); ... ... ... sei(); return(0); } A jeszcze lepiej to obuduj makrem ATOMIC_BLOCK.
...liczyłem że podczas tych 100ms na końcu ds coś odpowie Kolego :!: Magistrala 1wire była już "wałkowana" tyle razy, że muszę odesłać Cię do podstaw. Zapoznaj się z czymś, co nazywa się TIME SLOT. Podpowiem tylko, że układy slave nie pytane ... "nie mówią". zumek
Stosuje się bardzo często DS18b20 i czujniki serii KTY. PT100 są zbyt drogie do takich zastosowań i skomplikowane w użyciu. Uważam że większość stosuje DS18b20.
Dzielenie przez 16 to to samo co przesuwanie bajtu w prawo o 4. Czyli jest to wywalenie jakby 4 najmłodszych bitów, czyli odczyt temp będzie z dokładnością do 0,5 stopnia. Zajrzyj do notki. 5 najstarszych bitów to znak czy dodatnia czy ujemna, a 4 najmłodsze oznaczają miejsca po przecinku. Rozumiem ze zmiana z systemu binarnego na dziesiętny jest znana?...
Funkcja może przyjąć argument od 0 do AMOUNT-1 i wysyła na linię DQ rom'a z tablicy. [syntax=c] /***************************************... Wysyła 64-bitowy numer identyfikacyjny ROM, z tablicy rom[AMOUNT][8] wybranego urządzenia. ****************************************...
BYTE read_wire(void) { BYTE i, wire_byte; wire_byte = 0; for(i=0 ; i<8 ; i++) { wire = 0; wire = 1; DELAY(1,1); NOP(); NOP(); if(wire) { //jesli na wire jest 1 to wchodzi do petli wire_byte = wire_byte | 0x01 << i; //zapisujemy tylko jedynki przesuniete o liczbe wywolan petli czyli...
Osobiście mogę zaproponować mikrokontroler MSP430xxx. Wersja MSP430F4xx ma wbudowany sterownik LCD i posiada przetwornik ADC 14 bit. Układ taki może pracować z jednej bateri 3V przez bardzo długi okres czasu (1-2 lat), ale zależy to od poboru prądu przez pozostałą część elektroniki. Sam mikroprocesor nie weźmie więcej prądu niż 0,4mA MAX! Co do czujnika...
Popatrz tu: http://owfs.sourceforge.net/family.html
Chodzi o to że czasami odczytujesz nie cały wiersz lecz jego fragment. [syntax=delphi]var P:Integer; begin ComPort.ReadStr(Str, Count); Memo.Text:= Memo.Text+Str; P:=Pos(#13,Str); if P>0 then begin Str:=Memo.Lines[Memo.Lines.Count-2+Ord(P... T1:= Copy(Str,1,4); T2:= Copy(Str,6,4); Label3.Caption:= 'Temperatura IGBT [T1] = '+T1; Label2.Caption:=...
Jednocześnie jeden czujnik do dwóch urządzeń...trochę ciężko. Dało by się to zrobić pod warunkiem dobrego oprogramowania magstrali 1-wire. Albo trzeba by pytać o temperaturę w jakimś porządku (jakiś arbitraż, rozdzielenie w czasie -nie wszyscy na raz) lub jeden MASTER pyta DS18B20 a drugi układ nasłuchuje tylko odpowiedzi i nie wprowadza swojego sygnału...
I i $crystal=
(at)ziom10zset co do Supli bym kupił https://allegro.pl/oferta/esp8266-v3-ch3... https://allegro.pl/oferta/modul-przekazn...
Witam. Chyba nie szukałeś, lepszym i praktyczniejszym projektem jest mikrokontrol ATmegi czyli Arduino i wpiecie czujników wilgotności i temperatury. Mona kupić czujniki juz gotwowe uruchamiajac przy pomocy kodu napisanego w srodowisku Ardino IDE (np. dla początkujących). ARDUINO (ATmega) - https://botland.com.pl/content/category/... Odczytanie...
WItam Najlepiej zrób tak: linie DQ podłącz do pinu procka i podciagnij ją rezystorkiem 4,7kohm do +5V a mase do masy. Nie podłączaj zasilania czujnika. Ja miałem takie problemy własnie gdy wykorzystałem techlogię 2wire taka jak ty. Gdy zmieniłem tak jak Ci napisałem wszytko było już ok. Pozdrawiam Shevu
Schemat poprawny dodaj złącze kanda dla programatora ISP żebyś w przyszłości nie musiał wyciągać Atmegi jak chciałbyś poprawić program.
To nie jest termopara, tylko DS18B20 - cyfrowy czujnik temperatury. https://obrazki.elektroda.pl/7344066100_... Potrzebujesz termopary typu K, np. https://allegro.pl/oferta/termopara-typu...
Przepraszam, że dopiero teraz ale jestem w delegacji. Minęły dwa dni a Twój termometr nie działa... Możesz słuchać każdego. Ja proponuję takie rozwiązanie które zajmuje dosłownie dwie minuty jeśli robiło się to wczesniej. Sprawa jest w pełni odwracalna. To nie ślub z kobietą :D Więc co szkodzi spróbować? Kiedyś może sam komuś pomożesz. Należy zacząć...
Witam chciałbym zaprezentować mały układzik pomiaru temp. z dwóch czujników Ds18b20 po sieci WiFI. Od dawna chciałem zbudować termometr elektroniczny dla domu który będzie mierzył temperaturę zewnętrzną i wewnętrzną , nawet parę takich zrobiłem niestety zawsze brakowało mi determinacji aby dokończyć obudowę i projekty lądowały w..... (no wiecie na strychu...
Podpinam się Jestem w trakcie budowy instalacji i dziś właśnie się nad tym zastanawiałem jak to zrobić. Doczytałem się że rezystor 1k i powinno działać
Co do książki : to czy przeoczyłem czy nie ma w niej wzmianki o Watchdog-u ? Jest ale tylko bardzo króciutka i teoretyczna wzmianka, na stronie 53. Jest to dość prosty moduł mikrokontrolera - taki jakby timer, który jak wystartuje i doliczy do końca to BUM czyli reset procka. A jak nie chcemy resetu to wciąż musimy w programie resetować ten timer żeby...
Podejrzewam, ze jest jakis bład w algorytmie interpretacji odczytanych ajtów z termometru. Z ciekawosci wlazlem na http://pdfserv.maxim-ic.com/en/ds/DS18B2... i jest tam tabelka przykładowych wskazań dla wybranych temperatur. Nie znając programu niemożliwe jest powiedzenie czegos wiecej. pozdrawiam
Jak chcesz mieć cyfrowy odczyt temperatury, to dwie możliwości: (1) Czujniki LM35 (albo LM135, albo LM134) przetwarzają temperaturę na napięcie, albo prąd; CD4051 (klucz analogowy) przełącza czujniki, przetwornik ADC robi z tego dane cyfrowe. (2) Czujnik DS18B20 od razu daje dane cyfrowe, prosty układ przekaże je do komputera. Mój kolega ma system,...
Jako termometry sprawa prosta - DS18B20 Jako czujniki wilgotności /i lub temperatury - SHT1X/7X - ale bardzo wysoka jest ich cena.
Potrzebuję informacji jaki typ czujników temperatury zastosował producent w sterowniku pieca Argon 2 Cyfrowym czujnikiem temperatury kosza jest półprzewodnikowy termometr z układem DS18B20. Czujnikiem temperatury kotła jest element pomiarowy półprzewodnikowy z serii 1N4 (element pomiarowy typu KTY81-210) Czujnik zasobnika wody CWU, jest czujnikiem...
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...
Kolego mario99228 Masz masę błędów na schemacie. Czy tak trudno przeglądnąć forum z podobnymi schematami i na nich się wzorować? Brak zasilania procka (AVCC, AGND) Brak rezystora podciągającego Reset. Brak rezystora podciągającego linię 1W dla termometrów. Brak potencjometru dla wejścia VO wyświetlacza LCD. Brak masy dla R/W wyświetlacza LCD. To tak...
Teraz mam problem jak z wyniku pomiaru wyrzucić wartości po przecinku. trunc(), round() - Dodano po 2 Możesz również użyć: [syntax=c] // returns temperature in 1/128 degrees C or DEVICE_DISCONNECTED_RAW if the // device's scratch pad cannot be read successfully. // the numeric value of DEVICE_DISCONNECTED_RAW is defined in // DallasTemperature.h. It...
Coś chyba źle robie... Tak , nie myślisz ;) Na 100% , argumentem dla lcd_puts jest wskaźnik na (tablicę)char , a i ostatni argument w dtostrf , to też ten sam typ ;) Piotrek
DS-ów już działa, ale nie wiem jak dodać trzeciego. Przy sprawdzaniu ID 3 czujnika jest ono takie same jak ID 2, tak to próbowałem odczytać: Dsid1(1) = 1wsearchfirst() Do Dsid2(1) = 1wsearchnext() 'nadpisuje ID2 , ID3 Loop Until Err = 1 Do Dsid3(1) = 1wsearchnext() Loop Until Err = 1 Ja zaryzykuję stwierdzenie...
taktowanie procesora: 16MHz atmega32a main.c: [syntax=c] int main(void) {/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */ czujniki_cnt = search_sensors(); /* wysyłamy rozkaz wykonania pomiaru temperatury * do wszystkich czujników na magistrali 1Wire * zakładając, że zasilane są w trybie NORMAL, * gdyby był to tryb Parasite, należałoby...
Ja miałem podobne problemy i okazało się, że to z powodu funkcji czasowej delay_us. Zastąpiłem ją inną i wszystko zaczęło chodzić OK. Zastosuj tą: void delayus(unsigned char t) //parametr t od 0 do 255. { do{asm("nop");}while(--t); } W miejscu gdzie masz zdefiniowaną częstotliwość oscylatora wpisz też: #define F_CPU 8000000ul
Trochę czasu już minęło i nie pamiętam, czy akurat to poprawiłem. Parę zmian wprowadziłem w wersji 1.03 v1.03: - dodana wersja dla procesora ATmega328 - brak wyświetlania temperatury w przypadku braku czujnika DS18B20 - dodany wyświetlany format daty “DT DD.MM” - dodana możliwość wyłączenia synchronizacji GPS - dodany parametr konfiguracyjny “P8”,...
Masz rezystor podciągający? Niektórzy o nim zapominają.
W moich ramkach udało się zrobić to o wiele bardziej dyskretnie: http://obrazki.elektroda.pl/9686671100_1... http://obrazki.elektroda.pl/8869006400_1... http://obrazki.elektroda.pl/9916695300_1... http://obrazki.elektroda.pl/2156467800_1...
Sterownik solarów ale drogo. Ja dałbym arduino nano czujnik ds18b20 i zasilacz na 5v. Kilkadziesiąt wierszy kodu i gotowe za mniej niż 100 pln.
http://obrazki.elektroda.pl/3811482100_1... Chciałbym zaprezentować prosty termometr działający w oparciu o czujnik temperatury DS18B20, moduł Digispark oraz pojedynczy wyświetlacz HP5082-7356. Głównym zadaniem konstrukcji jest umożliwienie monitorowania temperatury w mieszkaniu. W urządzeniu został wykorzystany czujnik DS18B20, który...
Dzień dobry, mam taki problem próbuje podłączyc czujnik DS18B20 do zestawu ZL15AVR, schemat podłączenia czunika klasyczny z datasheet'u producenta, na 4,7kOhma do 1-wire. Uziemienie podlaczone do nozki uzmienienia z zestawu, 1-wire podłączony normalnie do PA0 i nie działa. Nawet jeśli podam mu dodatkowy prąd +5V z wyprowadzenia zestawowego +5V to również...
Piszesz DS1820 a czytasz dokumentację DS18B20, a te czujniki różnią się rozdzielczością. DS1820 ma 0,5 stopnia.
Dzień dobry Mam mały problem ze zmianą kolejności adresów czujników DS18B20. Mam tablicę uint8_t z adresami czujników. Każdy adres zajmuje 8 pozycji tablicy. Napisałem menu ustawień z możliwością zamieniania kolejności. W menu po wejściu w wybrany czujnik mogę przypisać mu adres ze "świeżo" przeskanowanej magistrali. Problem w tym, że o ile po zapisie...
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",...
dobra co zauwazylem kod i atmega nie maja nic do tego, bo po wyjeciu Atmegi z podstawiki jest tak samo. Ostry_18 dobry pomysl masz, chociaz narazie chyba z tym pomyslem poczekam, bo jesli faktycznie te DSy maja zwarcie lub cos to czasem nie moga uszkodzic mi RS??
Co prawda w temacie kolega umieścił wątek o termometrze wykorzystującym jako czujnik LM35, ale może "malutka sugestia": Brałeś pod uwagę scalony cyfrowy czujnik typu np DS18B20 ? Ja np w aucie zbudowałem termometr (na ATMEGA8) przy użyciu dwóch czujników DS18B20 (temperatura silnika i w kabinie) oraz DHT22 (zamiennik to AM2302) w nawiewie, który oprócz...
Podciągnij linię zewnętrznym opornikiem 4k7 do +5V, Ustaw na tej linii stan niski i steruj kierunkiem. Szybko można przerobić jak poniżej: [syntax=c]#define CLR_DQ sbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //0 na wyjscie #define SET_DQ cbi(OW_DDR, OW_NUM);cbi(OW_PORT, OW_NUM); //1 na wyjscie[/syntax]
Udało mi się rozwiązać problem korzystając z tych instrukcji http://playground.arduino.cc/Main/DHTLib Teraz moge odczytywać dane z czujników cyfrowych temperatury oraz czujnika wilgoci. Wieczorem postaram się wkleić gotowy kod. Może się komuś przyda.
Warto ustalić, jakie opóźnienie wnosi jaki czujnik (poczytać noty katalogowe), na ile szybko może rosnąć temperatura... Jeśli sterowanie z użyciem procesora, to jest DS18B20 - czujnik, który daje wynik cyfrowy, to prostsze, niż kombinowanie z Pt100. https://forbot.pl/blog/kurs-arduino-ii-t...
Szukam w eagle następujących elementów: -wyświetlacz 2x16 na sterowniku hd44780 -czujnik temp. ds18b20 -czujnik ciśnienia mpx4115 -microswith na dwie nóżki -potencjomentr montażowy stojący 10k jak na zdjęciu http://www.tme.eu/katalog_pics/8/0/0/800... -stabilizator napięcia 7805 Robię w eagle tak: edit->add->"wpisuje...
Zbytnio mi ta odpowiedź nie pomogła... To chyba niezbyt dokładnie przeczytałeś(zrozumiałeś) dokumentację DS18B20 :cry: Przypatrz się tabelce i zobacz, gdzie znajduje się rejestr konfiguracyjny, w którym zapisane jest, z jaką rozdzielczością ma "pracować" nasz DS. http://obrazki.elektroda.net/29_12275171... Zakładając, że nie znamy wartości...
T1 = Makeint(bd(1) , Bd(2)) T1 = T1*10 : T1= T1/16 Dziesiatki = T1 Mod 10 T1 = T1 / 10 Locate 1 , 1 Lcd T1;".";Dziesiatki ; Chr(0) w takiej kolejnosci i musi działac
odczyt czujników ds18b20 ds18b20 kolejność czujników czujników ds18b20 bascom
drzwi anglik zawór proporcjonalny retardera odkurzacz gwint wirnik
moduł komfort termet proteco mover
Instrukcja obsługi piekarnika Whirlpool - jak znaleźć? Zielona dioda nie świeci - przyczyny i rozwiązania