...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...
Jeśli chodzi o ID to chyba najprościej będzie zrobić funkcje i z głównego programu przekazywać do niej ID czujnika, natomiast funkcja będzie zwracać np bit 1/0 OK/ERROR. Podobnie chyba można zrobić z odczytem temperatury.
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?...
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...
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...
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ę :)
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...
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ąć...
I i $crystal=
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",...
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...
Obsługa 1wire w przerwaniu to porażka do tego jeszcze waitms. W przerwaniu ustawiaj tylko jakąś flage i na jej podstawie czytaj 1wire w pętli głównej. W trakcie odczytu blokuj przerwania - i tak nie są wtedy potrzebne.
Moim zdaniem problem polega na tym: Ds1(1) = 1wsearchfirst() Do Ds2(1) = 1wsearchnext() Loop Until Err = 1 spróbuj umieścić to na początku programu przed główna pętlą Do...Loop, tak żeby wywołane było tylko raz na początku programu, a nie w ciągle wywoływanej procedurze (zakładam że podczas pracy urządzenia nie wymieniasz...
To na początek dolutuj do czujników minimum 100nF na każdy. Możliwie blisko nóżek. Pozdrawiam Mariusz
Czy port F w atmega128 po skonfigurowaniu jako 1WIRE będzie prawidłowo działał chociażby z czujnikami ds18b20??
Może to ci pomoże : [url=http://www.elektroda.pl/rtvforum/to... w timerze, problem albo to : [url=http://www.elektroda.pl/rtvforum/to... w bascom czujnika DS1820 na DS18B20 albo ...... Jakieś 780 innych postów pod tym linkiem : [url=http://poszukaj.elektroda.pl/search...
Proszę bardzo kol. krystoferek w [url=http://www.elektroda.pl/rtvforum/to... Temacie masz obsługę 2 3 i nawet 4 czujników ds18b20 Pozdrawiam!
Witam Kolegów w Nowym Roku. Dziękuję za zainteresowanie tematem. Temat jest nadal aktualny ale rozwiązanie mojego problemu już nastąpiło, znalazłem go sam :D. Okazała się, że Bascom ma pewne ograniczenia i jest to wina Bascoma, że nie pozwala on na użycie tak wiele razy instrukcji odczytu czujnika na 1- Wire. Maksymalnie w Bascom można obsłużyć 44 czujniki...
witam, Kolego, pobierz sobie ten program: http://www.siltegro.com/stg/sucb.zip Ma opcję generowania kodu Bascom AVR i obsługę czujników DS18B20. pozdrawiam Tomek
Err sie pojawi w przypadku niepodłaczenia lub odwrotnego podlaczenia czujnika. Czyli procek niewidzi czujnika.
Witam Chciałbym przy użyciu dwóch przycisków ( nawet jednego, bo pewnie tak się da ) zmieniać czujnik DS18B20, a właściwie wskazania które pokazuje. Mam dwa układy DS18B20 i przy założeniu ( teoretycznym ), że mam mało miejsca na wyświetlanie, więc dobrze by było mieć możliwość zmiany ( na przemian jednym przyciskiem lub dwoma - pierwszy-drugi ). Samo...
Witam Troszkę do poprawy. Sprawdź ile czujników i zapisz do zmiennej Potem wykonuj odczyt tyle razy ile masz zapisanych w czujniku. Wtedy program z automatyzujesz i nie trzeba deklarować wcześniej liczby czujników.
Witam. Zaczolem ostatnio zabawe z czujnikiem temperatury DS18B20 podlaczonym do Atmega8. Wszystko gra ale chcialbym sie dowiedziec w jaki sposob mozna zmienic ustawienie dokladkosci pomiaru bo odczyt temperatury przy ustawieniach fabryczne jest zdziebko przydlugi. Czy takie nowe ustawienie czujnika trzeba zapisywac za kazdym razem jak uruchomie uklad...
Masz podany schemat podłączenia. V1 to np napięcie zasilające lub lepiej Vref, V0 podajesz na wejście przetwornika ADC i mierzysz napięcie. W pdf jest podana formuła wiążąca wszystkie niewiadome.
nie znam sie na bascomie ale to co mowisz o dzialaniu programu wyglada tak jabys tylko raz na poczatku odczytywal temperature wiec moze spróbuj zapetlic program aby robil to w nieskonczonosc
Do sprawdzania obecności DS polecam przeczytać [url=http://www.elektroda.pl/rtvforum/to... i [url=http://www.elektroda.pl/rtvforum/to... a tu jest termometr z reakcją na brak czujników [url=http://www.elektroda.pl/rtvforum/to...
Z DS18B20 robisz tak: Deflcdchar 0 , 32 , 28 , 20 , 28 , 32 , 7 , 4 , 7 Dim I1 As Integer , T1 As String * 6 Dim Dsid1(8) As Byte Dsid1(1) = 1wsearchfirst() 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE I1 = 1wread(2) 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 I1 = I1 * 10 I1 = I1 / 16...
tablica powinna mieć 9 elementów, ewentualnie powinno być : Bd(1) = 1wread(2) skoro nie używasz pozostałych danych odczytanych z czujnika
Tak jak wprowadza się dane do tablicy...
a może po prostu : 1wiresearchfirst, a kolejnym czujniku: 1wiresearchnext.
Problem jest w sprzęcie a nie w programie. W układzie brakuje kondensatorów ceramicznych 100nF na pinach zasilających uC, LCD, czujnika, wejściu ADC. Nie widzę też filtru na AVCC oraz jakiegokolwiek tantala/elektrolita na zasilaniu. Popraw zasilanie a zamiast analogowego czujnika użyj cyfrowego np DS18B20 na 1Wire.
Czy to aby nie standardowy błąd połączenia "bottom view"?
Zobacz tam : http://www.mcselec.com/an_111.htm
Ale komendy CC i 44 wysyłaj tylko raz - zareagują na nie wszystkie czujniki. I tak samo czekaj tylko raz te 750ms.
U mnie jest na przewodzie dwużyłowych ale nie płaskim. Taki najtańszy chyba 15gr/m w podwójnej izolacji drut nie linka. przekrój chyba 2x0,35 lub 2x0.5 juz nie pamiętam. Nie wiem może biblioteka BASCOM-a sama sprawdza CRC po odczycie danych z czujnika.
Przypominanie o swiatlach ? Zadne problem, sprawdzasz stan jednej nogi i jesli jest tam stan niski (swiatla zgaszone) i jednoczescie na kablu od stacyjki jest wysoki (wlaczony zaplon) znaczy sie pokaz na 5 sec np. napisa wlacz swaital. I sprawdasz rozniwz czy napewno silnik jest wlaczony, jesli okaze sie ze stacyjka jest wylaczona wywalasz komunikat...
Z tego swojego kodu usuwasz "Odczyt numerów ID czujników temperatury" A w to miejsce wpisujesz odczytane adresy do tablicy z adresem danego czujnika. np. tak będzie to wyglądało dla pierwszego czujnika: Dsid1(1)=&H28 Dsid1(2)=&H65 Dsid1(3)=&HC3 Dsid1(4)=&H89 Dsid1(5)=&H05 Dsid1(6)=&H00 Dsid1(7)=&H00 Dsid1(8)=&H25
To chyba nie ten dział !!!
Witam! 1. czas na konwersję 750 ms, jest to maksymalny czas potrzebny tylko wtedy, gdy mamy czujnik podłączony tylko dwoma przewodami, a wiec przy zasilaniu "parazytowym" i przy maksymalnej rozdzielczości pomiaru. 2. w przypadku kiedy czujnik jest podłączony trzema przewodami, ten czas może być skrócony do około 20 ms. 3. ten czas nie oznacza, że trzeba...
Dziękuję za zaangażowanie i pomoc -.- Dla zainteresowanych: źle zasiliłem czujniki. Program jest w 100% sprawny...
Wysyłając polecenie Read Counter (0xA0), tak jak piszą powyżej. Swoją drogą to zamiast kombinować, nie prościej byłoby zastosować czujnik z odpowiednią rozdizelczościa? DS18B20?
Witam Obsługuję czujnik DS18B20 w Bascomie. Czy czas pomiędzy kolejnymi poleceniami, tj. 1wreset , potem 1wwrite &H55 , potem 1wwrite &HCC ... itd. może być dowolnie długi, przykładowo -np 6 minut; 5 godzin; 10godzin czy też 10dni .... ? Oczywiście wysyła 1 polecenie, czeka, wysyła drugie itd. do końca... Czy są ograniczenia? NIE! Te czasy (timingi)...
Witam , miałem niegdyś podobny problem , tyle że działam w Bascomie , lekarstwem było przestawienie procka w fusebitach na częstotliwość 8 MHz.
I popraw ten 33h :>
Dodaj sprawdzanie CRC danych z czujnika.
najlepiej po uprzednim zabezpieczeniu czujników umieścić je w słoiku z wodą. Pozdrawiam
Problem jest taki że czasami po jakimś czasie wartości temperatur odczytywanych z czujników DS18B20 mają losowe wartości. Bo nie sprawdzasz CRC.
Witam wysyłasz w postaci HEX z kolei odbierasz komenda inputhex i zapisujesz do zmiennej tablicowej np: Dim Dsid1(8) As Byte .
oooooo to chodzi ;) to taki szkielet - ale na podstawie tego sam wiesz już jak sobie poradzić z tym tyle że bez Wait'a dodam jeszcze, że sam fragment: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 warto zapuścić jeszcze przed wejściem wtedy w pętlę główną żeby już mieć gotową pierwszą zmierzoną temperaturę w czujnikach po resecie - gdyby przypadkiem...
Witam. Mam procedurę odczytu trzech czujników temperatury: [syntax=vbnet] Sub Odczyt_ds18b20 Reset Watchdog Disable Interrupts 1wreset Select Case Ktory_ds Case 0: 1wwrite &HCC 1wwrite &H44 Case 1: 1wwrite &H55 1wwrite Ds1(1) , 8 'adres pierwszego czujnika 1wwrite &HBE Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2) : Shift T , Left...
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()
A podaj dokładny symbol twojego czujnika. Może masz wersję DS18S20?
No coś w tym stylu... w PIC zrobiłbym tak... Mając zewnętrzny pull-up, zmieniłbym kierunek portu na wyjście i stan na 0 (ustawienie 0V na pinie), po właśnie ok 0,5ms zmieniłbym kierunek portu na wejście, przez co z powodu zewnętrznego pull-upu pojawiłbym się tam stan wysoki, po >60ms (np. 62ms) sprawdziłbym stan na pinie:D
Błędy się mogą zdarzyć zawsze, ale lepiej jak jest ich jak najmniej więc możesz spróbować dodać kondensator 100nF - 1uF przy samym czujniku jeśli pracuje w trybie na trzech przewodach. Potem zmieniłbym procedure odczytu danych z czujnika na taka która sprawdza CRC i ósmy bajt na obecność wartości &H10. Kiedy sprawdzanie przebiegnie pomyślnie to bierzesz...
Twoja koncepcja może być trudna w realizacji. Czy ten program który napisałeś w bascomie obsługiwał 7 niezależnych czujników 1-W na 7 niezależnych pinach µkontrolera? Czy teraz taką koncepcję sobie wymyśliłeś? Jest na pewno układ który umożliwiłby Ci taką realizację, dodatkowo odciążając µikrokontroler od żonglowania serialami czujników i...
Witam a z czym masz konkretnie problem bo pewnie da sie rozwiazac (tymbardziej, ze bascom) ?? pozdrawiam l
Witam, przecież pin 22 to zasilanie dla przetwornika A/D, którego ja nie używam. Owszem reset "wisi" w powietrzu. Wszystko jest podłączone tak jak na rysunku powyżej, z tym że ja nie mam podpiętych czujników Ds18b20, gdyż ich nie używam. Pozdrawiam
Witam, Piszę program na ATmega128 pod Bascom AVR. Od kilku godzin szukam rozwiązania, jak zrrealizować odczyt czujnika temp. DS18b20 korzystając z przerwań. Czy takie rozwiązanie jest możliwe??
Witam wszystkich forumowiczów... Posiadam płytę ewaluacyjną AVT5311 na której znajduje się czujnik temperatury lm50 oraz układ mcp3021. Korzystając z wcześniejszych porad dotyczących odczytu temperatury z czujnika DS18B20 napisałem kod w bascomie. Oczywiście mam świadomość, że będzie on inny w moim przypadku. Natomiast nie mogę poradzić sobie w odczycie...
Ja jakiś rok temu zrobiłem urządzenie do pieca, tylko że nie steruje wiatrakiem, a pompką wodną. To nie ma znaczenia bo za pompkę można podpiąć wiatrak. Użyłem µC 89AT8252, przekaźnikiem włanczam pompkę, jako czujnik temperatury użyłem DS18B20 - dokładność co 0,1stopnia , a program napisałem w Bascomie. Za pomocą trzech przycisków moge zmieniać...
http://obrazki.elektroda.pl/9677436100_1... Witam ! Po pierwsze chciałbym się przywitać ponieważ mało dotąd bywałem na forum. Chciałbym przedstawić wam moją konstrukcję którą jest termometr.Natchnieniem do zrobienia go była chęć nauki obsługi magistrali 1-wire oraz poznania nowych funkcji bascoma. Jest on oparty na procesorze 89C2051...
... 1wreset 1wwrite &HCC ' skip ROM 1wwrite &H4E ' writescrstchpad 1wwrite ' tutaj po kolei 3 bajty jest prawidłowa? Brakuje jeszcze jednego polecenia , czyli Copy Scratchpad (&H48) .Zajrzyj do pdf-a DS-a , by dowiedzieć sie czemu ono służy , oraz jakie wymagania czasowe stawia , w zależności od rodzaju zasilania czujnika. Piotrek
Lcd "Szerokiej Drogi!" ; To co mi się rzuciło w oczy to, że nie ma być średnia na końcu linii :D PS. A nie lepiej samemu skompilować program i zobaczyć czy działa?
Witam, zauważyłem te post i choć jest bardzo stary, liczę że ktoś odpowie, mianowicie, czy pomiar temperatury z kodu powyżej dotyczy czujników ds18b20 podłączonych w trybie parasite, czy nie?? Pozdrawiam.
Panowie zamiast brać oscyloskop w rękę żeby sprawdzić czy czujniki na pewno działają - to weźcie sobie na chwilę Bascoma - napiszcie 2-3 linijki kodu i od razu sprawdzicie, że wam DS'y działają. Bascom ma gotowe i dobre procedury - więc sprawdzenie za jego pomocą czujników to pikuś nawet dla kogoś kto nigdy dotąd nie używał Bascoma. Jednak dla ludzi,...
Siemka! Wszystko super, tylko przełączać czujniki pomiędzy pinami można jak się ma tych pinów w nadmiarze... :P Ja mam tylko jeden do dyspozycji 1-Wire i koniec. Obsługa (w BASCOM AVR) 2 czujników DS18B20 i 2 kluczy DS2405 zajęła mi ponad 80% pamięci programu ATmega8 a muszę obsłużyć jeszcze RTS poprzez I²C, klawiaturę i dołożyć kilka innych funkcji...
Czy mówiąc, że dobrze podłączyłeś czujnik, masz na myśli, że dodałeś rezystor podciągający?
Witam ponownie Wyświetlanie już działa dobrze przetestowane na powyższym programiku, zawsze wyświetla 012345 w trybie konfiguracji 16*1 lub 16*1a Natomiast problem stanowi program do wyświetlania temp. Jest to program przepisany z książki p. Wiązany ale niestety wyświetla bzdurne wartości, wydaje mi się że problem tkwi w przeliczaniu samej wartości....
Witam. Stosuję czujnik DS18B20 i DS1820 do odczytu temperatury pewnych obiektów. Odpowiednia ich temperatura uruchamia proces, który jest dalej kontynuowany bez względu na wskazania z czujników - wyłączyć go może zewnętrzny sygnał, wygenerowany w odpowiednich okolicznościach. Czujniki są oddalone od urządzenia o 10 - 15 metrów. Chcąc się zabezpieczyć...
Witam, czy możliwe jest podłączenie sześciu do dziesięciu (lub więcej) ds18b20 do jednego portu mikrokontrolera ? Czy ktoś się spotkał z takim problemem ? Nie chcę tego robić w Bascomie, wolałbym C.
Hej! Sprawdź czy na pewno jest to czujnik DS1820 a nie DS18B20. Różnica jest całkiem spora. Jeżeli masz ten drugi i piszesz w BASCOM-AVR to mogę podrzucić ci gotowca. Pozdrawiam
A może masz czujnik DS18B20, upewnij się że jest to DS1820. Ale dziwne, najpierw termometr działał poprawnie a później przestał. Zastanawia mnie jeszcze to że (jak piszesz) czujnik reaguje na zmiany temperatury bo zmienia się zmienna T1, a nie da się odczytać temperatury. Ciekawe w czym jest problem.
Zamów sobie dallsa jako sample bedziesz miał pewnosc ze sa dobre. Ja uruchomiłem ds18b20 i poszedł bez najmniejszych problemów.
Jesli chodzi o hardware to wszystko połączone dobrze. tak linia I/O podciągnieta przez rezystor 4,7k. dodam tylko ze jak wgrałem prosty program który tylko pokazywal jedna temp z jednego czujnika to wszystko był w porządku.
Wszytko co napisałeś da się zrobić, ale nie wiem czy znajdziesz takiego gotowca.. Oczywiście do pracy trzeba będzie użyć jakiś mikrokontroler, więc przydała by się znajomosc jakiegoś języka programowania, bo bez tego ani rusz - to o czym pisałeś da się zrobić w jednym z najprostszych języków programowanie - Bascomie.. Co do czujnika wilgotności proponuję...
Witam. Nie da się przy pomocy tego układu zmierzyć temperatury z taką dokładnością. Czytałeś note katalogową? dokładność pomiaru dla tego czujnika wynosi ±0.5 stopnia. Grzesiek.
Kolego..dlatego OW bo są urządzenia które odczytują tylko termometry dallasa 18b20, a ja chcę podłączyć np: miernik napięcia i wysyłać sygnał przez 1-wire, tak aby urządzenie myślało że ma czujnik ds18b20..
Nie trzeba nawet czytać strony jedenastej żeby się domyślić co jest grane :D Strona dziesiąta: BH1750FVI is not able to accept plural command without stop condition. Please insert SP every 1 Opecode. To oznacza że nie ma tam typowego zwiększania adresu przy wydawaniu komend. Dlatego trzeba to zrobić tak i jest to wyraźnie napisane, że zmiana dwóch bajtów...
Witam, Posiadam płytkę testową wraz z programem (Atmega8) regulacji temperatury kolektora słonecznego, problem w tym iż program obsługuje czujniki DS18B20 a w kolektorze są czujniki LM35. Moje pytanie brzmi: Jak w najprostszy sposób w programie Bascom zamienić te czujniki tak żeby reszta pracowała bez zmian. Bardzo proszę o wyjaśnienia i pomoc:) Pozdro....
Witam. Koledzy mam pytanie dotyczące tego czujnika. Dlaczego w bascomie z powodzeniem i bez błędów działa odczyt temperatury z tego czujnika bez oczekiwania na czas konwersji temperatury? Od jakiegoś czasu stosuje taki właśnie sposób odczytu ds-ów i teraz przy budowie sterownika c.o. zacząłem się temu przyglądać, czytać i wychodzi że czas konwersji...
Może trzeba zmienić sposób wywoływania odczytu czujników ? Te błędne wartości nie są przypadkowe - np. wskazania pierwszego to wartość z drugiego i na odwrót
Jaca Dziękuje pięknie teraz wszystko działa jak należy. Zaraz wystawie czujnik za okno i zobaczę co się stanie przy ujemnych temperaturach. Pozdrawiam
Jarosław J --> po pierwsze postaraj się jak najszybciej robić odpowiednie wcięcia w kodzie to będzie łatwiej nie tylko nam tutaj na forum analizować twój kod - ale tobie samemu będzie łatwiej a to jest nawet ważniejsze ;) po drugie masz tam gdzieś w tej swojej pętli głównej coś takiego: Convallt ' "Convert ALL T on the 1w-bus" Waitms 1 czyli...
Witam. Mam problem z termometrem. Wiem usłyszę iż jest już dużo na forum. Lesz mój problem jest nietypowy. Mam podłączony czujnik temperatury DS18B20. Podobny program (BASCOM) mam wgrany w attiny2313 i działa wyśmienicie. Zmieniając parę rzeczy w programie wgrywam do atmegi. I tu moje zdziwienie nie działa wyświetlanie temperatury. Zastanawiałem się...
czujnik temperatury to sławetny DS18B20 W jaki sposób umieściłeś czujnik na piecu/w piecu? Czy znalazłeś miejsce, gdzie pomiar jest najbardziej adekwatny? m.
Jak najszybciej scalić LSB i MSB w nadajniku ? Potrzebuję oprócz LSB i MSB (typu Byte ) w nadajniku - temperatury jako zmienną typu Integer do obliczeń histerezy. Mam coś takiego: [syntax=basic4gl] 1wreset 1wwrite &H55 1wverify Dsid4(1) Ds4_brak = Err 1wwrite &HBE Lsb4 = 1wread() Msb4 = 1wread() Ds_i4 = 1wread(2) D25 = Lsb4 D26 = Msb4 D23 = Ds4_brak...
Witajcie, czy ktoś z was mógłby napisać mi program w bascomie który działał by na zasadzie jeżeli na ds18b20 jest np. temperatura większa niż 15 stopni to na którymś wyjściu zaświeci się dioda. Próbowałem ogarniać z różnych przykładowych programów które znalazłem lecz wszystkie są strasznie skomplikowane z obsluga LCD i kilku czujników. Mi chodzi o...
Mam tylko jeden czujnik na magistrali Ale gdy pozbywam się 1wverify Dsid1(1) to układ nie wyświetla temp.
Witam, Piszę program w DELPHI obsługujący pomiar dwóch czujników DS18B20. Mikro kontroler to ATMEGA32, program w BASCOM. Wszystko ogólnie już działa: wysyłam po UART ciąg znaków jako string i odbieram wybrane przeze mnie znaki o danej ilości funkcją Copy w DELPHI. Korzystam z biblioteki TComPort. Jedyny problem to z Label'i zrobił mi się generator:...
Przy tak prostych zadaniach i nie obsługiwania krytycznych obwodów, jeden procesor AtMega128 spokojnie Ci wystarczy, nawet DSy nie wymagają równoległego odczytu. Pomyśl o wielowątkowości i zegarze 16MHz, spokojnie ze wszystkim się wygrzebiesz, a nawet śmiem przypuszczać że zostanie Ci wolny czas. Jedyne czego bym sie obawiał to to czy Ci bascom nie...
http://www.elektroda.pl/rtvforum/topic16... przeanalizuj dodatek. Jest tam opis zegara RTC wraz z termometrem na DC1820. Wraz z procedurami w BASCOM Miłej lektury
A tak pozatym to 1wread(2) może odczytywać bezpośrednio do zmiennej Integer. Nie trzeba wtedy będzie tych kombinacji z Shiftem i dodawaniem. Też to zawsze trochę szybciej biorąc pod uwagę że BASCOM niczego nie optymalizuje w kodzie (kompilator C by to zoptymalizował).
Do połączenia nawet wystarczą przewody 0,5mm2 Ale długość przewodów zależy od kilku czynników. Przede wszystkim od zakłóceń oraz pojemności pomiędzy żyłami przewodu. Może to być odległość kilku metrów, a może też być i kilkaset metrów. Czy kupić same czujniki czy też gotowce z gilzą i przewodem? Czujnik kosztuje raptem kilka zł za sztukę. Czujnik z...
Witam Co do przeliczania wartości na temperaturę nie będę się wypowiadał bo w wielu publikacjach było to prezentowane. Natomiast zajmę stanowisko w sprawie wyświetlacza LED. Proponowałbym z obsługi przerwania usunąć procedurę pobrania znaku do wyświetlenia. O wiele lepiej zrobić to w programie głównym. Zbyt długie przebywanie w obsłudze przerwania może...
Poprawiłem troszeczkę kod dołożyłem przerwania teraz już wyświetlacz Led jasno świeci tylko że co ok 1s przeskakuje na jakieś inne znaki i powraca do odczytanej temperatury oraz wydaje mi się że teraz jest wolniejsza reakcja czujnika za zmianę temperatury??
Witam. Dzięki za podpowiedź, ja popełnilem wtedy błąd nie zwracając uwagi na czujnik DS 'a. Ja miałem DS18B20 a w programie jest DS1820. Inaczej się przelicza temperaturę.
Tak się objawiają uszkodzone czujniki. Sprawdź go jeszcze raz w bascomie. Pozatym masz jakieś dziwne te delay'e czemu używasz funkcji owire_delay przecież masz _delay_ms? Trochę wróżąc z kodu wnioskuje że funkcja delay odmierza 0,25us * przekazany argument. Piszesz w komenarzach że niby ta pętla for + funkcja poniżej jej trwa 470ms. Jak nie przestawiałeś...
To zrób to na dwóch pinach. Będzie łatwiej i w razie uszkodzenia czujnika wpinasz nowy i wszystko działa. Wystarczy tylko powielić odczyt i problem z głowy.
Witam serdecznie. Ja robiłem to w ten sposób, że pisałem (w Bascomie dla '51) prostą aplikację która zczytywała mi sygnaturę czujnika a potem odwoływałem się do odpowiedniego czujnika. Pozdrawiam Krzych
Zobacz to: http://www.elektroda.pl/rtvforum/topic18... Jest tam kod który sprawdza czujniki po włączeniu urządzenia. Można go przerobić by sprawdzał co jakiś czas :D
ds18b20 czujników odczyt czujników ds18b20 ds18b20 kolejność czujników
firefox android odkurzacz uszczelki przegrywanie kaset
Kod błędu TC - co oznacza w urządzeniach? Samsung UE55B7000 - Jakie Chassis?