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.
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...
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...
Nie. Nie powinno się tak robić [...usunięto...]. Niezależnie czy jest to zabawka na biurko, czy stacja kontrolująca ogrzewanie supermarketu. Producent jasno określa warunki programowe, w których układ pracuje poprawnie/ Osobiście nie wiem, jak jest zrealizowane przenoszenie danych o konwersji do rejestru odczytywanego przez magistralę, ale teoretycznie...
czytałem wolniej i efekt ten sam:(
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...
Chodzi o te zaznaczone ustawienia z obrazka. Są wstawiane jako domyślne jeśli się ich nie wpisze do kodu. Chodzi o to, że kiedy Bascom skacze do jakiegoś Sub to odkłada na stos te wcześniej omawiane dwa Bajty. W takim Sub już może tego nie widać, ale tez skacze np. do procedury odczytu czujników 1Wire. To już np. cztery bajty a w tym momencie nadchodzi...
Dzięki wielkie !! Pomogło , aczkolwiek nie rozumiem dlaczego bez tego też czasem działało zależnie od kolejności wpisów ? Teraz działa OK bez względu na kolejność wpisów, i reszty (czyli początku programu w którym pewnie jest mnóstwo innych błędów :-) ) [syntax=vbnet] $regfile = "m2560def.dat" ' specify the used micro $crystal = 16000000 ' used crystal...
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ąć...
Teraz dopiero dopatrzyłem się, że przy starcie raz wywala wartość 85 stopni co nie powinno mieć miejsca. To jest zupełnie normalne że pierwszy odczyt może wskazywac 85°C. Patrz: uwaga pod tabelą na str. 3 datasheet: *The power-on reset value of the temperature register is +85°C Może ci się takze pokazac 0°C , - jako jeden z poczatkowych odczytów gdy...
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?...
Ja bym wyszukiwanie zrobił tak Dim Ids(64) as Byte 'Maksymalna liczba czujników * 8 Dim I as Byte Dim J as Byte Dim L as Byte Dim Count as Byte Dim TempCount as Byte ' Wyszukiwanie Count = 0 TempCount = 1wirecount() If TempCount > 0 Then I = 1 J = I + 7 Ids(1) = 1wsearchfirst() Do If Ids(J) = Crc8(Ids(i),...
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...
Witam, Zgadzam się układ w takiej formie nie ma sensu, po prostu musiałem się cofnąć do wyświetlenia pojedynczych bitów z DS18B20 bo układ nie wskazywał poprawnie temperatury.
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...
Dziękuję za zainteresowane. Tak , grafiki będą wyświetlane zawsze w tym samym miejscu, na pełnym ekranie o formacie 240*128. Bitmapy jakie konwertowałem są monochromatyczne 1 bitowe. Rzeczywiście rysuję je ręcznie, piksel po pikselu (masakra) . Jeśli jest możliwość abym nie musiał ich konwertować to by było idealnie gdyż mogę sobie na bieżąco zmieniać...
Witam Mam problem ze skompilowaniem w Bascom 8051 procedur do DS18B20 B1 = B1 / 16 ,obliczenia wyłącznie... B2 = B2 * 16 , dla temperatur dodatnich. Być może dla Ciebie , przecinek i średnik to to samo - dla Bascome nie ;) Piotrek
Witam posiadam płytkę testową do kursu bascoma z edw.Mój problem polega na tym że nie mogę zmierzyć temperatury i wyświetlić jej na wyświetlaczach led.Gdy podepnę czujnik do prcesora to na wyświetlaczach pojawiają się zera. Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B1111111 : Portd = &B1111111 Dim Zmienna As Byte Dim Liczba...
Witam. Zrobiłem już część programu: $regfile = "2313def.dat" $crystal = 12000000 '-- konfiguracja zmiennch: 'potrebne do odczytu 1wire itd. Dim Liczba As Byte Dim Jednosci As Byte Dim Dziesiatki As Byte Dim Czdziesietne As Byte '--deklaracja podprogramow: Declare Sub 1 Declare Sub 2 Declare Sub 3 Declare Sub 4 Declare Sub 5 Declare...
Jak w temacie - czytalem gdzies, ze trzeba zminic stan portu podczas pomiaru, ale ja jestem w tym temacie zielony, dlatego prosze o pomoc. PS. Potrzebuje jeszcze dodac funkcje z przecinkiem i znakiem - wydaje mi sie, ze wynik wyswietlany jest bez nich. $regfile = "m8def.dat" $crystal = 4000000 Declare Sub Init Declare Sub Convallt ' Convert...
Witam serdecznie Mam Następujący problem, nie umiem sobie poradzić z obsługą 2 czujników DS18B20 na 2 osobnych portach, jedynie odczyt jest dla czujnika podłączonego pod pind.7 1wreset 1wwrite &HCC , 1 , Pind , 7 1wwrite &HCC , 1 , Pinb , 0 1wwrite &H44 , 1 , Pind , 7 1wwrite &H44 , 1 , Pinb , 0 Waitms 100 1wreset 1wwrite &HCC , 1 , Pind , 7 1wwrite...
Tworzę sterownik który będzie operował na 4szt DS18b20 Program jest pisany w bascom Czy w bascomie można zadeklarować tablicę dwu wymiarową Tablica (4)(8) Dla czego przy odczycie danych muszę ponownie resetować magistralę i podawać numer seryjny układu. Podobno po wysłaniu za pierwszym razem numeru układu inne milczą a wskazany nadsłuchuję 1wreset 1wwrite...
Czy ktoś mółby mi udostępnić kod źródłowy pod BASCOM-AVR obsługujący czyjnik temperatury DS18B20. Szukałem w starych postach ale tam są tylko kody źródłowe dla DS1820 a te nie chcą działać. Byłbym bardzo wdzięczny!
Nie mam pojęcia co zmienic w niżej przedstawionym kodzie aby temperatura była wyświetlana prawidłowo Zastosowany czujnik to DS18B20 a kod napisany jest dla DS1820 $regfile = "m16def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Config...
Witam, Wielu użytkowników ma problem z uruchamianiem termometrów DS18B20 więc... zamieszczam krótki plik instruktazowy napisany przeze mnie w bascomie z obszernymi komentarzami :D Pozdrawiam
Z noty katalogowej widze że trzeba zmienić w rejestrze konfiguracyjnym (czyli 4ty bajt scratchpada) bit 6 i 5 na 0. sam odczyt temperatury robię tak: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE I = 1wread(2) S = I / 16 T = Fusing(s , "##.#") chodzi mi o to żeby zmniejszyć waitms do 95 jak...
Witam wszystkich!!! Mam problem nie wiem jak skonfigurować DS18B20 wBascomie tak, aby zmniejszyć czas konwersji wyniku. Wiem że można to osiągnąć przez zmniejszenie dokładności odczytu np. do 10 bit. Czy ktoś wie jak to zrobić? Pozdr. Lolek50
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...
Witam, moze ktos przesledzic ten kawaleczke kodu (BASCOM) i powiedziec co jest nie tak ? Problem tkwi w tym ze odczytywane temperatury sa ok (wystarcz mi dokladnosc do 1 st C) jednak jak odlacze ktoregokolwiek DS'a to Tin = Tout zamiast wpisac wartosc 99 (w taki sposob wykrywam ze uszkodznieu ulegla ktorys czujnik) Program to kawalek kodu ktory ktos...
Jak sprawdzić czujniki ds18b20 czy prawidłowo wskazują temperaturę bo słyszałem że są niektóre fabryczne ,,felerne,, .Umnie wszystkie 5 zawyżają o 2stC , a może jest błąd w kodzie. dziękuje $regfile = "M16def.dat" $crystal = 8000000 '****** KONFIGURACJA PORTÓW ********* Config Porta = Output 'wysw ABCDEFG Config Portc = Output 'zasilanie W4,W3, W2,...
Zaczynam nowy wątek na temat który jak widzę jest wałkowany kilka razy w tygodniu. Czytałem dużo, przetestowałem kilkanaście programów i nici z efektów. Jestem młodzikiem w programowaniu więc proszę o przyziemne odpowiedzi :) a już pisze w czym rzecz. Chciałem zmierzyć sobie temperaturkę za pomoca wspomnianego DS18S20 na Atmedze8 i dodam, że bawię sie...
Niekoniecznie, możesz po resecie DS-a zmienić wyświetlanie na następną cyfrę i dopiero robić odczyt temperatury (można podzielić jeszcze drobniej).
Sypie błędem- co dokładnie to oznacza? Ja specem od Bascoma nie jestem ale przy odczycie z DS18B20 raczej nie pojawiały się jakieś "zawirowania". Istotnie -pierwszy otrzymany wynik to 85 st. C -ale to jest opisane już nawet w nocie katalogowej producenta więc jeżeli to istotne pierwszy pomiar zwyczajnie się ignoruje w programie. Z tego co pamiętam...
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...
mirekk36- wiem że bascom jest wolny. Ale DS też. Sam reset to jest 2x480us- prawie 1ms. Przesyłanie 64 bitów adresu- 120usx64 =7680us czyli 7.7ms minimum. Pomiędzy tymi komendami można włączać przerwania- ale w trakcie chyba nie. A odczyt można zrobić potem- ale to też ponad 1ms. Tak że nie wiem jak to robisz.
No to koledzy mnie uspokoili trochę :) Tak sobie czytam datasheeta od atmegi 162 i nie mogę się połapać z tymi PWM-ami... Bo widzę tak : timer/counter0 z PWM timer/counter2 z PWM i co dalej ? Gdzie te pozostałe PWM ? Może któryś kolega byłby tak miły i mógłby w miarę łopatologicznie wyłożyć - jak to się je :) Czy Bascom wspiera sprzętowy PWM w ogóle...
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, 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??
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...
Gdybym wiedział jak to zrobić w bascom to bym Ci powiedział :(
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 ?
Ups zapomniałem dodać, że chodzi tu o BASCOM AVR
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ć...
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ć.
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...
W chwili gdy obsługuje 1-Wire, Bascom ZAWSZE nawet na czas generowania resetu, co trawa ok 500us, później presence, co daje razem ok 800us, zawiesza przerwania. To samo w czasie transmisji danych, transmisja bajtu to ponad 500us zawieszone przerwania. W tym czasie nie wykona się przerwanie od timera, od i cała tajemnica. Ale zabobony. Każdy może otworzyć...
Witam, proszę o pomoc: buduje sterownik na zasadzie włącz/wyłącz, to akurat nie jest w tym momencie ważne :), ale przejdźmy do szczegółów - ma pobierać dane z 4 czujników DS18B20, sam odczyt działa poprawnie, problem zaczyna się w menu, do kroku "2.2" czasem "2.3" wszystko działa poprawnie, lecz z "2.2" i naciśnięciu 'dalej' (lub "2.3") przeskakuje...
Na jednym z forów pisałem fotowca Na M8 i LCD 2 x 16 BIG Odczyt automatyczny podłączonych czujników i wyświetlanie ich zaraz poszukam kopie kodu i podam ci gotowca :) pozdrawiam
1. Możesz usunąć 2. 3. Tak, usuń drugi odczyt i dodaj tę komendę - powinno zadziałać. Poza tym skoro zmienne LsbN i MsbN nie są nigdzie wykorzystywane to możesz zamiast tworzyć 7 par zmiennych używać ciągle jednej i tej samej pary 4. Przemyśl ten punkt. 5. Najwyższy czas - bez tego błędne odczyty (spowodowane błędem komunikacji) też polecą w eter.
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ę...
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...
Wsadź odczyt pod jakiś label np: odczyt: "wyłącz przerwania" "dokonaj odczytu z ds" "włącz przerwania" return w programie zamiast całej formułki : 1wreset 1wwrite &H55 1wverify Dsid1(1) 'wysyłamy adres pierwszego czujnika If Err <> 1 Then 1wwrite &HBE Tp = 1wread(2) Wywołuj tylko label...
Witam, Chciałem sobie napisać program do obsługi PCF8583 i DS18B20. Popróbowałem trochę i wyszło mi coś takiego: Kod nie jest poprawny. Z listingu powyżej pozostawiłem tylko znaczące tytuły do których odnosi się moja opinia. Masz tam kilka "SUB" i subrytyn (labels) do których nie ma w programie odwołań, inaczej mówiąc nie są one w żaden sposób uruchamiane....
Już któreś z kolei podejście do tematu jednak dalej brak rozwiązania Problem wygląda tak: Potrzebuję termometr na dwóch DS 18B20 Na razie zaprzęgłem jeden i w pętli co kilka sekund (czyli co kilka pomiarów) wyświetla mi 0,0 st C lub inną absttrakcyjną wartość np 95,5 przez jeden pomiar. Próbowałem różnych rozwiązań na chwile obecną program wygląda mniej...
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...
Wydaje mi się, że pomyliłeś fazy sygnałów wysyłanych do czujników. Najpierw powinno być[syntax=basic4gl] 1wreset 1wwrite &HCC 1wwrite &H44[/syntax] . To oznacza, ze wszystkie czujniki muszą zacząć konwersję. Następnie trzeba w jakiś sposób odczekać około 750 milisekund i dopiero dokonać odczytu z poszczególnych czujników. Odczyt też wypadało by poprawić...
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 wgralem sobie ten 1 program po zmianach ofkoz na swoje ustawienia i wyswietla mi ze czujnik komunikuje sie z prockiem tylko temp to -0 stopni i nic sie nie zmienia. Uklada sklada sie z Atmegi8, czujnika ds18b20 (narazie testuje na jednym, docelowo 3) i LCD-eka. Czy ktos mial cos podobnego i jak rozwiazal ten problem?
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...
To ma być sterownik ogrzewania i docelowo ma obsługiwać większą liczbę czujników, z tego względu zależy mi na tym aby to przerwanie inicjowało konwersję temperatury. Nie chcę programu głównego zatrzymywać na czas oczekiwania na konwersje, a w pętli głównej chcę umieścić jeszcze kilka innych zadań jakie ma spełniać układ. Zdziwiło mnie tylko zachowanie...
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...
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)...
bascom odczyt ds18b20 ds18b20 bascom odczyt ds18b20 odczyt bascom
niebieski matryca blaupunkt tablet panel stary schemat oznaczenia
defro k1pv4 plyta glowna sharp
Clarion DB288RUSB - Polska instrukcja obsługi Uruchomienie Scania bez kluczyka - porady i ryzyka