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.
...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...
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?...
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ę :)
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...
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...
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...
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",...
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=
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.
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.
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
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...
Zrobilem dokaldnie tak. Program dziala choc ma jedna wade. Nie mozna dynamicznie podmienic czujek bo musze z gory wiedziec ktora bedzie IN a ktora OUT i na samym poczatku definiowac je.
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...
To na początek dolutuj do czujników minimum 100nF na każdy. Możliwie blisko nóżek. Pozdrawiam Mariusz
Poszukaj kodu dla czujnika DS18B20. Jest tego naprawdę dużo i będzie szybciej.
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
Czy port F w atmega128 po skonfigurowaniu jako 1WIRE będzie prawidłowo działał chociażby z czujnikami ds18b20??
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...
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.
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...
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 Mam pytanie: Na jakiej zasadzie bascom przypisuje do zmiennej tablicowej identyfikator kilku czujników DS18b20 podpiętych do jednego portu? Przykładowo mamy cztery czujniki. W poniższym przykładzie Dim Dsid1(8) As Byte Dim Dsid2(8) As Byte Dim Dsid3(8) As Byte Dim Dsid4(8) As Byte Dsid1(1) = 1wsearchfirst()...
Tak, do atmegi. Na wewnętrznym generatorze nie było komunikacji z czujnikiem.
tablica powinna mieć 9 elementów, ewentualnie powinno być : Bd(1) = 1wread(2) skoro nie używasz pozostałych danych odczytanych z czujnika
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.
Ale komendy CC i 44 wysyłaj tylko raz - zareagują na nie wszystkie czujniki. I tak samo czekaj tylko raz te 750ms.
Zobacz tam : http://www.mcselec.com/an_111.htm
Dziękuję za zaangażowanie i pomoc -.- Dla zainteresowanych: źle zasiliłem czujniki. Program jest w 100% sprawny...
Witam, Wiem, że podobne tematy były na forum wałkowane dziesiątki razy, ale przejrzałem tamte posty i nie znalazłem w nich odpowiedzi na moje problemy. Próbowałem wykorzystać zawarte w nich, proste programy, testowałem sposoby w nich podane i nic. Ale do rzeczy. Mam układ taki jak na schemacie: http://obrazki.elektroda.pl/7365537400_1...
a może po prostu : 1wiresearchfirst, a kolejnym czujniku: 1wiresearchnext.
Err sie pojawi w przypadku niepodłaczenia lub odwrotnego podlaczenia czujnika. Czyli procek niewidzi czujnika.
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)...
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....
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...
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...
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.
I popraw ten 33h :>
Witam , miałem niegdyś podobny problem , tyle że działam w Bascomie , lekarstwem było przestawienie procka w fusebitach na częstotliwość 8 MHz.
To chyba nie ten dział !!!
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
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?
Dodaj sprawdzanie CRC danych z czujnika.
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...
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()
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
Witam wysyłasz w postaci HEX z kolei odbierasz komenda inputhex i zapisujesz do zmiennej tablicowej np: Dim Dsid1(8) As Byte .
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...
No, idealny pomysł. Kupić Mega128 za 100zeta i przez przypadek zablokować sobie FUSBITY. A potem posty... Jak odblokować moj procesor. Powiem Ci, tak, ostatnio robiłem to, co ty mniej więcej chcesz... Dokladniej: http://images21.fotosik.pl/285/cf9cffb7d... Sterowanie krokowcem przez L298, LCD, pomiar temperatury na DS18B20, 2 przekaźniki i...
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
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??
A podaj dokładny symbol twojego czujnika. Może masz wersję DS18S20?
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...
Problem jest taki że czasami po jakimś czasie wartości temperatur odczytywanych z czujników DS18B20 mają losowe wartości. Bo nie sprawdzasz CRC.
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ć...
najlepiej po uprzednim zabezpieczeniu czujników umieścić je w słoiku z wodą. Pozdrawiam
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ś...
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...
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...
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. 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...
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
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?
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...
Zamów sobie dallsa jako sample bedziesz miał pewnosc ze sa dobre. Ja uruchomiłem ds18b20 i poszedł bez najmniejszych problemów.
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,...
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.
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
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....
Czy mówiąc, że dobrze podłączyłeś czujnik, masz na myśli, że dodałeś rezystor podciągający?
Po zastanowieniu i przeszukaniu paru stron internetowych wybór padł na układ RFM12. Czy ma ktoś z was jakieś doświadczenia w komunikacji z tym urządzeniem w bascomie? Projekt już jest, płytki w przygotowaniu. Dziękuje za odpowiedzi.
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...
http://obrazki.elektroda.net/22_12752238... Witam. Dzisiaj chciałbym zaprezentować mój projekt zegara VFD na lampie IW-18. Jest to kontynuacja wątku kolegi Pier -> http://obrazki.elektroda.net/95_12752233... Wszystko tak szybko się odbywa że wyświetlacz w ogóle nie miga :D Program został napisany w BASCOMie - zajmuje ~64% pamięci Flash....
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
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.
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..
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ć...
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.
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.
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:...
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.
... 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
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
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....
Mam tylko jeden czujnik na magistrali Ale gdy pozbywam się 1wverify Dsid1(1) to układ nie wyświetla temp.
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 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...
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...
:arrow: e11 Jeśli urządzenie pracuje z wyświetlaczem teksowym - można zrobić menu serwisowe z funkcją detekcji wszystkich podłączonych podzespołów 1-wire. Następnie program prosiłby o przyporządkowanie ID czujnika do mierzonej wielkości, np na LCD 2x20: sensor for t1: [DS18B20 ID:XXXXXXY]
OK. Uznajemy hardware za działający prawidłowo. Na 500us zwieram DQ do masy, później czekam 40us i sprawdzam czy jest stan niski. Czekam kolejne 300us i sprawdzam czy jest stan wysoki. Jeśli tak - uznaje że czujnik jest i odpowiada. Ten kawałek działa (udaje się wykryć czujnik). Tu nie widzę błędu w rozumowaniu. Może tylko wydłużył bym czas oczekiwania...
Po ustawieniu fuse bitów tak żeby uwzględnić $crystal=4000000 program w dalszym ciągu nie reaguje na nic. Mógłbyś napisać program do odczytu temperatury z DS18B20 i wyświetleniu jej na LCD tak żebym mógł sobie sprawdzić moje czujniki temperatury
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ę.
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ę...
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.
Jezeli programujesz w Bascom to tu masz ciekawą podpowiedź: http://www.mcselec.com/an_111.htm
Nie muszą, ,możesz programowo rozwiązać problem PWM. Nie wiem w czym piszesz, Jeśli w bascomie, to tu masz przykład; http://diy.elektroda.eu/nie-zwykla-zarow...
czujniki ds18b20 ds18b20 czujniki ds18b20 bascom
hamulec postojowy renault gigaset numer makita ładowarka dc18rc
automatyka crawford automatyka crawford
Toyota Auris 1: Wyłączanie ABS przy temperaturze powyżej 10°C Jak samodzielnie sprawdzić jakość wody w studni?