Możesz, ale po co? W stanie bezczynności układ praktycznie nie pobiera prądu.
nie zagłebiajac sie w kod, wydaje mi sie ze to jest ten delay_ms. ma prawo wystepowac cos takiego ze siedzisz w delay'u to juz sie zmienil czas ale minie spory kawałek sekundy zanim odswiezysz wyswietlacz.. na test usun delay'a, jak pomoze to zrob to czekanie na timerze
Mam własnie podobny problem, zrobiłem sobie zegar który się wyświetla ale jak dodałem termometr ds18b20 to sekundy zaczęły wyświetlać się co 3 sekundy a zmiana konfiguracji daty jest już niemożliwa bo nic nie reaguje. nie jestem programista czy jest szansa aby ktoś podał jakiś przykład wysyłania danych do nextion tylko jeśli ulegną zmianie, który będę...
Można też równomiernie zużywać pixele wyświetlacza. Załączam przykład do tej płytki z wyświetlaniem temperatur z dwóch czujników DS18B20. Co 10 sekund aktualizacja i wyświetlane wartości temperatury przeskakują w poziomie.
Odczyt jest szybki, pomiar zajmuje 750 ms. Co 2 sekundy wyzwól pomiar wszystkich razem, a po sekundzie odczytaj po kolei każdy oddzielnie.
AVE... Załaduj poniższy plik do swojego PICa 16F886... Podłącz DS18B20 do pinu PORTB.5 Podłącz pin PORTB.0 przez rezystor 470Ω do pinu 2 portu szeregowego, oraz masę układu do pinu 5 portu szeregowego. Odpal jakiś program terminalowy i skonfiguruj go do odbioru danych z portu szeregowego z baudrate=2400. Po włączeniu PICa najpierw otrzymasz numer...
A może za często dokonujesz pomiarów. Spróbuj gdy konwersja temperatury jest co 10 - 20 sekund.
Nie wiem, może jestem pechowcem, ale w moim projekcie od 2017 roku miałem dwa smart plugi Edimax SP-1101w, które po pięciu latach zaczęły piszczeć i przestały działać. Wymieniłem na TP-linki HS110, na razie działają. Tak samo po 6 latach przestały łączyć się do Wi-Fi nodemcu z DS18B20 i musiałem je powymieniać, może były za tanie z Alledrogo za 12 PLN....
Z 8 czujników DS18b20 jesteś wstanie wszystkie pomiary odczytać poniżej 1 sekundy. W czasie konwersji tych 750ms możesz w twoim układzie wykonywać inne czynności, nie czekać na czujniki. W skrócie: 1) Reset magistrali 2) Wyślij rozkaz globalny do pomiaru temperatury we wszystkich czujnikach 3) Czekasz 750ms (w tym czasie robisz sobie inne rzeczy). 4)...
Mógłby ktoś zamieścić ten schemat :) Najlepiej, aby soft był gotowy pod ds18b20
Z dokładnością do tego, że trzeba byłoby mieć nieblokującą obsługę DS18B20, bo inaczej sam odczyt temperatury zajmie 3/4 sekundy.
Witam! Dziś zająłem się uruchomieniem ds18b20 razem z zestawem uruchomieniowym ZL2AVR z Atmega8. Jako przykład użyłem opracowania Cezarego Klimasza "obsługa ds18b29". Eclipse nie pokazuje żadnego ostrzeżenia. Problem jest w tym że nic się nie wyświetla. Zauważyłem że podczas resetowanie procesora tekst wyświetla się na ułamek sekundy. Termometr podłączyłem...
Te "dziwne" zachowanie to co konkretnie? przeskakuje o kilka sekund?
Ja proponuje at89c2051+lcd oparty na hd44780 + ds18b20... Poszukaj na necie jest tego pełno (kod+bin+schemat+pcb nawet). Jak nie znajdziesz to Ci narysuje. PS a masz czym zaprogramować ? Dodano po 59 PS w EDW którymś (bascom college) jest dokładny schemat jak podłączyć... (ja się z tamtąd uczyłem)
Przez nieuwagę podłączyłem na moment odwrotnie zasilanie (dosłownie 2-3 sekundy) ds18b20, zastanawiam się czy uszkodziłem układ. Najgorsze jest to ze nie jestem jeszcze pewny czy program dla uC jest poprawny i po podłączeniu do uC mam 0,0000 na lcd, ale nie wiem czy to wina ds'a czy programu. Co o tym sądzicie?
Witam. Może spróbuj tak po wywołaniu przerwania ( u Ciebie co sekunda) Odczytaj termometr DS. A następnie wydaj rozkaz pomiaru temperatury. W następnym przerwaniu odczytasz go o tak w kółko.
Trzeba zrobić emulator DS18B20 podłączony do urządzenia które chcesz "oszukać". Ten emulator musi sobie "rozmawiać" radiowo z modułem, który będzie np co sekundę odczytywał DS18B20. Do Arduino są biblioteki emulujące między innymi DS18B20 (gdzieś na Elektrodzie był link do nich). Nie wiem czy dział to na przerwaniach, jak nie to będzie problem z komunikacją...
To znaczy że litery i wynik temperatury znika na ułamek sekundy i znów ie pojawia Ustaw poprawnie timer. Miałem to samo. Link: http://www.elektroda.pl/rtvforum/topic20...
Można też zrobić tak: obsluga_termometru: gosub Odczytaj_temperature gosub Inicjuj_termometr return Bez żadnych opóźnień odczytać i od razu zainicjować konwersję kolejnej wartości a wykonywać podprogram np. co sekundę. PC
Witajcie, chciałbym lekko odgrzać kotleta i poprosić o wskazanie błędu przy próbie wyliczenia temperatur ujemnych. Odczytuję czujnik DS18B20 w maleńkim ATTINY13 (zmienne float właściwie odpadają) i co około sekundę wysyłam wynik poprzez UART. Dla temperatur dodatnich - dzięki uprzejmości p. Podkalickiego i jego "odchudzonej" biblioteki DS18B20 działa...
Procesor to Atmega 162, taktowana rezonatorem kwarcowym 8 MHz. Wartość 85 jest zaprogramowana na stałe przez producenta w układzie DS18B20 i pojawia się po podłączeniu zasilania do układu. Układ nie był lutowany, opcja przegrzania nie wchodzi w grę. Jutro spróbuję dodać oddzielne zasilanie i zobaczę co to zmieni. Układ jest odczytywany co ok. 1 sekundę.
Nic nie pomogło. Ani sprawdzenie CRC ani dodanie kondensatorów, zmieniałem też czujnik i mikrokontroler. Jakieś inne propozycje? Błędny odczyt jest co mniej więcej 10-20 sekund.
Po pierwsze nie rozumiem dlaczego odczyt 4 czujników miałby trwać 4*750ms? Przecież po start conversion czekasz te 750ms (albo krócej, przecież masz pooling czujnika) i kolejno odczytujesz 4, ale już bez opóźnień. Więc całość będzie trwała 750ms + parę ms na odczyty. Kolejna sprawa - wykorzystaj timer. Tu napiszę coś co jest radą ryzykowną i być może...
Tu potrzebna jest zmiana koncepcji rozwiązania. Zacznij od skrócenia przerwania obsługi wyświetlacza do jakichś max. 10..12 linii. Co sekundę w obsłudze wyświetlacza inicjuj start pomiaru temperatury, a po np. 800 ms inicjuj odczyt temperatury z czujnika. Całą obsługę DS18B20 zrób w postaci automatu w przerwaniu drugiego timera. Wtedy obsługa DS nie...
Taka modyfikacja nie rozwiązuje problemu ( cykliczny zanik świecenia wyświetlaczy na około 1sek). Kod: Temperatura2: Config 1wire = Portb.4 1wr 'podprogram 1wr 1wwrite &HCC 'komenda skip ROM 1wwrite &H44 'rozkaz konwersji temperatury wait 1 'odczekanie jednej sekundy Return
Podsumowując, używasz GPIO 11, który jest UART TX i: - DHT22 tam działa - Dioda LED (do migania, jako rola Rel lub rola LED) również działa - ale DS18B20 nie działa? Dodano po 34 Może masz włączone PowerSave i trzeba spróbować je wyłączyć?
Znaczy się reset tego licznika czasu?? Podepnij pod któryś pin do masy np pind i przed licznikiem daj If pind=0 to zeruj sekundy minuty i godziny
To będzie termometr do basenu(mierzenie temperatury wewnątrz i zewnątrz). Czyli tak jak pisałem - nie ma sensu robić pomiarów częściej niż co 30 sekund, bo to nic nie da. Temperaturę będziesz mierzyć co najwyżej do 1 miejsca po przecinku, bo jakie ma znaczenie 1/100 stopnia w tym przypadku :) Spokojnie zrobisz to bez USART, choć oczywiście można się...
Jak napisalem wczesniej pomiar czasu odbywa się bez zakłóceń kilka razy na sekundę. Mam Atmegę 32 z kwarcem 16Mhz więc działa to dosyć szybko... :D . Sekundę chcę wykorzystać do wykonania pomiaru z DS18B20 co trochę zajmuje... a odczyt sekund chciałbym miec płynny. Ktoś mi już to w innym temacie proponował, a teraz przyszedł czas na pomoc w rozwiązaniu...
Lcdi lcdpin w zakladce kompilatora. Zapomniałem wybrać typu procka w kompilatorze. Teraz nie widać temperatury a sekundy trwają jakoś dłużej.
a wszystkie 9 bajtów odczytane z ds-a ma wartosc FF ? ewentualnie czas konwersji temperatury zwieksz do 2 sekund
Zrobiłem ten zegar, wg wskazówek kolegi :arrow: Miś dałem wyświetlacze ze wspólną katodą oraz drivery ULN i UDN. Udało się go odpalić. Problem mam tylko z temperaturą, pokazuje mi 85,0 stopni, używam DS18B20. No i dwukropek mi nie mryga, że idzie zegar widać tylko po zliczanych sekundach.
Mam oscyloskop. Kiepski ale jakieś przebiegi do 1MHz pokazuje. Sygnał z DS18B20 co 1 sekundę jest cały czas. Obciążenie wyjścia ma 4k7 tak jak w aplikacji. Wyjście DEB cały czas na 1 (5V) . Nie widzę żadnego sygnału 1 s. DIN - na teście, jest sygnał, potem zero. LOAD na teście jest, potem 1.CLK na teście jest, potem 0. Dodano po 3 Dla sprawdzenia: TINY85,...
Z własnego doświadczenia wiem że czujniki są stabilne. A nie tak jak piszesz ze można mieć 5 różnych odczytów w krótkim czasie. Używam w systemie pomiarowym 70 szt DS18B20 odczytywane są co 15 sekund i wyniki są stabilne. Akurat u mnie nie ma wpływu powiew powietrza czy coś podobnego ponieważ czujniki są wbite w "doniczki" i mierzą temperaturę gleby....
Czytasz jakieś śmieci. Jeden z bajtów powinien być równy 40 (0x28) jest to "DS18B20’s 1-Wire family code".
Cześć, to może być konwerter na 1wire z termometrem ds18b20. Spróbuj digitemp albo usbtemp, albo co jeszcze znajdziesz. Pozdrawiam.
Co do szybkości - Flaga jest ustawiana co 3,21 sekundy [syntax=basic4gl] Czas: Timer0 = Timer0 + 112 ' ( 100 = 1 sekunda ) Incr Licznik_ds If Licznik_ds = 321 Then ' 3,21 sekundy Flaga_ds = 1 Licznik_ds = 0 End If Return [/syntax] czyli pierwsza flaga to wywołanie DS18B20, później znowu 3,21 sekundy i flaga, wtedy konwersja i obliczenia. Zastanawiam...
Zauważ że S3 słuzy do wyjścia z pętli " Loop Until S3 = 0" i zmiany Menu_id " If S3 = 0 Then Incr Menu_id" W procedurze temperatura, odczyt z DS18b20 trwa około 1 sekundy dlatego występuje brak reakcji na klawisz jeżeli przycisk przytrzymasz dłużej to czy procesor nie wykona dalszej części programu i wróci do pomiaru temperatury? spróbuj zmienić " Loop...
Witam, Mam zegarek z czujnikiem temperatury DS18b20 i czujnik co 1 sekundę wpisuje do zmiennej "temp" informacje o temperaturze. Wszystko działa temperatura się wyświetla, jest ok. Nie potrafię zrobić temperatury średniej z 24h czyli z całej doby. Oraz temperatury maksymalnej i minimalnej. Chciałbym to wyświetlać w postaci danych: temperatura max, temperatura...
Czy ten napis "Rozpoczynam temp" znika po tej sekundzie, czy wyświetla się cały czas?
idea dobra ale wykonanie do d... jak urzyje waitms do pomiaru sekundy to jest niestabilna trzeba urzyć timera
Więc co najtańszego mogę tutaj zastosować ? Dodano po 1 Więc co najtańszego mogę tutaj zastosować ?
' 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)...
Funkcja requestTemperatures() jest domyśnie funkcją blokującą tzn. wstrzymuje działanie programu (pętle loop) do czasu uzyskania poprawnego odczytu pomiaru z DS18B20, co może trwać nawet 750 ms. Należy odczytywać więc sensor w trybie nieblokującym i samemu sprawdzać, czy jest gotowy do przesłania pomiaru, w podobny sposób, jak to robisz ze zliczaniem...
taktowanie procesora: 16MHz atmega32a main.c: [syntax=c] int main(void) {/* sprawdzamy ile czujników DS18xxx widocznych jest na magistrali */ czujniki_cnt = search_sensors(); /* wysyłamy rozkaz wykonania pomiaru temperatury * do wszystkich czujników na magistrali 1Wire * zakładając, że zasilane są w trybie NORMAL, * gdyby był to tryb Parasite, należałoby...
Witam Do kolegi MarasK Witam nierozumiem zabardzo odcinanie zasilania na 2 sekundy czyli pomiar robisz co 2 sekundy?Mógłbyś coś bardziej rozwinąć temat co i jak? Pozdrawiam
Czyli w pętli bez interwału, to słabe jest. Czy tak częste odczyty sa kluczowe w tym projekcie ? sugerowałbym max kilka na sekundę, a bardziej 2, czyli co 500ms. Pozdr
Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...
Zobacz tutaj If Flaga_przygotowanie_odczytu = 1 Then Incr Liczniczek_przygotowanie_odczytu [...] -----Breakpoint;)------- Flaga_przygotowanie_odczytu = 0 End If No i tak, powiedzmy że w miejscu które pokazałem program siedzi 2 sekundy. Przerwań było od groma, a Tobie zmienna tylko raz się podniosła. Dlatego takie rozwiązanie jest złe. Musisz...
Usunąłem dwie linie: [syntax=basic4gl] I2cstart 'powtórz warunek startu I2cwbyte &HA2 'Adres zapisu [/syntax] ale brak różnicy Ten kod zapisu podają również w samplach Bascoma ( co prawda tam zapis i odczyt jest w pętli FOR .. NEXT). I generalnie się sprawdza. Podobnie jak w przypadku Atmega8 + LED na MAX7219 - tutaj działa jak trzeba. Nawet dla testu...
Gdy wyświetlasz temperaturę, ustawiaj kursor tylko raz, np : O kurde - dlaczego na to nie wpadłem... Przecież kolejny "print' będzie tam, gdzie skończył się poprzedni. A ja definiowałem miejsce wystąpienia 'C na nowo... wykorzystaj funkcję millis() Jeszcze jej nie znam - zaraz będę czytał. A czy te moje "delay" kilka razy w pętli nie "popsuje" tego...
Jest to pomysł, aby nadać pewne priorytety czynnościom. Np. dla mnie ważny jest zapis, więc może dam dodatkowy warunek - sprawdzanie stanu pinu, który steruje zapisem ( CS_SD ) i gdy jego stan niski to blokować działanie innych podprogramów. Samo wykonywanie po kolei może się do końca nie sprawdzić, bo np : - DTH11 co 2 minuty - zapis SD co minutę -...
Można zrobić wyświetlacz bez multipleksowania na dwóch rejestrach przesównych i odświeżać go co np sekundę, wtedy jest dużo czasu na resztę programu.
Wiem o tym, mi chodzi to że muszę odczytać temperaturę z DS18B20 i wyświetlić ją na stronie, chce się tym odczytem zająć co kilka sekund w przerwaniu żeby nie tracić czasu podczas wysyłania strony.
już dopisałem do programu... Dodano po 55 czekam na część główną... :D
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...
Pomogło ale połowicznie. Pokazuje mi sie temperatura 0 stopni. Poprzednio było "brak czujnika" dzięki dalej bede walczył Dodano po 48 Może mam uszkodzony czujnik temperatury ?
Kłania się po prostu - najprostsza matematyka ;) masz np liczbę 123 i chcesz wyodrębnić poszczególne cyfry żeby je po kolei wrzucić na wyświetlacz LED 1. dzielisz liczbę 123 przez 100 - resztę z dzielenia odrzucasz i pozostanie ci cyfra odpowiedzialna za setki czyli 1 - prawda ? ;) 2. odejmujesz od liczby 123 liczbę 100 - bo wyżej już wykonywałeś dzielenie...
Chyba czas 30 sekund podświetlania LCD nie jest tak istotny, jak poprawnie działający program. Skoro program działa poprawnie to olej te 30 sekund, albo sobie to ustaw w programie. Nie miej pretensji do autora programu, bo pewnie przewidział taką tolerancje czasu podświetlania LCD. Jak dla użytkownika może być czas podświetlenia LCD w granicach 10 -...
piszesz o odległości pomiędzy przekłądnikiem a PZEM ? Tak upchałem to w rozdzielni moduły PZEM w obudowach przykleiłem na plastikowej płytce i obok nich NodeMCU do przekładników przewody mniej niż 50cm. Obsługuje to tasmota. AFE używam do Sonoff 4ch, czujników DS18B20 itp. ESP Easy jakoś nie rozkminiałem nigdy. Masz jakieś ciekawe skrypty do Domoticza...
Chyba już wiem co może być, tylko nie wiem gdzie jest źródło problemu. Doczytałem się, że po zerowaniu po włączeniu zasilania bajty odczytu temperatury są ustawiane na wartość 85.00 stopni i tę wartość udaje ci się odczytać z rejestrów DS18b20 (co świadczy, że procedury odczytu działają poprawnie). Doczytałem się jednak też, że w układzie zasilania...
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...
Sprawdzilem Twoj program :) ale nadal to samo... zmienilem w nim jedynie: Config 1wire = P2.0 na P2.3 Dzisiaj kupilem nowy DS18B20 i chyba dostalem lipe :// napiecia sie zgadzają rezystor 4,7k dałem pomiedzy P2.3 a + zasilania Pozdrawiam dzieki za zainteresowanie :) Dodano po 43 wynik jaki widac na LCD to -0.0
netsecurite.pl - czytaj uważnie . Nie napisałem , że nie korzystam z timer'ów , ale jaki jest sans obsługi przerwania przez 2 sekundy (WAIT 2) gdy timer wywołuje przerwanie co np. 2milisekundy ?
Ja zadam takie pytanie, moze ktos ma doswiadczenie w tej kwestii: czy pomylenie (odwrocenie) polaryzacji zasilania dla DS18B20 w kazdym wypadku uwala ten czujnik wlasnie w ten sposob, ze ten odpowiada na presence, ale temp. juz nie podaje ? Wstyd sie przyznac, ale podejrzewam, ze moglem kazdy z tych czujnikow tak uwalic podlaczajac odwrotnie zasilanie...
Jeśli czujnik masz podłączony normalnie na trzech przewodach to problemów z zasilaniem nie będzie. "Problemem" był brak odczytu danych przez mikrokontroler, a przecież czujnik (slave) sam niczego nie wyśle. Jeśli dobrze widzę, to czujnik "przedstawił" się raczej jako DS18B20, nie S.
Może trochę przesadziłem z tymi krótkimi przerwaniami. Oczywiście, że w przypadku przerwania z ADC zapisuje wynik w tablicy (ewentualnie go przeliczam), zmieniam kanał itp. Głównie chodzi mi o "problem" z bardziej czasochłonnymi operacjami typu fft, wykresy, ewentualne filtry. Timera używam np. do odświeżania wyświetlacza, obsługi DS18b20 który potrzebuje...
Myślę że po stronie urządzenia częstotliwość odświeżeń pomiaru wyznacza właśnie DS18B20, po stronie sieciowej jeżeli dane trafiałby po Wi-Fi poprzez router np. do smartfona i wszytko było w jednej podsieci mówimy pewnie o opóźnieniach rzędu kilku-kilkunastu ms między wysłaniem danych a ich odebraniem, jeżeli dane będą wędrować poprzez sieć WAN w zależności...
opożnienie jest zawarte w etykiecie wyswietl petla wykonuje sie 125 razy wiec może w sumie wyjsc 750ms Dodano po 57 wykasuj te waitms 750 i sprobuj wtedy
A ja zapytam o to "usunięcie podtrzymania bateryjnego". Mam rozumieć, że po wyjęciu wtyczki z gniazdka sieciowego wszystko się "zeruje"? Byłby to krok wstecz w tej konstrukcji. Wypuszczę się i odpowiem za autora ale dokładnie tak, i może to być problematyczne ale może u autora nie często prąd wyłączają albo ma np w pokoju UPS'a i podpięty zegarek,...
Zrobilem test na opoznienie prawidlowo daje 3 sekundy na 16000000 F_CPU, ale gdy w swoim projekcie zmieniłem opoznienie na 16000000 F_CPU nadal pokazuje -0.1 ;/
Fyszo - czujnik nagrzewa się sam z siebie wisząc w powietrzu. Przepowadziłem próbę z częstością odczytu równą 3 sekundy, oto sekwencja: 1. Normalna praca termometru, wyświetlane jest stabilne 16,0'C 2. Wchodzę do menu nastaw na 60 sekund 3. Po wyjściu zastaję 15,6'C które rośnie do 16'C czyli temperatury sprzed wejścia do menu. Jak widać wydłużenie...
Po co te klawisze w przerwaniu sprawdzasz ? I czemu tak dużo jest w tym przerwaniu .Licz tam sobie tylko czas , a sprawdzanie klawiszy zrób w pętli głównej. Odczyt ciśnienia, temperatury i wilgotności musze zrobić z przerwami, wiec klawisz w tym czasie nie sa obsługiwane.. wilgotność mam z przerwa 1s, ds18b20 podobnie, ciśnienie raz na sek, wiec wszystko...
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...
Bo masz _delay_ u s(800);//750. A powinno być _delay_ m s(800);//750. Dopiero to zauważyłem (Ale za to w 3 sekundy :D Zaraz po tym jak zobaczyłem że napisałeś że nie działa).
Wiem że "delaje" nie są dobre, sam w swoich urządzeniach to sporadycznie _delay_us używam, a tak to timer. Ale mimo wszystko początkujący nie zrozumie chociaż tej jednej linijki: [syntax=c] else if (utimer && -- utimer == 0)[/syntax]A to że nigdy nie używałeś to tez nie prawdę mówisz bo zanim znalazłeś tą wzmiankę o "delajach" to już musiałeś go raz...
Witam, też myślałem że można sobie dowolnie zamieniać czujniki DS1820 z DS18B20. Ale zrobiłem tak i temperatura była przekłamywana. Z tego co wyczytałem w karcie katalogowej to jest różnica w czasach dostępowych w DS1820 to 500 ms a w DS18B20 to 750 ms ( w Bascomie). Jeszcze nie poprawiłem swojego programu ale jak to zrobie to dam znać czy zadziałało....
Da rade do tego dorzucic termometr jesli tylko umiesz oprogramowac. Jeden pin jest jeszcze wolny. Ja mam wersje z sekundnikiem i od jakiegos miesiaca sie zbieram zeby wlasnie na ten wolny pin dorzucic ds18b20 ;) Dodano po 46 A gdzieee... ze 2 miechy juz sie do tego szykuje... az wstyd (ale moze po sesji sie wezme).
http://obrazki.elektroda.pl/3811482100_1... Chciałbym zaprezentować prosty termometr działający w oparciu o czujnik temperatury DS18B20, moduł Digispark oraz pojedynczy wyświetlacz HP5082-7356. Głównym zadaniem konstrukcji jest umożliwienie monitorowania temperatury w mieszkaniu. W urządzeniu został wykorzystany czujnik DS18B20, który...
Natychmiast, to raczej nie - DS18B20 potrzebuje czasu na przetwarzanie. Ale można tak: za każdym razem, gdy algorytm czytania z DS18B20 wymaga, żeby zaczekać, zrobić wyświetlenie 1 cyfry wyniku (przy kolejnych wywołaniach kolejne cyfry) i odczekać np. 0.01 sekundy - pewnie to wystarczy do sensownego pokazywania. I można czytać "w kółko": po zakończeniu...
CRC? Ja programuje w BASCOM jak coś. Dodano po 56 Pozatym, zrobiłeś to na zwykłym przewodzie telefonicznym płaskim czy jak?
Poprosiłem o konkretne podpowiedzi, dostałem polecenie przeczytania 2000 postów :| Proszę, mniej sarkazmu, więcej konkretów. Dodano po 58 Konkretnie: Atmega8 + 2x DS18b20
Po pierwsze odpada drugi procek. Po drugie temperatura jest na ds18b20 i konwersja jest ustawiona na 750ms. Po trzecie zegar wyświetla co do sekundy więc setne nie są istotne. Chcę tylko żeby mi sekundy wyświetlał ładnie, a nie z różną częstotliwością (zacina się na jakiejś, potem nagle przeskakuje szybciej). Wolałbym na przerwaniach...
http://obrazki.elektroda.pl/1982519400_1... Witam. Nie wiem, czy jest się czym chwalić, ale przedstawię swoją ostatnią konstrukcję. Jest to urządzenie do zdalnego przesyłania temperatury. Służy do kontroli temperatury na kotle podajnikowym, temperatury za zaworem trójdrożnym, a także temperatury w domu i na zewnątrz. Składa się ono...
Przyjąłem że masz przycisk chwilowy a przekaźniki sterowane stanem wysokim. Tutaj poprawki : [syntax=c]#include <OneWire.h> #include <DallasTemperature.h> #define PIN_SENSOR 7 // pin do ktorego podloczono DS18B20 #define PIN_PK1 4 // pin sterujacy przekaznikiem 1 #define PIN_PK2 5 // pin sterujacy przekaznikiem 2 #define PIN_PK3 6 // pin...
Jeśli termometr będzie w przerwaniu np co 1 sec, to możesz usunąć : " Waitms 750 'przeczekaj czas konwersji" To opóźnienie będzie tylko spowalniało powrót do pętli głównej. Konwersja i tak się dokona bo przecież program będzie tam skakał co sekunda. Różnica jest tylko taka, że przy pierwszym włączeniu zasilania do układu termometr pokaże 85 stopni....
Witam mam taki problem potrzebuje zrobić znak stopnia w C (małe kółeczko :) ) napisałem program na ds18B20 w C Dodano po 50 Dodaje że znaczek ten ma się wyświetlać na LCD
Czy ktoś jest w stanie przeprowadzić jeszcze jakieś testy jak dziś lub jutro? W600+DS18B20, W800+DS18B20 itp? Właśnie przetestowałem sterownik W800+DS1820 (LN882H+DS1820 już działał dobrze): Działa jak urok, moim zdaniem W800 był najbardziej niezawodną platformą pod względem taktowania i DS1820 i mogę potwierdzić, że nadal działa bardzo dobrze (ponad...
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
U mnie jest 8 czujników DS18b20 (każdy ma swój osobny port w procesorze). Najdalszy czujnik jest oddalony około 50m od procesora, z czego połowa kabla to skrętka a druga połowa to kabel antenowy zakopany w ziemi równolegle z zasilającym 230V. Oczywiście CRC jest wykorzystywane, ale wszystkie odczyty przychodzą bezbłędnie. Od strony procesora podciąganie...
Nic z tego. Odinstalowałem stare sterowniki. Zainstalowałem te podane z linka. Najpierw było w menedżerze urządzeń, że są nieprawidłowe, a sekundę później Windows sobie doinstalował swoje i pisze, że prawidłowe. Niestety nie działa dalej :/
Może ja wyjaśnię jaśniej. Generujesz przerwanie od timera np. co 800ms, czy 1s. I w przerwaniu wykonujesz operacje: 1. Odczyt temperatury do zmiennej 2. Komenda Convert_T Odpowiadając na Twoje pytanie - 750ms to MINIMALNY czas między CONVERT_T a odczytem (dla 12-bit). Więc odczyt po 1, 2, 3600 sekundach po CONVERT_T nie jest błędem. Dzięki takiej metodzie...
A mierzenie temperatury działa? i jeszcze mam dwa pytanka na czym polegało by napisanie zegarka godziny minuty i sekundy obok temperatury? i jak sprostowac sygnał z cewki dla uc?
Ale jakie odmierzanie czasu? Teraz w programie nie ma żadnego opóźnienia typu wait. Zresztą problem został rozwiązany w 99%, mam tylko malutkie, prawie niezauważalne mignięcia pojedynczych wyświetlaczy i to raz na 10 sekund. Nie wiem tylko co będzie jak dorzucę do układu DS1307?
Po wstawieniu tego opóźnienia serwo co kilka sekund zmienia swoją pozycję z jednej ustawionej do 2 i po kilku sekundach wraca i tak cały czas. Edit. Po ustawieniu większego czasu późnienia serwo się uspokoiło ale nadal nie reaguje na wzrost temperatury. Edit 2. Zauważyłem ,że sterownik zachowuje się jakby temperatura była za wysoka w stosunku do tej...
Mam problem z termometrem DS18B20. Zasilany trzema przewodami. Podciągnięty do Vcc przez 4,7k. Mikrokontroler ATMega32 - 8 mHz. Odczyt co sekunda. Prawidłowy. Wszystko działa. Aż do czasu. W ciągu 4 miesięcy już trzy razy awaria. Błędny odczyt. Grzanie kontrolera i nagrzanie czujnika chyba powyżej 100 stopni (poparzone palce). Po wyłączeniu i ostygnięciu...
pół stopnia dostaniesz z LM35A lub LM35CA (16zł w TME) musisz tylko użyć lepszych wzmacniaczy operacyjnych. Taki OP07 kosztuje poniżej 1zł i ma offset 0.15mV max. Pomyśl też nad dokładnym napięciem referencyjnym. Czemu ci przeszkadza czas konwersji DS18B20? LM35 ma podobny czas odpowiedzi - stałą czasową rzędu sekund, zasadniczo pomiar temperatury co...
przy DS18b20 uzywam tylko lini dwu przewodowej i w odleglosciach od 10cm do 50m dziala bezproblemowo jedymie co jakis czas resetowal mi sie ds i wyskakiwala temperatura 85stC obszedlem to najlatwiej przez ignorowanie przez sterownik tej temperatury linie data podciagam rezystorem 4k7 lub tez robilem podciaganie tranzystorem w czasie konwersji temperatury...
Wiesz jaka jest różnica między 3 + 1 a 3 | 1 ? Pojechałeś za daleko. W przykładzie, do którego się odnosisz mamy dodawanie dwóch liczb uint16_t, z których jedna ma wyzerowany młodszy bajt, a druga starszy. Napisz proszę czym się wtedy różnią te operacje. Albert Ustawieniem rejestrów stanu procesora po operacji:) Dodano po 14 BTW, coś wygrałem ?:)
Moja propozycja - wystarczy rezystor podciągający 4k7 i nie komplikujesz sobie układu i programu. Dla jednego czujnika dawanie tranzystora i bawienie się w strong pull-up to przerost formy nad treścią. Poza tym przy jakimś błędzie w działaniu mikrokontrolera możesz wykończyć port 1-wire. Jak zależy Ci na niezawodności to czekaj na konwersję 1 sekundę...
setne sekundy timer sekundy atmega32 sekundy
zamiennik tda7560 gaznik zalewa silnik creative inspire p5800 subwoofer
Pasek napędowy 1200 J5 do pralki Polar PS 663 Bio – dobór, zamienniki, montaż Kod błędu E2 w urządzeniach elektronicznych