(at)max4elektroda Czy mógłbyś rozwinąć nieco temat korzystania z tego sterownika? Bawiłem się nim dzisiaj i uzyskałem pewne wyniki, które są mieszane i niespójne. Należy zauważyć, że używam czujnika DS18 B 20, który moim zdaniem powinien być obsługiwany i najnowszej kompilacji 1.17.666. Error:CFG:DS1820 - Pin=8 -- Reset failed Error:CFG:DS1820...
return ((scratchpad[1] << 4) | (scratchpad[0] >> 4));//obliczanie dla DS18B20 return ((scratchpad[0]>>1... // obliczanie dla DS1820 (nie B!!) Ja tak zmieniam temperaturę - oczywiście scratchpad to tablica 9 bajtów odczytanych z czujnika.
Chyba załapałem: startDriver DS1820 5; waitFor WiFiState 4;waitFor MQTTState 1; addRepeatingEvent 10 -1 publishFloat DS1820Temp $CH5 . Czujnik działa, widzę jego wartości w logu. Ale nie jestem w stanie upewnić się, że jest publikowany przez MQTT. Cóż, mogę, jeśli uruchomię polecenie ręcznie, ale nie działa po ponownym uruchomieniu. Co robię źle? Dziwne...
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...
Czy dobrze zrozumiałem: Nawet ze zmienionym kodem w "1394_merge_9665a7da33cb" nie są wyświetlane temperatury dla SensyLink? Zgadza się. żadne temperatury nie są odczytywane z Sensylink z tym PR. Oto dziennik poziomu ALL od początku sterownika https://obrazki.elektroda.pl/8888970100_... Dodano po 2 powersave 0 dla tego wszystkiego,...
//return ((scratchpad[1] << 4) | (scratchpad[0] >> 4));//obliczanie dla DS18B20 return ((scratchpad[0]>>1... // obliczanie dla DS1820 (nie B!!) Tu masz fragment mojego kodu - może masz coś nie tak z konwersją temperatury już w uP? Ja miałem podobne...
To co mam pozmieniać '#######################################... Sub Inicjuj_pomiar 1wreset 'Reset magistrali 1wwrite &HCC 'Polecenie: Skip ROM 1wwrite &H44 'Polecenie: Convert T End Sub '#######################################... Sub Odczytaj_pomiar 1wreset...
Witam, Kolego swibno, jeżeli doszedłeś do wysyłania komendy konwersji 0x44, to następnie musisz odczekać, zgodnie z datasheetem do DS1820, 500 ms i przystąpić do odczytania scratchpada. Odbywa się to poprzez wysłanie do czujnika wartości 0xBE - po jej wysłaniu czujnik powinien odesłać zawartość swoich rejestrów. Widzę, że wykorzystujesz oscyloskop,...
Jeśli "Family not discovered", to DS18B20 jest wykrywany, ale jedna ze zmian w sterowniku przestała działać dla niektórych fałszywych czujników, nawet jeśli działały wcześniej. Testuję z pojedynczą partią DS18B20 z Aliexpress i nie działa tylko na NiceMCU, ale spróbuję ponownie. Za chwilę dodam zrzuty ekranu. Dodano po 13 . 1538_merge_331bfab0a8a5...
aby potwierdzić, sterownik FULL i SIMPLE wymagają przetestowania na każdej (wszystkich?) platformach z pojedynczym ( edit: oczywiście wielokrotność jest pożądana) DS18B20, binaria z tego PR https://github.com/openshwprojects/OpenB... ? Dodano po 1 zaczął próbować rzeczy. 1705_merge_8cb2556b9604_4M ESP32 zarówno pełne, jak i proste powodują...
Swoj program mam w asemblerze, basica nie znam. Masz tu fragment, zorientujesz się jak to zrobić. zapisz: acall aktyw_ds1820 ;aktywacja ds1820 mov a,#0CCh ;SKIP ROM - dostep do czujnika,bez identyfikatora acall ds18_wr mov a,#04Eh ;WRITE SCRATCHPAD - zapis do scratchpada acall ds18_wr mov a,nastaw_temp acall ds18_wr mov a,nastaw_hist acall ds18_wr...
Procedury działają robrze z DS1820, natomiast nie za bardzo chcą działać z DS18B20. Wydaje mi się, że dlatego, że DS1820 jest ustawiony standardowo w tryb 9-bitowy, a DS18B20 w tryb 12-bitowy. Stosując DS18B20 wysyłam rozkaz WRITE SCRATCHPAD [4Eh] a potem 00011111b, jednak to nie daje poprawnego odczytu. Czy ktoś stosował DS18B20 w tym układzie ?
Chłopie :!: Miotasz się jak mucha na lepie, a do dokumentacji DS1820 nie chce Ci się zajrzeć :( Powiedz mi , skąd DS ma wiedzieć że chcesz odczytać dane o zmierzonej temperaturze , skoro NIGDZIE w kodzie nie wysyłasz do DS-a polecenia/rozkazu READ SCRATCHPAD :?: Poza tym , Twój kod jest strasznie .... "pogmatwany" ;) instrukcja1w(0xCC); //zaadresowanie...
Sprawdzasz sumę kontrolną CRC po odczytaniu SCRATCHPAD-a? Takie błędy wyglądają na przekłamania podczas odczytu. I jeszcze jedna sprawa - podłączasz czujnik linią 2 czy 3-przewodową? Jeśli 2-przewodową to na czas konwersji trzeba zastosować dodatkowe mocne podciąganie linii danych do +5V przez dodatkowy tranzystor, sam opornik nie wystarczy. Być może...
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...
mm nie widzę deklaracji DDR - kierunków działania portów. Domyślnie są one ustawiane jako wejścia, a ustawianie ich za pomocą PORTB = 1 i PORTB = 0 to włączanie i wyłączanie Pullupa (który już de facto masz na magistrali). Poza tym nie wiem jak chciałbyś w ten sposób zapisać 0 :) Niżej masz wycinki mojego programu: (ATMEGA8) #define OW_IN DDRB &=...
Witam, otóż posiadam czujnik dallasa ds1820 nie ds18b20 i mam taki problem ponieważ nie mogę znaleźć żadnego kodu by odczytać temperaturę, próbuję korzystać od ds18b20 ale wynik mam równy 4. Oto kod: main.c [syntax=c] if(ds18b20_ConvertT()) { /* 750ms - czas konwersji */ _delay_ms(750); /* Odczyt z układu ds18b20, dane zapisywane są w tablicy ds18b20_pad....
Taaaa zeby to bylo takie proste jak przy na ds1820 i tym podobnych to bylo by fajnie. Ale ten ma dosc dziwne utrudnienia. Jest to czujnik temperatury i wilgotnosci, a przedewszystkim loger czyli ma RTC, baterie i pamiec gdzie zapisuje wyniki pomiarow. Dodatkowo moze byc zabezpieczony 2 haslami (odczyt / zapis). Problem w tym ze musze najpierw uruchomic...
Mam problem, podłączyłem dwa czujniki i nie mogę odczytać temperatury. Czy schemat odczytu wygląda tak: 1) Reset 2) write H55 - aby powiedzieć kto ma słuchać poleceń 3) Podaje adres czujnika 4) write HBE dla odczytu scratchpad 5) Odczyt scratchpad do zmienych 6) Reset Mam jeszcze pytanie, co tak właściwie robi 1wverify, co on weryfikuje? Czy połączenie...
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...
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-->...
Znów Was naciągnę na gadanie o dallas’ie Z aplikacji wynika że w zasadzie ważne są tylko dwa pierwsze bajty odebrane z dallasa. Jeden z nich to info o znaku temperatury, a drugi to jej wartość pomnożona przez 2. To wystarczy do wyświetlenia temperaturki, jednak trzeba ją podzielić przez 2, tylko... jak takie "skomplikowane" obliczenie z dokładnością...
Witam, mam problem z przerobieniem biblioteki do obsługi DS1820, tak ,aby można było odczytywać temperature z kilku czujników umieszonych na osobnych pinach. Biblioteki pobrane są ze strony http://kursc.dioda.com.pl/. W podanym niżej pliku port PC0 do którego przypięty jest czujnik jest przypisany na sztywno. Chciałem zrobić tak: #define SET_ONEWIRE_PORT...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
To może spróbuj cos takiego: ... Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 Dim T1 As Integer , K As Byte , L As Byte Dim Status As Eram Byte At 1 Dim Eid(16) As Eram Byte At 2 Main: Cls Do L = 0 '-------------------- For K = 1 To 9 Step 8 Home 1wverify Eid(k) 'sprawdź , czy układ o podanym ID ,podłączony jest do magistrali...
Czesc, Mam problem z urochomieniem mego DS1820 Oto moj Cod: #include <16f870.h> #use delay(clock=4000000) #fuses XT,NOWDT,NOLVP #define SKIP_ROM 0xCC #define CONVERT_T 0x44 #define READ_SCRATCHPAD 0xBE #define DQ PIN_C4 //#define Tx_DS1820 PIN_C5 #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_... ////////////////////////////////////////...
Siemka! Tak patrzę w ten Twój kod i pewnych rzeczy nie kumam, ale spróbujmy go przeanalizować. - Resetujesz 1-Wire i wykonujesz polecenie konwersji po czym czekasz 750ms i super :) tylko zastanawiam się po co odczekujesz kolejne 750ms po poleceniu odczytu scratchpad? To jest niepotrzebne, możesz odczytywać dane od razu. Poza tym rozbijanie Waitms 750...
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...
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>...
Problem rozwiązany: buf[0] = OW_ROM_SKIP; buf[1] = T_START_CONVERSION; OW_TransmitData(buf, 16); buf[0] = OW_ROM_SKIP; buf[1] = READ_SCRATCHPAD; OW_TransmitData(buf, 16); Temat zamykam.
$regfile = "m8def.DAT" $crystal = 1000000 '$lib "mcsbyte.lib" Declare Sub Init Declare Sub Convallt ' Convert T on ALL sensors Declare Function Decigrades(byval Sc(9) As Byte) As Integer Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.6 , Rs = Portd.4...
Pozwolę sobie podpiąć się pod temat. Zleży mi na zwiększeniu czybkości odczytu z Dallasa więc zmieniłem warość konfiguracyja w DS18B20 na odczyt 9bitowy. Po odczycie wartość scratchpad wynosi 31, czyli jest ustawione dobrze (9bitów). Teraz nie wiem jak to poprawnie odczytać? Napsiałem 2 procedurki odczytujące i wyświetlające wynik na wyśletlaczu. Pierwsza...
Podaję przykładowy algorytm sprawdzania CRC po odczycie z DS1820. Kod zapisany jest w C ale myślę, że nie powinno być problemu z konwersją na bascoma. // kody rozkazów dla DS1820 #define SKIP_ROM 0xCC #define READ_SCRATCHPAD 0xBE unsigned char ds_bufor[9]; // bufor odczytu danych z układu DS1820 // tablica pomocnicza do sprawdzania sumy kontrolnej...
Witam. Jestem nowy na forum i nie mam zbyt duzego doświadczenia w programowaniu mikrokontrorów wiec z gory przepraszam za błedy. Otóż mam do napisania projekt w którym mam DS18B20i za nic w swiecie nie moge dokonać odczytu z czujnika. Analizowałem datasheeta dosc dlugo i nie widze błedu.Przegladałem również tematy na forum, próbowałem różnych rzeczy...
Zrób tak poniżej, u mnie działało poprawnie. Podaję oczywiście tylko istotne fragmenty kodu: // tablica pomocnicza do sprawdzania sumy kontrolnej CRC danych z układu DS1820 code unsigned char ds_crc_tab[] = { 0, 94,188,226, 97, 63,221,131,194,156,126, 32,163,253, 31, 65, 157,195, 33,127,252,162, 64, 30, 95, 1,227,189, 62, 96,130,220, 35,125,159,193,...
Ok poradziłem sobie tylko teraz wyskoczył mi inny problem , a mianowicie nie wiem dlaczego nie mogę korzystać z funkcji LINI i Boxfill wyświetlacz szaleje :-) a chciałbym wykorzystać te dwie funkcje w programie poniżej kod programu [syntax=basic4gl] '***************************************... '* Code to test DS18x20 '* The 1-wire bus pin is Port...
Witam, mam następujący problem z poniższym programem. Prosiłbym bardziej obeznanych kolegów o sprawdzenie, układ powinien działać tak: ustawiam temperaturę plus regulacja histerezy, gdy temperatura jest niższa układ załącza przekaźnik do czasu wyrównania temperatury, problem polega na tym że program załącza przekaźnik (grzanie) tylko na moment po czym...
Witam, mam program (attiny2313) do obsługi termometru DS18b20 i wyświetlacza, układ posiada 3 przyciski +/M/-. Program reaguje na zwieranie przycisków do masy, a chciałbym zrobić tak by procesor reagował na przerywanie masy. Znajdzie się ktoś kto mógłby rzucić okiem na program i podpowiedzieć co trzeba zmienić?? [syntax=vbnet] $regfile = "Attiny2313.dat"...
* Program demonstrujacy dzialanie termometru DS1820; This program measure a temperature from DS1820 and shows it at LCD. Piny/Pins: PD1 - RS PD2 - E PD3 - D4 PD4 - D5 PD5 - D6 PD6 - D7 */ #include <avr/io.h> #include <stdlib.h> #include <util/delay.h> #define _AVR_DELAY_H_ 1 #define F_CPU 10000000UL #define DDR_DB4 DDRD #define...
https://obrazki.elektroda.pl/3805560900_... Połączenie starych i nowych technologii w jednym urządzeniu zawsze jest ciekawym pomysłem. Autor tego termometru postanowił wykorzystać lampy nixie do wyświetlania temperatury, mierzonej z pomocą cyfrowego sensora. Nad całym układem czuwa moduł Arduino, co znacznie uprościło konstrukcję,...
Mam problem z odczytem temperatury z czujnika. Wlasciwie to nie bardzo wiem jak to zrealizowac, teoretycznie rozumiem co ma byc zrobione ale nie wiem jak. Srodowisko MPlab kompilator hi-tech, zadne inne nie wchodzi w gre. czujnik + przekaznik mam na jednej linii podlaczony do portu C czujnik do RC7, przekaznik do RC5 mam taki oto skrypt do ubslugi void...
Witam wszystkich Odczytać id jest proste ale nie umie sobie poradzić sobie z innymi żeczami. mam takie pytanko jak odczytać , wpisać ,przestawić, uruchomić z DS np. ? Clock/Counters Real-Time Clock Interval Timer Cycle counter clock alarm interval alarm cycle alarm oscilator enable delay select real ram after expiation Interesuje mnie jak się do tego...
ds18b20 scratchpad podłączenie ds1820 ds1820 schemat
zasilacz toshiba tecra domofon dodatkowy unifon switch power
gramofon ziphona hamulec volkswagen
Testowanie triaka BTA10 z optotriakiem MOC3020 Czy bramka logiczna NAND może być zasilana 14V?