http://obrazki.elektroda.pl/5851782000_1... Jako że sezon na kąpiele w ogródku się rozpoczyna, to być może ktoś skorzysta z mojego opisu podgrzewania wody w basenie ogrodowym. Ogrzewanie skończyłem w zasadzie w maju i pod jego koniec i jakieś trzy dni po zalaniu 13-stopniową wodą miałem temperaturę 26 stopni, ale od początku... Na opis...
Oto spojrzenie na wnętrze inteligentnej wtyczki Tuya BSD29 UK 20A z możliwością pomiaru energii. Odlutuję główną płytkę PCB, moduł, a następnie sflashuję go, aby uruchomić OpenBeken, odcinając go od wszystkich usług w chmurze Tuya. Dodam również czujnik temperatury DS18B20, aby można było zmierzyć temperaturę wewnątrz obudowy. Ten czarny BSD29 został...
Jak np mam kilka innych procedur które zabierają dużo czasu. Np pomiar ds18b20 albo wyświetlanie na LCD a chciałbym je wykonywać co pewien ściśle określony czas.
Nie bardzo mam teraz ochotę zgłębiać kod ponownie, ale pamiętam że w Twojej wersji Timer odmierzał czas 20s i kiedy nadszedł czas to w przerwaniu mierzył temperaturę Dallasem DS18B20 i w dodatku pisał od razu po wyświetlaczu :D Dlatego jedną ze zmian było to, że Timer tylko ustawia flagę by dokonać pomiaru i go wyświetlić. Tak więc dopóki nie jesteś...
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...
Wkradł się bład przy wpisywaniu. Fuse Bity E4 D9 a nie 99 bo to pokazuje jasno na Twoim screenie Watchdog Always On :D Wyswietlacz nawet bez nadajnika ma wyświetlac po starcie trzy poziome kreski. W programie łatwo odczytać że żeby ustawić zero na wyświetlaczu procesor podaje masę na sześć segmentów. Wspólna końcówka wyświetlacza jest sterowana poprzez...
Przydał by się kod programu... Jeżeli wyłączasz timer to po jego ponownym włączeniu zaczynasz pewnie liczyć od 0 pomimo, że nie udało się doliczyć do potrzebnej wartości licznika. Ale to tylko przypuszczenia...
Timer w przerwaniu obsługuje wyświetlacz LED i inkrementuje zmienną byte, która w pętli głównej w instrukcji Case wybiera konkretne funkcjonalne fragmenty programu do wykonania, których wykonanie czasowo mieści się pomiędzy przerwaniami od timera. W przerwaniu od timera ustawia się także flaga przerwania, która uruchamia za pomocą If Then instrukcję...
... Przecież o to mi chodziło- jak pozbyć się wait albo w C- _delay. Jakiś czas temu, napisałem taki prościutki program na M8, w którym "delajów", "waitów' i.t.p flag nie uświadczysz, nawet programu głównego nie ma . Jest to termometr na jednym DS18B20 i czterech wyświetlaczach 7-seg. Program jest na tyle prosty, że ... no comment :-P $regfile = "m8def.dat"...
Proszę bardzo, przykładzik jest lekką modyfikacją liczenia czasu w przerwaniu z książki Wiązani. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 On Timer0 Przerwanie Dim Licznik8ms As Word Dim Flaga As Bit '1 juz czas, 0 jeszcze nie Enable Interrupts Enable Timer0 Load Timer0 = 250 Do 'wyslanie komendy...
Co do książki : to czy przeoczyłem czy nie ma w niej wzmianki o Watchdog-u ? Jest ale tylko bardzo króciutka i teoretyczna wzmianka, na stronie 53. Jest to dość prosty moduł mikrokontrolera - taki jakby timer, który jak wystartuje i doliczy do końca to BUM czyli reset procka. A jak nie chcemy resetu to wciąż musimy w programie resetować ten timer żeby...
Z polaroida wydłubujesz płutkę z sonarem (google: polaroid 6500 - tak nazywa się płytka nie aparat). Są trzy rodzaje płytek. Dwie z nich podłączasz bezpośrednio do procka, natomiast trzecią musisz wstawiś jakiegoś scalaczka - bez problemu znajdziesz opis w sieci. płytkę łączysz z uC trzema liniami: zasilanie "+", send i echo. Inicjalizujesz - dajesz...
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...
Na pierwszy rzut oka w Twoim kodzie, jak i u autora, nie ma żadnej manipulacji trybem wyjścia portu - pinu. Po wrzuceniu tego na STM32F722RE okazuje się, że nie ma to znaczenia. Przy ustawieniu trybu pinu na wyjście z open drain, odczytanie rejestru IDR daje poprawne działanie, bez zmiany trybu na wejście. Sprawdziłem to na porcie A i pinie PA0. Nie...
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...
W bascomnie ciężko zrobić LED + Ds18b20 wszytko psuje Waitms 750. Zwiększ do 8 a jak możesz do 16MHz kwarc. A od kiedy to musimy czekać 750ms nie robiąc nic innego? Od czego mamy timery? Przepraszam najmocniej Kolegę, ale jeśli Kolega tego zrobić nie potrafi to: 1. Nie oznacza że się tego zrobić nie da - ja nie potrafię zbudować komputera klasy PC...
No to tak: Jeżeli dobrze czytam program to masz 4 przyciski, timer ustawiony tak aby przerwanie od niego występowało co 50 Hz i nic poza tym. Używasz tylko przerwania od Timera - boisz się innych? Czy może to tylko nieznajomość AVR. Aż prosi się żeby przyciski działały pod INT0 / 1 - zewnętrzne przerwanie i po kłopocie. Następnie _delay_ms(750); zamienił...
$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 '-- Wejscia przycisków Config Portd.2 = Input Config Portd.3 = Input ' -- podciągnięcie Set Portd.2 Set Portd.3 ' -- porty sterowania segmentami LED Config Portd = Output Config Portc.5 = Output Config Portc.4 = Output Config Portc.3 = Output Config Portc.2 = Output ' -- tranzystory Config...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
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...
http://obrazki.elektroda.net/60_12870844... Witam. Termometrów na elektrodzie było już dużo, w tym projekcie nie ma nic specjalnego, poza tym że wykorzystuje w miarę nowy procesor LPC1343. Projekt umieszczam w sumie tylko po to żeby podzielić się źródłami. Mam nadzieje że komuś się przydadzą. Jak wiadomo, kto stoi w miejscu, ten się cofa....
Jest Timer ktory odlicza czas do kolejnego spotkania?
Do tej pory ukazały się następujące części: TEMAT Arduino LCD NexTimer, recvRetNumber, NexTouch, attachPop number, timer, get, printh, if-else, font - BUTTON - TEXT - TIMER - operator if - zmienne systemowe SYS0, SYS1 - array component b - biblioteka SODAQ_BMP085 - setValue - NexTouch - obiekt NexNumber - pole number - pole text - getValue - setValue...
http://obrazki.elektroda.pl/8342911300_1... ESP8266-12E tym razem będzie to NodeMCU Amica . Po umieszczeniu poprzedniej części materiału: DS18B20 komunikujący z wykorzystaniem cyfrowej magistrali 1-wire . W porównaniu do analogowego TMP36 na magistrali 1-wire może pracować kilka czujników. Warto zwrócić uwagę na długość (pojemność)...
(...) odczytu temperatury. Jaki zaproponowałbyś kod (AVR GCC), aby nie trzeba było używać delay'a (może pooling lub maszynę stanu) ? Przy okazji przedstaw optymalną (bez zmiennoprzecinkowych liczb) konwersję danych ze scratpad'a na stopnie (może być złożeniem liczb całkowitych jako stopnie i części ułamkowe). Do obsługi termometrów DS18B20 bez blokowania...
http://obrazki.elektroda.pl/7995180000_1... Witam! Jakiś czas temu rozpocząłem naukę pisania programów na mikrokontrolery AVR w języku C++. Przeczytałem wiele tutoriali, poradników, itp., aż w końcu doszedłem do pisania własnych, prostych programów. Po kilku takich „pseudoprogramach” zdecydowałem, że teraz czas napisać coś...
Ładowarek dla akumulatorów samochodowych istnieje mnóstwo, ale w większości są to zwykłe prostowniki z nieskomplikowaną automatyką i wyświetlaczem. Nie każdy pozwala ocenić pojemność akumulatora i zaplanować jego ewentualną wymianę na nowy. Opisana poniżej konstrukcja daje taką szansę oraz ma inne przydatne funkcje. Teraz możliwe jest dokładne określenie...
http://obrazki.elektroda.pl/4883645800_1... Niniejsza wytrawiarka powstała z konieczności, moja dotychczasowa mniej więcej 25-letnia wytrawiarka w formie kuwety fotograficznej na przyklejonych kółkach, kołysanej silniczkiem od programatora zaczęła się już rozpadać, poza tym od początku miała pewne ograniczenia, od braku podgrzewania...
http://obrazki.elektroda.pl/7540445100_1... Witam serdecznie. Przedstawiam projekt mojego autorstwa - mini sterownik akwarium (zawiera tylko najpotrzebniejsze funkcje). Układ elektroniczny nie posiada jeszcze obudowy. Szczegółowe informacje dotyczące urządzenia publikuję również na Cele Celem projektu jest budowa sterownika akwariowego,...
Oba kody mają być identyczne? Jeśli tak, to dlaczego: - Raz piszesz [syntax=c]if(HAL_GetTick() - DS18B20_timer > 2000)[/syntax] a raz [syntax=c]if(HAL_GetTick() - DS18B20_timer > 500)[/syntax] - W tym warunku masz też reset IWDG, który raz ustawiasz [syntax=c]hiwdg.Init.Prescaler = IWDG_PRESCALER_64;[/syntax] a raz [syntax=c]hiwdg.Init.Prescaler = IWDG_PRESCALER_8;[/syntax]...
JA: Czy w tym programie zachodzi potrzeba zastosowania WatchDog. Jak duża jest możliwość zawieszania się programu przy pracy ciągłej? Claude Opus 4.1PRO: WatchDog nie jest prawidłową nazwą. Powszechnie używa się nazwy (WDT) WatchDog Timer Analizując przedstawiony kod termostatu, mogę ocenić potrzebę zastosowania WatchDog Timer (WDT) z kilku perspektyw:...
Fajne ale strasznie to przekombinowane, w tym projekcie nie jest potrzebne nic poza kilkoma rezystorami i stabilizatorem z możliwie niskim "quiescent current". ESP32 jak się powyłącza większość peryferiów a zostawi tylko timer do wybudzania to schodzi to kilku µA. Używam tak zasilanych esp8266 i tam udaje się zejść do 80µA i czujnik ds18b20 wysyłający...
Wpadł mi w ręce uszkodzony tuner TV-Sat Echostar DSB-717 i postanowiłem jakoś go wykorzystać. A właściwie nie cały, tylko płytkę z wyświetlaczami i mikrokontrolerem ATTiny2313. Układ mierzy temperaturę w 6 punktach z wykorzystaniem czujników Dallas DS18B20 przy rozdzielaczu co na podłogówkę i grzejniki. Mierzę temperatury: - zasilania i powrotu z podłogówki...
Timer0 jest 8-mio bitowy a preskaler ustawiłeś na 1. Czyli 1Wire ma tylko 256 cykli. A potrzebuje kilkaset tysięcy żeby coś zdziałać z czujnikiem DS18B20. To ma działać w tle? Ładne mi tło: 1wreset 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE Ja bym preskaler ustawił na 1024 i kod napisał tak*: Dim Pobierz_temp_counter As Byte...
Oczywiście, ktoś kto robi wyświetlanie temp. na multipleksowanym LED, kombinując jakoś to połączy. Ale jak już będzie chciał przez PWM na tym LED zrobić regulację jasności to pojawi się problem. No ale ja się całkowicie zgadzam. Po prostu zawsze się dziwię, gdy ktoś nagle zachwala jedno rozwiązanie nad innym nie biorąc pod uwagę w ogóle czynników,...
Witam wszystkich! Pewnie pomyślicie "znowu to samo", no ale zlitujcie się w Wigilię i przeczytajcie te kilka zdań :D Walczę z problemem od kilku dni. Nie potrafię skonfigurować Timera by konwertował dane z 1wire poza główną pętlą. Nie mogę sobie pozwolić na waitms, bo wtedy mam problemy z poruszaniem się w menu. Mam już działający Timer1 odliczający...
Ten plik o ile się nie mylę to jest sama biblioteka, w dodatku niekompletna ponieważ kompilator wywala całą masę błędów :/ Edit. I jeszcze jedno znalazłem kolejny przykład spróbowałem skompilować i tym razem dzieją się takie cuda: http://scr.hu/8e6i/jt5tp kody: DS18B20.h [syntax=c]#ifndef DS18B20_H #define DS18B20_H /* DS18B20 przyłączony do portu PA0...
Dobry wieczór. Przepraszam za tak dużą zwłokę, ale ostatnio miałem zakuwanie na egzaminy szkoleniowe do pracy i nie miałem kompletnie czasu by myśleć o tym:( Musiałbyś pokazać przykład swojego programu. Najpewinej efekty o któych piszesz wynikają z tego, że nie korzystasz z peryferii mikrokontrolera - m.in. timerów, przerwać itd. A na siłę starasz się...
https://obrazki.elektroda.pl/9798266800_... Zwykle przy przeglądaniu nagromadzonych skarbów w postaci części el. przychodzą mi do głowy pomysły ich wykorzystania. Tak było i tym razem. Z jakiegoś starego projektu została mi para nadajnik/odbiornik 434MHz OOK, attiny13 i kilka DS18B20, pomyślałem że na tej bazie zmajstruję prosty bezprzewodowy...
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 ?
http://obrazki.elektroda.pl/5579487800_1... Witam wszystkich. Chciałem podzielić się swoją modyfikacją programu, schematu oraz płytki pcb zegara, który cieszył się sporą popularnością na elektrodzie, dokładnie tutaj: http://www.elektroda.pl/rtvforum/topic44... Oto co zmieniłem: - dodałem obsługę jednego czujnika DS18B20 - wyeliminowałem...
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ć...
https://obrazki.elektroda.pl/6483751800_... Witam, PROJEKT ostatecznie ukończony :D wersja ostateczna programów dla płytek MASTER Arduino Mega2560 i SLAVE ESP8266-12E Testowałem urządzenie przez kilka dni, w międzyczasie dokonałem kilku przeróbek, jak w kodzie tak i w połączeniach PIN itp. Usunięte zostały wykryte błędy, najważniejsze to...
Takie delay, nawet na timerach są zawsze problemem w systemie w którym intensywnie korzystasz z przerwań. Lepiej wykorzystać timer do sprzętowego generowanie impulsów o potrzebnym czaise trwania lub właśnie UART, który wykorzystujesz do tego celu. Tak jest najprościej i nie trzeba kombinować.
"Od samego początku mam problem ze sterownikiem."...."A jeszcze jedno w kontrolerze jest włączony timer jako counter do zliczania impulsów ślimaka podajnika Przerywasz w programie procedurę wyświetlania na LCD przerwaniem od Timera.
licencja zabrania sprzedawać urządzenia będące slave'ami 1wire Zastanawia mnie ocena tego postu przez innych użytkowników - w chwili pisania mojego postu było to -5 :D Do autora: Do jakiego pinu procesora podłączyłeś emulowany pin 1W? W sensie czy wykorzystujesz jakieś sprzętowe peryferia typu przerwania zewnętrzne/ timer a może jeden z istniejących...
Próbowałem zamiast dawać Waitms 250 jakieś Do loop until a = 2 i żeby a było zliczane przez timer ale to też nic nie dało
Witam. Przecież dokładnie to samo napisałem, plus to jak wykonać te procedury co określony czas ustawiajac timer. Można oczywiście ustawić od razu timer na 1s, tyle że u mnie on jeszcze odpowiadał za multiplex wyświetlacza 7LED. Grzesiek.
Witam. A ja wiem, iż DS18B20 mają tolerancję +- 0,5 stopnia. Sprawdzałem z termometrem fabrycznym (elektronicznym) w zakresie 10 - 30 stopni. DS18B20 ma rozdzielczość 0.065C przy 12bitach rozdzielczości i czasie konwersji 750ms Hmm czas konwersji DS'a zależy od rozdzielczości z jaką odczytujemy temperaturę Ja odczytuje temp z 64 dsów w czasie 1s wszystko...
Podałem wyraźnie, że oprogramowanie napisałem w WinAVR ;) Nie uznaję czegoś takiego jak bascom (wystarczyło mi raz w życiu się na nim przejechać...). Przedstawię "odchudzone" kody źródłowe - aby były całkowicie funkcjonalne należy troszkę dopisać. Ogólna idea jest przedstawiona. Sam main w programie jest niewielki. Dla przykładu pokażę jak zrealizowałem...
bascom ds18b20 timer termostat ds18b20 ds18b20 mirekk36
kondensator mniejszy zasilacz słuchawki mikrofonem laptopa pomiary przekładników prądowych
termica trwałość lodówka ladycook
Kolory przewodów w szynie CAN Mercedes W211 Lokalizacja sterownika świec żarowych Audi A6 C5 1.9 TDI 1997