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 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...
Witam, właśnie zabrałem się za budowę termostatu- ma być oparty na układzie DS18B20 i napisałem prosty program w Bascomie Config 1wire = Portd.5 ' + jumper J2 B-C Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single Do 1wreset 'reset 1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM 1wwrite &H44 'dokonaj...
Acha to teraz wiem z skąd mam odczyty pomimo że DS nie zakończył czasu konwersji. Jeśli jest tak jak piszesz to według mnie mogę mieć błędny odczyt temperatury tylko wtedy kiedy podczas odczytu starej wartości temperatury (a kiedy w rejestrze nie ma jeszcze nowej wartości) temperatura nagle podskoczy lub spadnie. Czy dobrze myślę? Chyba że może zdarzyć...
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...
Odczytaj_ds: 1wreset If Err = 0 Then 1wwrite &HCC 1wwrite &HBE Ds_1 = 1wread() Ds_2 = 1wread() Status_temp = 1 If Ds_2 >= 248 Then 'wartość ujemna Ds_1 = 255 - Ds_1 Ds_2 = 255 - Ds_2 Status_temp = 0 End If T1 = Ds_1 / 16 T2 = Ds_2 * 16 T1 = T1 + T2 T1 = T1 + 0.05 'T1 wartość temperatury xx.xx T1 = T1 * 10 'wartość całkowita...
michalc85 ma rację. W słoiku z wodą ? Żeby namokły ? Według mnie, wygląda to na zwykłe nabijanie postów (i punktów), ponieważ Twoja wypowiedź nie wnosi niczego do dyskusji. Nieprawda, woda ma dużo większą przewodność termiczną niż powietrze. Wtedy temperatura obu czujników jest prawie równa. Zwróć uwagę że "po zabezpieczeniu". Możesz też oba czujniki...
Program do czujnika temp ds18b20 ktory mierzy z dokladnoscia dwoch miejsc po przecinku. Sprawdzony ale tak jak juz koledzy mowili wyniki po przecinku bardzo czesto skacza Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32 Config Pind.7 = Output Config Pind.4 = Output Config Pind.5 = Output Config Pina.6 = Output Config Pina.7 = Output Set Portb.0 Set...
Witam, jako, że kończą się wakacje postanowiłem udoskonalić trochę soft piórnika - chcę dodać odczyt temp., tylko nie wiem gdzie ją umieścić. '***************************************... '* Program Piórnik Mini wersja 1.0 Beta *' '* Pomysł: FICU *' '* Programista: Jacek R (Black Jack) Kompilator:...
Witam, Zrobiłem sobie pomiar temperatury w konfiguracji jak w tytule. Zgodnie z opisem ds18b20 moja procedura powinna odczytać zawartośc pamięci czujnika, z czego pierwsze 2 bajty powinny zawierać temperaturę. $regfile = "m8def.dat" Config Lcdpin = Pin , Rs = Portd.1 , E = Portd.0 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7...
http://obrazki.elektroda.pl/1523592300_1... W schemacie pominąłem zasilanie i podłączenie LCD. Kod: (został wzięty z książki M. Wiązania - "Programowanie mikrokontrolerow AVR w jezyku Bascom", usunąłem kod od obsługi LCD bo mam go ustawionego w bascomie) $regfile = "m8def.dat" $crystal = 8000000 Config 1wire = Portc.5 'konfiguracja...
Ja sobie z tym radze tak: Z1 = T / 100 Z = Z1 X1 = T Mod 10 X = X1 Y1 = T Mod 100 Y = Y1 Y = Y - X Y = Y / 10 zmienne x1,y1,z1 sa typu integer T to odczytana temperatura z dallasa x,y,z to zmienne typu byte.
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...
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,...
Witam Dzięki pomocy elektrody i 2 mądrych książek udało mi się coś takiego naskrobać. Przez moment używałem 2 timerów ale po jakimś czasie wyszło coś takiego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portb = 255 'wszystkie końcówki jako wyjścia Portb = &B11111111 'na początek wygaś Config Portd = &B1111111 'dwie najmłodsze jako...
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, 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 Mam zbudowane obecnie dwa termometry na DS18B20 i delikatnie mowiac zaczynam sie irytowac. Oba mocno zanizaja temperature (o jakies 3 st C) Sprawa jest o tyle denerwujaca ze np w dni kiedy nie ma mrozu i temperatura jest na poziomie 1-1.5 st C czujnik pokazuje - 1.8 do -2.2 st C Czy tylko mi sie trafily takie "super" dallasy czy ten typ tak ma...
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"...
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...
Hi. Sklecilem sobie w ramach testow i zabaw termometr z DS18B20, i ogolnie mierzy w porzadku poza dziwnymi zachowaniami.. 1. Wskazuje 23,5 stopnia. (co jest mozliwe). przykladam do radiatorka... kolejno wskazuje: 8, 9,12,16,20,32,38 st... Odejmuje od radiatorka wskazuje kolejno : 38,37, 32,14,12,11,11,10,10,9,9,9,8,8,8, 23.8 Ktos wie skad sie to moze...
Witam Wczoraj zakupiłem sobie czujnik ds18b20 miał być ds1820 o czym dowiedziałem się dopiero w domu po nieudanej probie odczytu temperatury. Kod który użyłem pochodził z książki M. Wiązani. (niżej go zamieszczam). i tak po połączeniu wszystkiego wg. schematu dostałem odczyt temperatury -52 st. C co jest absurdem bo powinno być ok. 20 - 21 st. C i tak...
Termometr DS18B20 Autor: mariuszk(at)altkom.com.pl http://www.elektroda.pl/rtvforum/files-r... Program mierzący temperaturę termometrem DS18B20 Program mierzący temperaturę termometrem DS18B20
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...
Błagam was pomóżcie . Nie moge tego cholerstwa uruchomić. Może ktoś mi uratuje dupsko. Wykrywa czujnik skorzystałem z gotowego programu który byłna ledach i jakieś głupoty wyświetla. Prosze wszystkich życzliwych o pomoc
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...
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...
Witam, Napisałem program termostatu i mam niekiedy problem z odczytem temperatury. Wartość temperatury wyświetlana jest dobrze ale co pewien czasz wskakuje mi wartość 85. Jak można tą sytuacje wyeliminować ?. Drugie pytanie- jak zwiększyć precyzje wskazywania (liczba po przecinku). W chwili obecnej wskazywana jest tylko liczba całkowita. Układ DS18B20...
witajcie. mam problem z konwersją temperatury na czujniku ds18b20 wszystko jak w manualu, ale... 1wire działa dobrze. vcc jest zewnętrzne, data jest podpięte do portu i do vcc poprzez rezystor 4.7K jak w datasheet. uklad dziala, ale pokazuje temperatury o jakieś 80 stopni C za niskie. to znaczy jak w pokoju mam 20 stopni, to na lcd mam -60 (około)....
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
Witam właśnie uruchamiam urządzenie z powyższym układem. U mnie w domu temperatura powietrza jest ustawiona około 20*C, na biurku pod lampą i blisko komputera może być oczywiście cieplej. Mam kilka sztuk tego układu, dwa z "nowej" serii i jeden "antyk". Żaden z nich nie był nigdy lutowany. Wszystkie 3 sztuki pokazują temperaturę od około 27*C do prawie...
Trochę mało czasu spędziłem z nową informacją od ciebie. Bynajmniej robię w miarę swoich możliwości uniwersalny termostat. Wiem że programów jest masa. Chcę napisać go samemu i w miarę prosto, by w przyszłości przystosowywać go do własnych potrzeb w każdej chwili. Bazuje na ds18b20 szt.1 (plany by wstawić 4) działa super. Teraz postanowiłem zrobić menu...
Witam, A czy ten kod jest poprawnie napisany? [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7 Config Lcd = 16 * 2 Config Sda = Portc.4 Config Scl = Portc.5 Config 1wire = Portd.6 Config Portd.0 = Input Config Portd.1 = Input Config...
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...
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 )...
Czy przypadkiem zmienna I nie zwraca ci temperatury ujemnej gdy ona występuje? Znak jest zawarty w drugim bajcie => patrz datasheet.
Kasować licznik- a nie przerwania- na początek. Kasować licznik i musisz zastosować dwie flagi, inaczej nie da rady. Jedna sprawdzająca czy już możesz odczytać dane, drugie sprawdzająca czy już możesz wysłać żądanie odczytu:)
Witammój problem polega na tym że podłączyłem do megi termometr i po wywołaniu tego kodu im 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 * 1 Sub Temp 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H33 'komenda convert T Waitms 250 Waitms 250 1wr 'podprogram 1wr 1wwrite &HCC...
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ąć...
(at)opamp: rozkręciłem za pomocą wewnętrznego oscylatora do 8MHz (za pomocą mkavrstudio) i nic to nie dało. Po włączeniu watchdoga "ucina" mi kawałek temperatury, np. kiedy temperatura powinna wynosić 022.3 'C pokazuje mi się 022. albo 3 'C. Tak na marginesie to jednak 30 cm a 2 m to jest lekka różnica ;) (at)tronics: niestety nie pomogło (at)dondu:...
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.
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...
Witam. Ja kiedyś napisałem program który zawierał odczyt z ds18b20. 'tablica temperatury po przecinku Tabtemp(1) = 0 Tabtemp(2) = 1 Tabtemp(3) = 1 Tabtemp(4) = 2 Tabtemp(5) = 3 Tabtemp(6) = 3 Tabtemp(7) = 4 Tabtemp(8) = 4 Tabtemp(9) = 5 Tabtemp(10) = 6 Tabtemp(11)...
Witam mamy taki przykładowy kod: $regfile = "attiny2313.dat" $crystal = 1000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Porta.1 , Db7 = Porta.0 , E = Portd.2 , Rs = Portd.3 Config 1wire = Portd.0 Config Timer0 = Timer , Prescale = 1 Enable Timer0 Enable Interrupts On Timer0 Pobierz_temp Dim wire_read...
Jak najbardziej tak.
Ten program na pierwszy rzut oka jest kompletnie bez sensu. Może zacznij od początku lub zmodyfikuj inny program do swoich potrzeb.
Witam. Sprawdź tutaj: http://www.elektroda.pl/rtvforum/topic57... No i spróbuj w opcji szukaj wpisać "ds1820 bascom"
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)...
usunąłem jedno zero dalej lipa
Masz tu procedurkę odczytu i wyliczenia temperatury. Prościej się nie da. Nie wiem w czym piszesz, ale sama procedura (bascom) jest czytelna.
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...
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...
Ups zapomniałem dodać, że chodzi tu o BASCOM AVR
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.
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...
Gdybym wiedział jak to zrobić w bascom to bym Ci powiedział :(
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ą...
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...
Chwilowo straciłem ten kod postaram się go znaleźć ale opierałem się na projektach z internetu. No bez jaj. Na 99% nic nie masz tylko czekasz na gotowca. Ale dobra, zlituję się na święta :D Pomijając całą beznadziejność kodu do multipleksowania wyświetlacza, takie coś powinno działać: $regfile = "ATTiny2313.dat" $crystal = 8000000 Dim Jednosci...
Jezu, każesz mu najpierw zrobić stringa, potem go pochlastać, a potem z tego inta? Starryyyy BASCOM upośledza;/
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.
odczyt ds18b20 bascom bascom odczyt ds18b20 ds18b20 bascom odczyt
wkrętarkę kupić wykrywanie tablet lenovo cewka napięciowa
regeneracja baterii alkalicznych regeneracja baterii alkalicznych
Electrolux COB8S39WZ – niedopieka od dołu, dolna grzałka nie grzeje, diagnostyka i naprawa Montaż bramy garażowej IsoMatic 500: krok po kroku