Mozliwe. Dodales rezystor? Jeszcze masz taka zmienna err w bascomie, poczytaj troche o niej.
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Opis magistrali 1Wire masz w helpie. Poniżej kod na obsługę dallasa DS18B20. Config 1wire = P1.0 'konfiguracja magistrali 1wire Config Lcd = 16 * 1a 'konfiguracja wyswietlacza Deflcdchar 1 , 4 , 10 , 4 , 32 , 32 , 32 , 32 , 32 'znak stopnia Dim T1 As Single Dim T2 As Single Dim B1 As Byte , B2 As Byte , R As Byte Dim Tmp As String * 6 Dim Znak As String...
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ąć...
Mam problem jestem początkujący napisałem program który ma za zadanie regulować włączanie wiatraka i czas z jakim ma dmuchać , jednocześnie mierzy temperaturę i nie działa tak jak powinno : Temperatura pokazuję co jakiś czas błędny pomiar np 124 , 32 , 98 procek się resetuje chińskie znaki raz na jakiś czas w programie można było ręcznie zmieniać czas...
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...
Witam Kolego Unreal89. Pracuję pod Bascomem 8051 i nie spotkałem się z funkcją, o której wspominasz. Przejrzałem pliki help'a i tam również nic nie znalazłem. Zainteresowany jestem z jakiego powodu odpada komenda "fusing"? Dla czego pytam? Pozwolę sobie obszerniej skomentować zaprezentowany listing. 1. Termometr DS18B20 przechowuje informacje o temperaturze...
Nie chce mi się zagłębiać dalej w pisanie. Tych trybów możesz sobie dopisać ile chcesz. I jak Przewijajac menu naciśniesz Set to zmień tryb na, na przykład, "Ustawiam_temp" i w tym trybie znów przyciski Plus i Minus bedą działać dla zmiennej ustawianej. Potem naciskasz ESC i wracasz do trybu jakiego chcesz.. to proste i pewne. [syntax=basic4gl]$regfile...
czytałem wolniej i efekt ten sam:(
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Udało mi się coś zrobić i nawet działa, ale: -jak uruchamiam układ powinno pisać w dolnej linii Ustaw godzine , a jest jak na fotce niżej, -ustawianie godziny - jak trzymam przycisk w pilocie cały czas wysyła sygnał, a układ odbiera kod raz na 3 sek - wcześniej było 250ms (tak jak jest zdefiniowane w programie). http://obrazki.elektroda.net/19_12181272...
Witam Wiem że takich tematów jest sporo ale mój problem jest trochę inny. Mam problem z DS18B20 nie wiem jak odczytać z niego dane. Umiem odczytać temperaturę z DS1820 ale z wersji B nie umiem. W wersji DS1820 jest tablica dwóch zmiennych typu byte i w tej drugiej zmiennej jak jest ujemna temperatura jest 255, a wersja DS18B20 drugą zmienną(tak jak...
Ups zapomniałem dodać, że chodzi tu o BASCOM AVR
Pomysł malona jest chytry- i nie wiem jak go zdemolować. To że pierwszy odczyt powinien być błędny- rozumiem. Nie wiem jak to otrzymać-u mnie jest dobry od początku. Sterownik pieca reagujący po 750ms? To jest piec- a nie procesor. Ostatecznie robiłem to w przerwaniu- da się- w pierwszym poście- proszę o sposób na zdemolowanie programu. Dodano po 18...
Niekoniecznie, możesz po resecie DS-a zmienić wyświetlanie na następną cyfrę i dopiero robić odczyt temperatury (można podzielić jeszcze drobniej).
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 ?
Wychodzi z tego, że zastosowany u mnie układ to DS18B20 (wg dokumentacji płytki jest DS1820), ale przy podzieleniu T/2 otrzymuje wynik +/- 195C, przy podzieleniu na 16 mam +/- 24C.. Czyli rozumie, że powinienem zmienić/dostosować program do DS18B20.. spróbuje i dam znać.
Witajcie, dziś postanowiłem się podzielić dorobkiem w postaci oprogramowania i wiedzy na temat pewnego modułu GPS. Zegar softowy synchronizowany GPS z dodatkowym wyświetlaniem współrzędnych i prędkości no i dorzuciłem w ostatniej chwili temperaturę z DS18B20 - taki szkoleniowy programik w BASCOM (świetny przykład - gotowiec dla tych którzy chcą zrobić...
Układ działa tak jak napisany kod, to znaczy (bez urazy) - bez sensu! Co niby miałoby być wyświetlone w tych 2-ch liniach na LCD ? Przestudiuj tą strone (jest to strona polska lecz w j. angielskim). Link do wersji polskiej tej strony nie jest aktywny.... Ponadto w tym tutorialu zastosowano wyświetlenie wyniku na wyświetlaczu 7-segm LED, oraz do obliczeń...
Jeśli w urządzeniu: urządzeniu dla klienta lub nadzorując piec CO nie stosujesz CRC Mimo niestosowania CRC nigdy nawet na długich przewodach To właściwie nie mam o czym z Tobą dyskutować. A co do punktu, którego nie umiesz zrozumieć odczyt aktualnej temperatury masz zawsze po określonym przez producenta czasie po starcie konwersji nieprawdaż? Z mojej...
Najbardziej newralgicznym czasowo punktem jest obsługa INT0- i od tego trzeba zacząć. Odczyt temperatury trwa 3.3ms a wysłanie żądania odczytu 2.5ms. Oczekiwanie na przetworzenie 750ms- ale nic nie stoi na przeszkodzie żeby odczytywać co np. 5s- temperatura nie zmienia się tak szybko. Obsługa wyświetlacza też jest wolna- spróbuj z biblioteką: $lib "Lcd4busy.lib"...
Dzięki za radę... fajny filmik :-) Tak to jest jak się jeszcze kuleje z tego :-).... A czas mnie nagli.... Mam ogólnie uruchomione już w projekcje: - pt100 -termopare typu-k - lm35DZ -KTY81-210 -MCP9700A-E i cyfrowe: Na 1-Wire: DS18B20 i DS1820 razem 4szt. Nawet zakupiłem Bascoma SE bo przekroczyłem wersje Demo a wersja lewa za bardzo mi nie działąła...
Witam, tworzę coś na kształt stacji meteo, odczyt temperatur, wilgotności i ciśnienia. Do pomiaru ciśnienia zastosowałem BMP085 i tu pojawił się problem, teoretyczne wszystko działa, ale pomiary temperatury i ciśnienia strasznie pływają. Zaraz po włączeniu odczyty są chyba najbardziej wiarygodne, później temperatura podnosi się o ok.2-3°C i automatycznie...
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...
Witam, Proponuję spróbować tego, to kawałek kodu z mojego pliku pomocy w obsłudze termometru DS18B20: 'Odczyt temperatury z dokladnością do dziesiątych części $regfile = "89s8252.dat" $crystal = 12000000 Dim Odczyt(2) As Byte 'deklaracja dwóch zmiennych typu byte do których będą zapisywane dane z termometru Dim T As Integer , Przecinek...
to może żeby nie gmatwać wątku mam odczytane ID czujnika przy pomocy kodu Dsid1(1) = 1wsearchfirst() For B = 1 To 8 Lcd Hex(dsid1(b)) Next ID to np 283CDA65010000D7 jak zmodyfikować odczyt temperatury 1wreset 1wwrite &HCC 1wwrite &H44 waitms 600 1wreset 1wwrite &H55 1wverify Dsid1(1) 1wwrite &HBE temp = 1wread(2)...
Faktycznie było trzeba ustawić w fuse bitach zewnętrzny oscylator i teraz działa. Dodano po 4 Pozmieniałem tam ustawienia tych fuse bitów ale nie mam pewności czy w 100% dobrze. Szod Ty mi coś tam zaczołeś tłumaczyć ale nie zrozumiałem Cię do końca. Ja używam BASCOM AVR 1.11.8.7 i przy programowaniu tam w zakładce mam te fuse bity i całą liste. Jak...
Witam. Drodzy koledzy, od pewnego czasu borykam się z dość banalnym problemem, mianowicie potrzebuje zrobić termometr z wykorzystaniem czujnika DS18B20, i pięcioma wyświetlaczami LED (3cyfry i znak"°" oraz "C"). Układ zaprojektowałem, schemat w załączniku, płytkę wykonałem, niby wszystko OK, lecz pojawia się poważny problem- Program. Wiele razy robiłem...
Witam Mam problem ze skompilowaniem w Bascom 8051 procedur do DS18B20 'program obslugi termometru DS18B20 ' $regfile = "89c4051.dat" 'P3.7 - magistrala 1wire ( do termometru ) 'P3.5 - przycisk zwiekszajacy temperature 'P3.4 - przycisk zmniejszajacy temperature 'P3.2 wyjscie termostatu ( np. do sterowania grzejnikiem ) 'uwaga:...
Niestety próbowałem sam, ale juz nie mam siły. Przeczytałem tematy na forum jednak nie widze w nich rozwiązania problemu, dlatego zacząłem nowy temat. Problem tkwi w tym, że otrzymuje z układu DS18B20 po dokonaniu odczytu z rejestrów wynik w postaci FFFF. Program piszę pod ATMega48. Czujnik połączony jest z zasilaniem z stabilizatora 7805. Najpierw...
Zapoznaj się z kartą katalogową DS18B20, bo wysłanie CC to pominięcie wyboru układu, czyli nie trzeba podawać adresu układu z którym nawiązujemy komunikację, 44 to start konwersji temperatury. Po kolejnym resecie ponownie CC i BE co powoduje, że DS18B20 zaczyna wysyłać dane ze swojej pamięci. Temperatura jest zapisana na pierwszych 2 bajtach stąd 2...
Właśnie sobie przypomniałem że miałem podobny problem. Ale mam reakcję :D Mój układ nawet przebadałem oscyloskopem i poustawiałem identyczne Timingi jak w BASCOMie. I co? NIC!. Deassemblacja kodu udowodniła że BASCOM do obsługi 1Wire nie stosuje pinów quasi-dwukierunkowych, lecz pełne Push-Pull!. To znaczy nie zawsze, jak jest odczyt to nie. Ale na...
Witam. Mam takie pytanie. Robię termometr na atmega 16 + ds18b20 + 2xled. Prawie wszędzie godzie dotąd widziałem podczas odczytu temperatury z ds 1820 jest pętla opóźniająca. W moim programie jak wstawię pętle to w tym czasie wyświetlacz mi nic nie wyświetla. Ponieważ sam ten program tworzyłem a odczyt temp skądś zaporzyczyłem to niekoniecznie jest...
1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms 750 'przeczekaj czas konwersji 1wreset 'reset 1wwrite &HCC 'rozkaz adresowy SKIP ROM 1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20 Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty T = Odczyt(2)...
Zresztą każdy z języków programowania jest tylko tak dobry jak programista, który nim włada ;) I tu jest właśnie sedno problemu. Co z tego, że biblioteka BASCOMa jest doskonale napisana i świetnie działa, jeśli korzysta z niej ktoś zupełnie zielony i sknoci program? . No zgadzam się, do tego mniej więcej sprowadza się to powiedzenie. Bo posługiwanie...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
próbuje zrobic temomert z czujnikiem wilgotności. Odczyt temperatury jest dodkonywany z DS 18B20 $crystal = 16000000 $lib "mcsbyte.lbx" $regfile = "m16def.dat" $baud = 19200 Config 1wire = Porta.0 Deflcdchar 0 , 238 , 234 , 238 , 224 , 224 , 224 , 224 , 224 'definicja symbolu "stopień" Config Portd = Output Config Scl =...
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"...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam wszystkich forumowiczów dobrej woli :). Mój układ składa się z atmegi16 i czujnika ds18b20, całość złożona na płytce stykowej. Problem polega na tym, że przy odczycie temperatury sczytywany jest LSB a zamiast MSB otrzymuję 0 (słownie "zero"). Czujnik testowany w temperaturze poniżej zera, w temperaturze pokojowej i we wrzątku i cały czas otrzymuję...
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,...
Witam kolegów. Potrzebuję sterownika pompki do C.O. Znalazłem program napisany w BASCOM i przerobiłem go nieco do swoich potrzeb. Działa wszystko prócz HISTEREZY. Przy powolnym narastaniu temperatury, która skacze +/- pompka włącza się i wyłącza, czyli histereza nie działa. Histerezę zrobiłem wg. porad z forum. Czy może ktoś pomóc? Oto kod: [syntax=vbnet]$regfile...
Witam Z wycinków kilku programów chciałem zrobić jeden duży barkuje kilku rzeczy i zwiazku z tez pytania W jaki sposób mogę zwiększyć ilość wejść i wyjść żeby zmieścić wszystko ? ( patrz 1 PINY ) brakuje ustawiania podlewania względem kalendarza zielonego pojęcia nie mam jak z pcf mogłbym ustawić godzinę i czas podlewania np 18:00]przez 1 min ? brakuje...
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 )...
wg helpa bascoma masz: Gosub podprogram 'wywołanie .... .... a oznaczenie podprogramu podprogram: .... .... Return sub wymaga wcześniejszej deklaracji i wywołania poprzez call poza tym możesz mieć kłopoty ze zmiennymi oznaczonymi samymi cyframi w załączniku masz termometr który zrobiłem dla koleżanki (robiony na szybko więc nie jest specjalnie zoptymalizowany)...
Codziennie w tym dziale ktos zadaje pytanie dotyczace termometru na DS18B20. Moze jak Dallas przestalby wysylac darmowe probki to moze w koncu te pytania by sie skonczyly :D Poszukaj na forum bo takich zrodel i to w dodatku w Bascom'ie jest tyle, ze jakbys je wszystkie wydrukowal to spokojnie mozesz sobie nimi pokoj wytapetowac :D Ponawiam pytanie Balu:...
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.
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.
Kwarcu brak, pracuje na wewnętrznym oscylatorze. 100 ms niestety nie pomogło. A te kable to mogą być takie długie? Wiem, że dla 1 Wire moze być nawet 100 m a dla HD44780?
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...
Uściślijmy jeszcze czy w kodzie który działa też nie masz wartości $framesize, $swstack i $hwstack? Rzeczy należy eliminować sukcesywnie. Dopisałbym te brakujące rzeczy od razu zamiast je podejrzewać... !EDIT! Zapomniałem o tym a już się w tej sprawie kontaktowałem kiedyś z Supportem :D Słowo Hbyte jest słowem używanym przez wewnętrzne procedury Bascom....
Witam, Dawno nie korzystałem z BASCOM'a, więc nie pamiętam już składni, ale algorytm jest następujący: 1) zapisujesz sobie w zmiennej temperaturę w stopniach 2) wykonujesz dzielenie całkowite temperatury przez 10 -> otrzymujesz cyfrę dziesiątki, zapisz do zmiennej x 3) wykonujesz dzielenie modulo temperatury (reszta z dzielenia) przez 10 -> otrzymujesz...
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...
Ok, znalazłem wśród zapasów takie DS-y przy których błąd pomiaru jest skorelowany.
Jak najbardziej tak.
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.
...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...
Witam. Sprawdź tutaj: http://www.elektroda.pl/rtvforum/topic57... No i spróbuj w opcji szukaj wpisać "ds1820 bascom"
Dziękuję za zaangażowanie i pomoc -.- Dla zainteresowanych: źle zasiliłem czujniki. Program jest w 100% sprawny...
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...
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...
tak, poprawilem to, ale pokazuje 0
usunąłem jedno zero dalej lipa
zamykam temat:) dziękuje wszytki którzy się wypowiedzieli
Masz tu procedurkę odczytu i wyliczenia temperatury. Prościej się nie da. Nie wiem w czym piszesz, ale sama procedura (bascom) jest czytelna.
Jezu, każesz mu najpierw zrobić stringa, potem go pochlastać, a potem z tego inta? Starryyyy BASCOM upośledza;/
Gdybym wiedział jak to zrobić w bascom to bym Ci powiedział :(
a wszystkie 9 bajtów odczytane z ds-a ma wartosc FF ? ewentualnie czas konwersji temperatury zwieksz do 2 sekund
' Na początku kodu Index_tab=0 ...... ...... If Licznik = 1200 Then IF Index_tab=3 Then ' przesuniecie w tył jeżeli pozyskano co najmniej 3 pomiary Pomiar(1)=Pomiar(2) Pomiar(2)=Pomiar(3) Else ' Fragment kodu wykonywany dla Index_tab=0,1 i 2 Incr Index_tab IF Index_tab>3 Then Index_tab=3 End If Pomiar(index_tab)...
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....
a 8MHz masz?:> Sprawdź PCB Rezystor 4.7kΩ masz na linii danych? Może podaj konkretnie co pokazuje sie na lcd. "Przyczepiliście się" :D do sprzętu , a żaden z Was nie zajrzał do kodu ;) A błąd ukrył się sprytnie , w deklaracji zmiennej T1 , która powinna być typu Integer , a jest ... :?: Piotrek
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,...
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...
Czy tak może być? Nie. Po komendzie: "1wwrite &H55" Spodziewana jest komenda wpisu adresu adresu device do której odnoszą się dalsze komendy, ponadto: Błędem jest stosowanie tejsamej flagi (niby stopniowej) do wielu operacji bez jej kasowania. Zauważ że flaga=1, lub flaga =2 utrzymuje sie przez dłuższy czas, o wiele dłuzszy niż 'przewinięcie 'pętli...
No i tu właśnie obsługa przerwania zakłóca komunikację 1W. Jeśli wyłączę przerwania na czas odczytu/zapisu DS-a to wyświetlacz miga. Bascom chyba nie pozwala na takie zagłębienie się w procedury zapisu/odczytu 1W aby można było zrobić to po swojemu.
Nikt nie jest w stanie mi pomóc? nie wie wiem dla czego kontroler nie porównuje wartości Rozumiem że jesteś początkujący , ale nawet Ty powinieneś wiedzieć , że nie porównuje się zmiennej binarnej(Us) ze stringiem (Tmp) :( To tak , jak byś porównywał kilogram z czerwonym :D Poza tym , ten program jest niezwykle pamięciożerny(Fusing,Single). Jeśli ten...
No tak, bo ja nie mam w zamiarze mieć alarmu dźwiękowego. Więc usuń z programu także deklaracje odnosnie wymiarowania zbędnych zmiennych i uzupełnij poprawki j.w. Wytestuj program w symulatorze running "step into code" (F8) i w odpowiednich momentach kodu uzupełniaj 'ręcznie' zmiany logiczne pinów a także symulowane wartości zmiennych (np: odczyt temperatury...
Tam nic nie trzeba zmieniać. Wystarczyło podłączyć do identycznych linii LCD i DS18B20 i zmienić $regfile = "Attiny2313.dat" na $regfile = "mega8.dat"
Kod do pomiaru temperatury ze sprawdzeniem CRC pobrałem z internetu, więc nie wiem czy na 100% działa, lecz teraz nie mam możliwości go wkleić tutaj, ale tak samo są absurdalne odczyty temp. W temperaturze pokojowej około 20-22st. C. atmega czasem pokaże ponad 300st, lub poniżej -40.
to mój pierwszy projekt z wykorzystaniem ds18b20 i bardzo możliwe że kiepsko napisany. I rzeczywiście minus pojawia się po przecinku, spróbuję to poprawić
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ą...
Witam Dokonałem tej zmiany i także wyrzuciłem zmienna S na Lcd i dalej program nie działa tak jak bym chciał. ................ Jest ok zmieniłem znak ''<" i działa . Do swojej podstawki programującej mam podłączone 2 przyciski do pin d.0 pierwszy do pind.1 drugi gdybym chciał zmieniać progi załączania pind.7 tymi przyciskami (czyli regulować temperaturę...
Jezeli programujesz w Bascom to tu masz ciekawą podpowiedź: http://www.mcselec.com/an_111.htm
nie rozumiem. Tzn jakis program bascom dziala poprawnie i ten efekt nie ewystepuje wystepuje tylko jak wgrasz ten kawalek w c.
Stosuję odczyt DS18B20 w przerwaniu, dlatego, że przerwanie rozkładało mi transmisję 1wire. Przerwanie jest wyzwalane z częstotliwością 100 Hz, przez częstotliwość sieci 220 V i służy do obsługi ściemniacza. Transmisję 1wire umieściłem w tym przerwaniu, żeby uniknąć jej zakłócania właśnie przez to przerwanie. Co przerwanie wykonywana jest kolejna instrukcja...
Witam! - Między wysłaniem polecenia pomiaru, a odczytem temperatury musisz odczekać 850ms. - Żeby odczytać temperaturę z konkretnego czujnika musisz w poleceniu odczytu podać adres czujnika. - Błędna ilość czujników często wynika z zakłuceń i "luzów" na magistrali 1-wire. Pozdrawiam
Witam. Posiadam DS18B20 i AT89S8252 zmontowane w prostym układzie do odczytu temperatury. Napisałem program do odczytu temperatury w asemblerze. Wzorowałem się na odczycie w języku C, Bascom i asemblerze znalezionych na forum. Wszystko działa do momentu odczytu temperatury. Na wyjściu nie otrzymuje żadnego wyniku. Czas na przetworzenie temperatury jest...
Dzień dobry Mam problem z termometrem DS18B20, mainowicie napisałem program w bascom i robiłem testy na płytce testowej zl2avr i na lcd miałem dziwne odczyty temperatury ale coś było. Wczoraj zrobiłem już na płytce uniwersalnej ten teromoetr z atmega wszystko pdłaczyłem jak trzeba program wgrałem na atmega w plytce testowej zl2. Program działa na wyświetlaczu...
Mniej wiecej tak to mozna zrobic ;) Listing do AVR-a pozmieniaj nazwy portów '################# wyswietlanie temperatury ######################### Multiplex: Dim Mux As Byte Dim 100stopni As Integer Dim 10stopni As Integer Dim 1stopni As Integer Dim Dstopni As Integer Config Porta = &B11111111 Config Portc = &B11111111 T2 = Abs(t1) Porta = &B11111111...
Problem polega na tym, że odczytujesz wartość ADC z uC zamiast z DS18xxx. Brakuje ci obsługi DS18B20. Poniżej fragment kodu działającego u mnie. [syntax=vbnet] Config 1wire = Portb.0 '0,1,2 NOP 3,4,5,6,7 works good ON MY Equipment Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj konwersji Waitms...
To jest tylko wycinek programu całość programu pochodzi z książki Autor: Marcin Wiązania " Programowanie mikrokontrolerów AVR w Bascom" Ja zmieniłem przeliczenie temperatury z DS1820 na DS18B20 Dim T As Byte Dim TLsb as Byte Dim TMsb as Byte Odczytałem dwa bajty TLsb = odczyt(1) TMsb = odczyt(2) Dodałem do swojego programu T=TMsb + TLsb I podzieliłem...
Dim Sc(9) As Byte 'w tej tablicy beda dane odczytane z czujnika Dim Temperatura As Integer 'tu obliczona temperatura Dim Blad_crc As Bit 'a ten bit bedzie ustawiany w razie bledu CRC odczytu '... program ... 1wreset 1wwrite &HCC 1wwrite &HBE Sc(1) = 1wread(9) 'odczytujemy wszystkie bajty z czujnika If Sc(9) = Crc8(sc(1)...
Witam, Napisałem prosty program do odczytu temperatury z DS18B20 jak poniżej, jednak odczytuje on wartości temperatury jedynie do około 57st.C. Powyżej tej temperatury same jedynki. Przekopałem dokumentację i jedyne co mi przychodzi do głowy, to alarmy, ale odczyt SCRATCHPAD nie wskazuje na to aby były włączone. Czy ktoś ma jakieś sugestie? [syntax=basic4gl]...
Tak teraz napisy nie mrugają, ale odczyt temperatury jest błędny od ujemnej do 256. Dziękuję za pomoc, spróbuję sam powalczyć. pomógł.
Miałem problem z odczytem z 1 ds18b20 i problem tkwił w opóźnieniach (standardowa biblioteka nie jest najlepsza) http://www.elektroda.pl/rtvforum/topic98... nie jestem znawcą ale pomogło.
witam jest to termometr cyfrowy DS18B20, wiele informacji na jego temat możesz znaleźć używając opcji szukaj gotowe schematy, programy... Dodano po 2 żeby nie zakładać nowego tematu chciałbym się coś Was forumowiczów zapytać: pisząc procedurę odczytu z DS18B20 w bascom 8051 temperatura po włączeniu kostki do zasilania byłą wyświetlana jako 85,0°C -...
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...
Żeby być pewnym na 100% to jak odczytać temperaturę z 2 czujników DS18B20? pierwszy czujnik: 1wreset 1wwrite &H55 1wverify ID pierwszego układu 1wwrite &HBE odczekać czas na pomiar temperatura1 = 1wread(2) drugi czujnik 1wreset 1wwrite &H55 1wverify ID drugiego układu 1wwrite &HBE odczekać czas na pomiar temperatura2 = 1wread(2) Czy coś jeszcze trzeba?...
Napisane na szybko nie sprawdzałem ale chyba powinno działać. [syntax=basic4gl] $regfile = "m8def.DAT" 'deklaracja procesora, w tym wypadku Atmega8 $crystal = 1000000 'deklaracja cześtotlwiości pracy (wew oscylator 1MHz w zupełności wystarcza) '*************************************WA... 'Pamiętać o podłączeniu...
W datasheet-cie DS-a jest napisane co oznacza gdy wysyła ci temperaturę 85 stopni... Jest to jak najbardziej uzasadnione, ponieważ pierw odczytujesz wartość rejestru temperatury a dopiero po tym rozpoczynasz konwersję, zawsze pierwszy wynik będzie błędny... Nie przeklejaj bezmyślnie kodu od innych. Pozdrawiam, GSM
odczyt ds18b20 bascom bascom odczyt ds18b20 ds18b20 bascom odczyt
instrukcja becker briggs stratton dymić łamie igłę
skacząca wskazówka skacząca wskazówka
Instrukcja obsługi Privileg Superstar Electronic 3000 Śruba w pompie wtryskowej Land Rover Freelander 1999