Najprościej, to jeśli nadajnik nic innego nie ma do roboty to wstaw delay(100) do loop, czy jakąś mniejszą/większą wartość, która dla działania układu ma jeszcze jakiś sens. A ten delay w nadajniku da czas odbiornikowi na przetworzenie danych i wykonanie akcji zanim nadlecą kolejne dane. To samo możesz zrobić używając do odmierzania czasu millis lub...
Należy to zrobić na przerwaniach. Podział 1/32 akurat w tym wypadku nie będzie chyba dobry bo będzie trzeba odmierzać czas z dokładnością 50pikoSekund Przy podziale 1/1 to już "tylko" z dokładnością 5uS. Szukaj "arduino timer interrupt"
A jakie są priorytety przerwań? Do odmierzania czasu musi być przerwanie o wyższym priorytecie, inaczej zostanie zaburzone przez inne przerwanie.
RTC, o którym piszesz jest używany "while the module is sleeping" i służy do wybudzania. Podczas normalnej pracy (jak w tym przypadku) czas jest odmierzany dokładnie. W Arduino mamy np. funkcję millis(), która zwraca czas od uruchomienia programu (w milisekundach). Jest to dokładny czas pochodzący z rezonatora kwarcowego o dokładności ok. 10ppm - lepszej...
Elektronicznie, to trzeba sporo się nauczyć. Można użyć Arduino do odmierzania czasu, ale klon Arduino + zegar RTC + moduł przekaźnika, to w sumie ze 20zł... A można odmierzać dobę przy użyciu liczników (na NE555 nie da rady, a w każdym razie powtarzalność będzie denna), może np. CD4541 (może zliczać do 65536, czyli z okresu około 1,3 s zrobi dobę)....
A zaprogramujesz Arduino? Masz zainstalowane środowisko do programowania, umiesz tego użyć? To by załatwiło sprawę odmierzania czasów i znakomicie uprościło układ - wystarczyłoby podłączyć te 4 tranzystory pod Arduino (albo 8 tranzystorów, jakbyś chciał kręcić niezależnie 2 silniki i każdy w jedną, albo w drugą stronę). Tylko byłoby potrzebne zasilanie,...
W przykładzie Blink są używane przerwania właśnie na potrzeby procedury delay() do odmierzania czasu. Domyślnie w Arduino przerwania są włączone. Zostaw przerwania w spokoju (nie wyłączaj ich). Jak ma działać Twój program, co chcesz uzyskać?
Można by spróbować zrealizować ten projekt na ESP-12 (np. WeMos D1) zamiast klasycznego Arduino, o ile będzie dostęp do WiFi z Internetem. Pinów w ESP-12 powinno wystarczyć do obsługi wyświetlacza LED. Czas byłby synchronizowany na bieżąco przez NTP i jakiekolwiek restarty nie miałyby większego znaczenia. Dokładność odmierzania czasu dużo lepsza od...
Jak już wspomniałem, kwestia gustu i dodatkowo skomplikowania programu. Co do logiczności rozwiązań to chyba są jednakowe, a sposób postrzegania zależy od poziomu znajomości danego języka. SCL jest językiem trochę wyższego poziomu w stylu C. Bloki funkcyjne można porównać do obiektów. Dla arduino jest kilka bibliotek z funkcjami odliczającymi czas,...
Witam, odmierzanie upływu czasu, w Twoim przypadku jednej minuty, możesz zrealizować w oparciu o ten mechanizm: https://playground.arduino.cc/Code/Timin... Po zarejestrowaniu faktu upłynięcia jednej minuty wyświetlasz na nowo ekran, ewentualnie dla oszczędności czasu, wyświetlasz tylko to co może ulec zmianie. Pozdrawiam
Taki przekaźnik zadziała. Generalnie im wyższe napięcia tym lepiej (48V typowo, 24V też od biedy), a im cięższy przekaźnik - tym lepiej (pozostając nadal przy miniaturowych, tak żeby prąd był 20-30mA, a nie jakieś styczniki od elektryka :D). Dzisiaj robienie takich rzeczy na 'analogu' raczej mija się z celem, ja bym wszystko dał na arduino - łącznie...
I oczywiście po każdej przerwie zasilania ustawianie na nowo. I nie wiem, jak z dokładnością odmierzania czasu... tam jest generator z kwarcem? Gdyby to mogło dobrze odmierzać czas bez modułu RTC, to nie byłyby one produkowane - są, bo są rzeczywiście potrzebne.
(at)ElektrodaBot chcę wykorzystać mikrokontroler i timer/licznik jednak chcę uniknąć PLL. Ponieważ układ zegara LED zlicza impulsy w ciągu sekundy to dla dokładnego odmierzania czasu istotna jest ilość impulsów w ciągu sekundy. Dlatego po wybraniu częstotliwości 60Hz planuję wykorzystać podział 32678Hz tak aby uzyskać częstotliwości 32Hz (okres 0,03125s)...
Z tego, co rozumiem, to ma być oświetlenie nocne - wtedy, gdy jest ciemno. Można to zrobić analogowo: czujnik oświetlenia, układ rozpoznający poziom sygnału, włącznik oświetlenia. A można na mikrokontrolerze (np. używając Arduino, bo to się łatwo programuje), włączanie i wyłączanie o określonej godzinie (Arduino pewnie mało dokładnie odmierza czas,...
No, silnik ma się poruszać ze średnią prędkością. Jak to przeliczyć na liczbę kroków na sekundę? Funkcja millis() może się okazać za mało dokładna (ona czasem przeskakuje o 2) - chyba wypadnie używać Jeśli miałbym zrobić to na Arduino, to jak zrobić do niego program? Poczytaj, co na forum o tym napisano. Ja coś pisałem o strukturze programu, może ktoś...
Jakoś trzeba odmierzyć te 24 godziny. Można do całego sterowania użyć procesora (to jest bardziej elastyczne, ale trzeba go zaprogramować), można użyć układów liczników do dzielenia częstotliwości kwarcu "zegarkowego" 32768 Hz (najpierw generator + dzielnik na CD4060, dostajesz 2Hz, i dalej trzeba zrobić podział przez 172800 - 18 bitów, i wykrywanie...
Były do tego celu preskalery. Popatrzę jaki układ scalony był wykorzystywany. [url=https://duckduckgo.com/?t=ffsb&q=pr... to wynik wyszukiwania. W oczy rzuca się zestaw Jabel J-200 z układami U664, U664B, układ U6358. W PE 3/94 był preskaler z układami SP8830 i SP8629. Poszukiwania świeżych układów przyniosły taki wynik [url=https://pl.farnell.com/c/polprzewod...
1. Do odmierzania czasu wykorzystaj, tak jak w arduino, timer pracujący niezależnie od programu. Najlepiej tryb CTC z odpowiednio dobranym preskalerem i będziesz miał przerwanie co 1us, w którym będziesz zwiększał zmienną 2. jeśli chcesz większe odcinki czasu to istnieje typ uint64_t, który może przechowywać wartości aż do 18446744073709551615, czyli...
Algorytm jest już prawie gotowy bo opisałes co ma być zrobione. Mozesz sobie to narysować w postaci schematu blokowego. Gdyby monitorować 1 pin i sterowac 1 wyjście sprawa wtedy jest prosta i da się to zrobić bez timera dokłądnie realizując zapisany algorytm i "czekająć" określony czas. Gdy się ma juz wiecej wejśc/wyść obsłużyć w ten sposob to jednym...
Pokaż program by było widać na jakim jesteś etapie, ale jak używasz delay do odmierzania czasu, to nie jest to odpowiedni kierunek, musisz nauczyć się używać przynajmniej millis(), jest wiele przykładów jak to zrobić.
Kawał dobrej roboty z opisem tej biblioteki - ogarnięcie timerów to dla mnie dramat, a tutaj wszystko podane na tacy. Dziękuję! Dziękuję. W dziale Arduino do znudzenia pojawiają się problemy z "ręcznym" odmierzaniem czasu w celu harmonogramowania zadań. Może ten artykuł pomoże niektórym zaoszczędzić nieco czasu ... i postów :) (at)khoam, wielkie brawa...
Nie podałem linka do gotowca tylko do przykładu użycia millis(). Ustawiasz parametry pracy silnika, uruchamiasz go , zapamiętujesz moment załączenia a po odmierzeniu czasu wyłączas silnik. Czas odmierzasz sprawdzając aktualną wartość millis().
W loop() masz dwa delay(2000), a do odmierzania interwałów dla GPS używasz millis(). To nie może dobrze działać. Wygląda jakbyś połączył dwa różne kawałki kodów. Musisz się pozbyć tych delay() tzn. też odmierzać czas na millis() czyli nie blokując wykonywania loop(). W jakim celu jest użyty dwa razy delay() w loop()?
Witam Mam na stanie wyświetlacz 7 segmentowy MAX7219 (jak na obrazku), Arduino Uno, nano i esp8266. Chcę zbudować timer który odmierzał by czas do pewnego wydarzenia (DD:HH:MM:SS). Czy jest ktoś w stanie podesłać kod do takiego programu? https://obrazki.elektroda.pl/2576110400_... Dodano po 4 https://www.brainy-bits.com/post/arduino...
Przepraszam ,ze może nie w temacie ale mam problem jedna funkcja blokuje mi drugą. Nie ma za co przepraszać... Pytanie jest absolutnie sensowne.. Robisz ten sam błąd, co większość początkujących i niecierpliwych programistów w środowisku Arduino. 1.Funkcja ?delay?, jak doświadczyłeś blokuje (zatrzymuje program w tym miejscu na określony w niej czas...
Próbuję uruchomić programowy zegar w Bascom na arduino Mega 2560 Kompiluje się bez problemu ale niestety nie działa. Jakiego 'działania ' się tu spodziewasz? -ma poruszac wskazówki, czy też wskazywac czas na dysplay leżącym w szufladzie? - a może przekładac kartki kalendarza? Nie bardzo będziesz mógł uruchomic 'Bascomowy- softwarowy' zegar na Arduino...
Nie rozumiem dlaczego for() w nowej wersji zapala wszystkie, zaś jak jest for() + delay() zapala się sekwencyjnie. Funkcja delay() każe czekać, wstrzymuje loop() - w wersji z delay() kod będzie działał poprawnie, ale będzie wstrzymywał wykonywanie całego programu na zadany okres. Bez delay(), po pierwsze musisz sam odmierzać interwały czasu (już to...
Odbiór i pomiar podczerwieni zapnij na TIMER0 ale uruchamiane od przerwania by ciągle nie sprawdzać wejść. Podświetlanie LCD bez problemu na PWM TIMER2 i to w ogóle nie będzie zajmować Megi. Zostanie Ci jeszcze 16BIT TIMER1 na odmierzanie czasu.. Bootloader Arduino zajmuje 2kB więc zostaje jeszcze 30kB Nie mam takich zakus by oprogramowywac akwarium,...
Będzie to strasznie niedokładne. Pomyśl o module DS1307. Jeśli jednak wolisz odmierzać czas "ręcznie" to najlepiej zaprząc przerwania. Spróbuj napisać choćby fragment, który miga diodą co 10 sekund. Pokaż ile potrafisz.
Narysowałeś baterię - twój układ bez niej nie będzie działać - a to oznacza pilnowanie, by ją wymieniać, albo doładowywać, jeśli to będzie akumulator. Można (i to też proponowałem) do odmierzania czasu użyć jakiegoś CD4541 - tylko nie wiem, jaki prąd pobiera ten układ podczas odliczania czasu (w stanie spoczynku zwykle grubo poniżej µA), ale dużo, dużo...
Chcę zrobić rejestrator danych z czujników, na arduino, który miałby być włączony 24/7, przy czym odmierzanie czasu w różnych celach, oparte byłoby na funkcji millis(). Przy czym funkcja ta przepełniłaby się w 48 dniu, przez co mogłyby wystąpić różne problemy w programie. Zamiast im zapobiegać, mam pomysł, aby układ sam się restartował przykładowo w...
Moim zdaniem to nie zadziała przez zmienność cyklu PLC, który obsługuje zapewne jeszcze inne rzeczy w tym komunikację. Ja w tej sytuacji dałbym tam "koprocesor" w postaci arduino w przemysłowym wykonaniu (np. Controllino). Odmierzanie czasu w pętli, bez przerwań; zmiana nastaw przez Ethernet tylko podczas postoju. Da się osiągnąć powtarzalność liczoną...
Mam taki problem, że dany zegarek nie odmierza pełnych minut. - Nic dziwnego, skoro masz czas wybrany poprzez potencjometr .
Jak sama nazwa wskazuje jest to miernik częstotliwości rezonatorów kwarcowych, nie zmierzysz tym niczego innego. Nazwa wskazuje raczej na pomiar częstotliwości przez układ używający rezonatora kwarcowego jako wzorca. Tylko pewnie ma rozdzielczość nie lepszą, niż 1Hz i działa tak, że przez sekundę (odmierzaną z użyciem kwarcu) zlicza impulsy, a potem...
Jako że się trochę nudziłem to spróbowałem coś zrobić samemu i ustawiłem sobie PIN 8 arduino jako wejście i coś tam dopisałem do kodu, ale afekt jest do kitu, więcej nic nie wymyśle jestem zbyt głupi, efekt poniżej. Tak ogólnie to kierunek myślenia w miarę pozytywny. Ale kwestia szczegółów, które trzeba uwzględnić. Główna sprawa, to jest kwestia sygnału,...
Ciekawy byłby eksperyment polegający na uczeniu całkowicie początkującego od razu RTOSa Nie tyle ciekawy, co bardzo użyteczny pod kątem edukacyjnym. Nie mogę już patrzeć na te programy z wykorzystaniem Arduino HAL, gdzie stosowane są "algorytmy zegarmistrzowskie" w celu odmierzania czasu i uruchamiania "gęsiego" kolejnych zadań z pominięciem ich priorytetów...
Nie ma na to co piszesz, jednej prostej "komendy" i nikt o niej nie słyszał, . Tylko trzeba napisać program, który ma swój stan, odmierza czas, sprawdza czy coś się zmienia. itp itd Pisząc poprawnie po polsku masz większą szansę na odpowiedź.
Witam, Potrzebuję dokonywać czujnikiem podłączonym do klona arduino pomiaru co 1ms, dlatego używam funkcji delay(1). Niestety, ale okazuje się, że pomiary wykonywane są rzadziej. Próbowałam "na oko" porównać czas ze stopera i danych z kreślarki. Stoper odmierza minutę, a na kreślarce jest jakieś 36000 pomiarów. Używam dfrduino uno r3.
Użyłeś przestarzałego 103 Nie 103 a 107. Jak pamiętam, 103 nie ma z ETH. A może sie uparłem na STM32F1xx bo będę programował w środowisku Arduino? softspiwrite i po problemie. A może lubię jak operacje zmiennoprzecinkowe nie sa robione przez FPU?
Witam, w rzeczy samej, funkcje typu "delay" odbierają sterowanie na czas opóźnienia, nic się wówczas nie dzieje. W prosty sposób można jednak zrealizować taką "kooperacyjną" wielozadaniowość. Należy zrezygnować w ogóle z funkcji "delay", zamiast nich wywoływać w kółko w głównej pętli (czyli loop) funkcje, które będą odmierzały czas od jakiegoś momentu...
Witam Panowie potrzebuję Waszej pomocy. Przerobiłem różne układy nawet pod Arduino różne zegary RTC i lipa pobierają za duży prąd. Szukałem różnych rozwiązań ale nic. Potrzebuje układ czasowy nie koniecznie musi to być jak klasyczny zegar który odmierza czas, tylko układ który codziennie wygeneruje na wyjściu co 8h i 14h sygnał który sobie wysteruje...
Ostatnie uaktualnienie !!! udało mi się zaprogramować układ tak, że po odcięciu arduino i po podprowadzeniu zasilania układ działa i staje się samodzielny, robiłem to na bazie tego poradnika https://www.youtube.com/watch?v=_m9acieP... UWAGA ! lecz coś jest nie tak bo po zaprogramowaniu układ nie wyświetla pełnych segmentów i nie odmierza czasu proszę...
Witam, rozwiazan jest bardzo duzo, przykladowo: - mikrokontroler, wtedy dolozenie wyswietlacza jak i zamiane ustawionego czasu bedzie latwo zaimplementowc, szukaj moze arduino, napewno cos bedzie. Tu takze koszty beda niskie, przy zakupach dalekowschodnich powinienes zamknac sie w 10euro. przykladowo: https://create.arduino.cc/projecthub/lag...
Po co symulator/emulator do takiego projektu. Choć oczywiście są i LCD + DS obsłużą bez problemu: https://www.youtube.com/watch?v=QVn9u9vg... Bierzesz płytkę Arduino Nano i podłączasz 1 czujnik, wgrywasz program przykładowy z bibliotek DS18B20 + rezystor 4,7 i testujesz - od razu masz wyniki pomiaru na terminal i test poprawności załatwiony. Potem...
(at)gulson no to szkoda, że nie umieli pobierać z sensowną szybkością, mogli zbudować potężną bazę wiedzy. Czy Bielik jest już dostępny do testów? (at)fachman1964 to dość dziwne, że dostajemy skrajnie różne zachowania, ciekawe jakby się zachował gdybyś powtórzył dwa zapytania, w wyniku których wygenerował kod. "Jak mogę wykorzystać rezonator kwarcowy...
Musisz dodać jakąś zmienną, która będzie markerem czasu. Sprawdzasz, czy A=1, zapisujesz marker czasu, dodajesz kolejny warunek, że A==1 i czas-marker >=5 s i tyle. W tym celu wygodnie jest puścić timer, który będzie odmierzać regularne odcinki czasu., np. licznik może się inkrementować co np. 10 ms, wtedy delta pomiędzy odczytami licznika wynosząca...
Używam arduino ide ale jestem zielony. Wiedzę wchłaniam bardzo powoli. Myślałem że to będzie łatwiejsze. Na razie to udało mi się napisać prosty program .Po załączeniu attiny odmierza ona 7 minut a potem jedna dioda mruga co 10sekund a druga co 30. Oczywiście wszystko na delay więc szału nie ma. Coś podobnego mam teraz na NE555 w połączeniu z CD4060...
Witam, mam mały problem...od jakiegoś czasu pracuje nad zegarem nixie i wszystko szło łatwo, aż do momentu pisania kodu.Szukam pomocy w postaci podpowiedzi, gotowych rozwiązań, pomocnych linków. Każda pomoc mile widziana. Kilka szczegółów dotyczących budowy; Zegar jest oparty na płytce arduino uno. Ze względu na małą ilość pinów na arduino użyłem dwóch...
Z EEPROM jest wiele zabawy. Najprościej nie zapisywać co 1-2m dystansu, jak miałeś w programie, czy co 1s, jak się zrobiło gdy przeniosłem Ci to do loop. Masz odmierzanie czasu tym nieszczęsnym delay 1000, to definiuje najmniejszą jednostkę czasu w tym programie. Naucz się millis() i usuniesz to ograniczenie. Ale tu też można coś wyrzeźbić, po tym delay...
Chyba pisałem już wcześniej, abyś nie wywoływał Alarm.delay() z setup(). W dalszy ciągu to robisz w funkcjach startRTC() oraz checkRTC(). Nie rozumiem też, po co Alarm.delay(30000) w funkcji filtrationLcd(), która jest wywoływana z loop() i po co każdorazowo wywołujesz setTimeLocal() w filtrationLcd() tym bardziej, że nie sprawdzasz w setTimeLocal(),...
Idle task - jeżeli dobrze rozumiem to jest zadanie bezczynne? Niezupełnie. Odpowiada ono za zwalnianie pamięci, która nie jest już używana przez inne zadania. Generalnie powinieneś ustawiać dla swoich zadań priorytety w zakresie od 1 do 15, dla bardzo krytycznych do 20. Tutaj masz opisane, jak wygląda sytuacja z priorytetami tasków "systemowych": Pewnie...
Podejrzewam że znowu na ok. 21 dni. A nie jest to przepełnienie licznika? Coś mi te 21 dni mówi. Arduino to zabawka, do demonstracji różnych rozwiązań ale nie do normalnej pracy. Nie używaj milis i podobnych mechanizmów, gdzie licznik może się przepełnić. Zrób wirtualne liczniki zliczające do zera. W ten sposób odmierzaj timeout i nic sie nie przepełni....
Następnie te sygnały w postaci string'ów wysyłane są do Processing3 i każdy z sygnałów aktywuje System.nanoTime() w Processingu bezpośrednio pobrany już z komputera i ta wartość przypisywana jest do tablicy Ale pomiar czasu po stronie Processingu jest kiepskim rozwiązaniem. Choćby to że transmisja po USB odbywa się w pakietach a nie każdy bajt osobno....
I czas pobierany jest z sieci. Z sieci czas jest synchronizowany, a nie pobierany - tak samo jak z DCF czy GPS. Zaś sam zegar nadal musi mieć jakieś minimum dokładności odmierzania czasu. Nie można przecież dopuścić, aby przy braku synchronizacji np. spowodowanej brakiem internetu, w ciągu doby zegar złapał odchyłkę kilkanaście minut.
Określ częstotliwość tych impulsów, lub ich szerokość. Jeśli trwają milisekundy, to najlepiej wykorzystać timer w trybie przechwytywania impulsów zewnętrznych - piny ICP i rejestr ICR. Jeśli są krótkie (setki ns lub us) to lepiej tymi impulscami taktować wejście licznikowe timera, a drugi timer wykorzystać do odmierzania odcinka czasu wzorcowego. Ze...
jarek_Inx Ja swoją zabawę z Arduino tak naprawdę zaczynam dopiero od tego projektu dlatego jestem przekonany że i tak wiesz znacznie więcej ode mnie i tym bardziej dziękuję, że mi odpisałeś. Myślę że wyświetlacz 2 wiersze 16 znaków powinien mi wystarczyć. Buzzer już mam, natomiast co do klawiatury matrycowej to rzeczywiście świetny pomysł! Teraz zostaje...
Khoam, sugerujesz się nazwami zmiennych i komentarzem, a kompilator nie czyta komentarzy. Może czegoś nie widzę, ale na pierwszy rzut oka, to program3 uruchomiony w piątej sekundzie od włączenia urządzenia powinien wykonać max 3 ruchy servem. Zakładam, że dla Autora istotne było odmierzanie interwałów czasowych, a to czy zmienne 'aktualnyczas' oraz...
Na upartego dało by się z wyjść 4017 dołączać różne rezystory do 555, ale odmierzanie czasów, liczonych w minutach, na obwodzie RC, to nie jest dobry pomysł. Inny pomysł to układ z wieloma wyjściami, o stałym czasie załączenia gdzie, czas świecenia LEDa ustalało by się ilością wyjść do niego podłączonych Ale to są rozwiązania "na upartego" mają wady...
Pewna niewygoda jest z tym, że sygnały muszą być podawane z określoną szybkością - czasy '1' i '0' albo 0,35µs i 0,9µs (z tolerancją 0,15µs), albo odwrotnie - to są czasy tysiące razy krótsze, niż milisekunda, i odmierza się je instrukcjami procesora. A nie wiadomo, co kompilator wygeneruje - trzeba pisać w asemblerze. Ale dają gotową...
Jeśli chciałbyś się wznieść trochę wyżej, poczytaj o timer-ch. Umożliwiają one bardzo dokładne odmierzanie czasu (zależe od dokładności użytego kwarcu) i wykonanie procedury w przerwaniu, czyli po czasie jakie odliczył timer i bez względu na to jaki kod akurat realizuje procesor.
Wskazany w linku debugger to zapewne JLink ale za cenę niespełna 10 $ to napewno nielegalny klon :) Jeżeli chcesz poznać LPC'ki i mieć debugger to wejściami . Kiedyś zapomniałem o tym fakcie i dziwiłem się dlaczego program nie działa tak jakbym się tego spodziewał.
Chciałbym to zrealizować prosto tą funkcję do odliczania czasu, najlepiej na zwykłym przerwaniu i timerze. Potrzebuję ją do czujnika Halla ASC712 do pomiaru prądu przemiennego. Wątek na forum Kardasia dotyczy właśnie tego? No więc Tobie nie jest potrzebne żadne millis, a tym bardziej jakieś 64 bitowe zmienne tylko odmierzanie odcinków czasowych. Nie...
Chciałbym wykorzystać kwarc zegarkowy 32,768kHz z Arduino (docelowo z samodzielnym uC) do generowania sekundowego sygnału, który chciałbym wykorzystać do wywoływania jakiejś funkcji dokładnie np. raz na minutę zamiast korzystać z niedokładnego delay(). Wyobrażam sobie, że uC pracuje sobie na wewnętrznym oscylatorze, a zewnętrzny (ten zegarkowy) jest...
Nie widzę nic śmiesznego w "zestrojeniu". Wcześniej realizowałem kod w oparciu o delay(), i jak chciałem interwał jednosekundowy to okazało się, przy wartości delay(1000) timer opóźniał się, dopiero przy delay(765) pracował synchronicznie z zegarem komputera (do wiadomości kolegi Jankowskiego) :) I w ten sposób błąd koncepcyjny polegający na użyciu...
Naucz się odmierzać czas z użyciem funkcji millis() zamiast delay() i tego, że nie wszystko w programie musi następować po sobie tylko Post raportowany - część niebędącą bezpośrednio rozwiązaniem problemu autora usunąłem. 3.1.10. Nie reklamuj stron internetowych lub usług w jakiejkolwiek formie.
Co do samego pomysłu - choć niewątpliwie jest kontrowersyjny - nie będę się wypowiadał - twój cyrk, twoje małpy. Proponowałbym jednak przynajmniej wprowadzić jedną istotną zmianę. Limit (np. 5 min) powinien być możliwy do wykorzystania w ratach np. 1 min na wstępne zmoczenie ciała, po pewnym czasie 2 min na spłukanie głowy i znów 2 min na spłukanie...
Jutro jeszcze sprawdzę jak będzie działać Attiny 45. Może coś uda się osiągnąć. Zrobiłem trochę testów na attiny13 i po nich jestem bardzo sceptyczny co do użyteczności funkcji micros() w takim zastosowaniu jak metoda użyta w twoim szkicu. Mam obawy że na attiny45 problem może być ten sam, tylko nieco mniejszy, z powodu możliwości wyższego taktowania....
Czy powianiem użyć sterownika PLC ? Jeśli sterowanie ma wyglądać dokładnie tak prosto jak to opisałeś to użyłbym PLC. Wyjdzie taniej, pewniej, jest to prostsze do ogarnięcia, dla osoby, która nie czuje się pewnie w programowaniu. A przede wszystkim masz od razu załatwiony interfejs sterujący elektrozaworami i pompą + bonusy typu obsługa przez www....
Czas z ds3231 jest odczytywany tylko przy uruchamianiu zegara, zaś zapisywany do niego jest podczas zmiany czasu na letni i na zimowy. Serio? Czy tylko wg. mnie to jest totalnie bez sensu? Czy dobrze rozumiem że odmierzanie czasu masz zrobione na procku a z RTC odczytujesz tylko po zaniku zasilania? Jeśli tak to po co ten RTC... Załóżmy sytuację że...
Wykonuje prace inżynierską "stanowisko szkoleniowe silnika krokowego", chciałbym wykonywać kilka rzeczy czasowo niezależnie bez używania delay, takich jak taktowanie częstotliwości na sterownik krokowca, odmierzanie czasu, cykliczne sprawdzanie stanów wejść. Z bibliotek znam Timer1.h jedynie. Mógłbym to zrobić w "C" chyba, bo kiedyś dużo bawiłem się...
Po pierwsze przy takim sposobie wykrywania zera sieci nigdy nie będzie dokładnie 10 ms pomiędzy przerwaniami mikrokontrolera. Najlepiej wykrywać zero sieci co 20 ms, za pomocą transoptora z jedna diodą jeśli w układzie jest wymagana separacja od sieci, a czas do odpalenia triaka w drugiej połówce odmierzać za pomocą timera. Takie działanie zapewni jednostajne...
... mówiąc ogólnie - musisz liczyć czas w pętli ... ... a najlepiej odmierzać czas timerami i używać przerwań ... to jest wielowątkowość (choć to nadużycie tego terminu). Mam wrażenie, że jest to kilka wątków jednocześnie, których on nie jest w stanie 'pojąć' :) Nie On tylko programista, bo to od niego zależy jak napisany jest program :) A to efekt...
I tu moje pytanie. (1). Widział ktoś podobny projekt? (2). Może ktoś stworzy takie coś w ramach ćwiczeń? ad (1). Z pewnością każdy, a także i ty spotykałeś się często z takim kontrollerem.. Wszystkie maszyny pralnicze, (pralki, suszarki, zmywarki do naczyń etc.), a także maszyny do pieczenia chleba („Bread Maker”) mają wbudowany mniej ,...
Kilka kwestii, może trochę pobieżnie, nie jestem specjalistą od Arduino. OK, pomogło a jeszcze mam pytanie czy arduino ma funkcje zczytania aktualną pozycje serwa i dopiero od tej pozycji w której się znajduje wykonać ruch? Jest to metoda "read": https://www.arduino.cc/en/Reference/Serv... Pętla loop jest po to żeby program cały czas działał. Jeżeli...
, to wymyśliłem sobie że pójdę na wielkie skróty i zaprzęgnę do działania drugie arduino w którym będzie siedział tylko dzwięk buzzera a pierwsze arduino tylko zasteruje to drugie podając sygnał na jakiś pin tego drugiego . To już jest jakieś rozwiązanie. Czy optymalne? – Nie powiedziałbym...! Pozwól, ze posłużę się trochę abstrakcyjnym przykładem...
Witam wszystkich Zegar powstał z inspiracji internetowej, zobaczyłem podobny i stwierdziłem, że chcę taki mieć. https://obrazki.elektroda.pl/8794650200_... Na początku potrzebowałem wskaźników tablicowych, znalazłem mikroamperomierze analogowe na OLX 3 szt. Następnie przyszedł czas na cyferblaty, zaprojektowane w CAD, a wydrukowane...
Witam Nie w tym problem, szukam zgrabnej metody wyświetlenia prądu, napięcia, temperatury w jednej lini co kilka sekund a nie samego odmierzania czasu. [syntax=c] ........ void loop() { ........ if (flag == 1) Serial.write(1); if (flag == 2) Serial.write(2); ........ if (flag == n) Serial.write(n); delay(1000); } [/syntax] Chodzi o zgrabne uzyskanie...
Jeżeli chcesz to naprawdę porządnie zrobić z użyciem millis() to proponuję nieco zainwestować w samo-edukację i wykorzystać bibliotekę TaskScheduler: https://github.com/arkhipenko/TaskSchedu... Jest to system harmonogramowania zadań pracujący w trybie event-driven, bez użycia przerwań - do odmierzania czasu używa właśnie millis(). Mnóstwo przykładów:...
Mam wrażenie, że ani Arduino Nano / Klonano, ani Blue Pill nie ma sprzętowego interfejsu 1-Wire - trzeba go emulować, i można to zrobić używając USART-a (do tego są programy dostępne w sieci), albo dowolnego pinu GPIO (ale to wymaga odmierzania czasu, więc chyba trzeba by było blokować przerwania, żeby przerwanie nie zakłóciło komunikacji - jak się...
Mam jeszcze pytanie, czy jest mozliwosc manipulowania przyciskiem reset? Tzn, mam wgrany prorgam stoper i po wcisnieciu przycisku reset np 2krotnie lub przytrzymaniu, chciałbym aby zmienil mi sie na program zegara. Jest taka mozliwosc? Przcisk 'Reset' na Arduino nie ma takiej możliwości, ani nie jest taka jego funkcja. Jego funcją jest uruchomienie...
W załączeniu zamieszczam źródełka tego prymitywnego programu. Jest to kod z strony lekko dostosowany do mojej aparatury FS-i6 - zmieniona kolejność kanałów PPM i inne wartości graniczne. Użyta tam biblioteka HIDJoy obsługuje tylko 4 kanały proporcjonalne, ale przez PPM można przesyłać ich nawet 8. Myślę, że największy kłopot może Ci sprawić odmierzanie...
Czy ja dobrze rozumiem - jak wciśniesz przycisk ma się zapalić wyświetlacz, i jak wciśniesz (lub wciśniesz wielokrotnie) go w krótkim czasie to chcesz tym samym przyciskiem zmieniać czas? Poczytaj sobie to https://www.arduino.cc/en/Tutorial/Built... i postaraj się pozbyć delay'ów. Masz tam u siebie dużo wykonywania tego samego...
Tylko tak jak na stronie Arduino pisze Jest napisane. , funkcja pulseIn() "Works on pulses from 10 microseconds" co daje 100Hz bez dzielnika a z dzielnikiem tylko 400Hz. Więc jak to rozwiązać? Już napisałem, sygnał mierzony dajesz na wejście licznika. Tak można mierzyć częstotliwości do częstotliwość_taktująca_mikrokontroler / 2. W nocie katalogowej...
Stabilność wartości podciśnienia nie jest potrzebna. Chodzi o to aby je utrzymywać na wystarczającym poziomie.(...) Wszystkie pompy o różnych mocach z jakimi eksperymentowałem były zasilane silnikami szczotkowymi DC o napięciu 12V. Czujniki analogowe są relatywnie drogie. Kilkakrotnie tańsze są proste czujniki przeznaczone dla konkretnej wartości podciśnienia....
Czyli robisz praktycznie pustą płytkę, ciut głupszą od płytki serii Arduino, którą można kupić gotową za 10 zł, za to namęczysz się prowadząc przewody do drugiej płytki. Chcesz użyć PWM, co wyklucza możliwość użycia przekaźników. Chcesz mieć wiele kanałów PWM, ale wybrałeś uC, który ma tylko 3 kanały. Zacznij od założeń: opisu funkcjonalności, czujników,...
Ciekawe, czy istnieje tani elektrozawór, który potrzebuje prądu tylko do otwierania i do zamykania, a nie do utrzymywania otwarcia, czy zamknięcia? Być może dałoby się to załatwić poprzez startowanie przepływu pompką, albo chwilowym otwarciem zaworu, i takim układem hydraulicznym, który by odmierzał ilość wody i zatrzymywał przepływ - ale nie znam takiego...
Potrzebuje taki sygnał do płytki z arduino, bo nie wiem jak to programowo zrobić o ile w ogóle się da. Sprzętowo, czy programowo, robi sie to tak samo, gdy zaniknie napiecie trzeba poczekać dłużej niż czas przerwy w miganiu i ponownie sprawdzic, sprzętowo uzywa sie przerzutnika monostabilnego, programowo odmierza czas timerem. W realizacji programowej...
Jak zrobić czujnik zaniku obrotów? Myślałem o układzie który po dostaniu impulsu odmierza ok 5 sek i jeśli w tym czasie nie wystąpi następny impuls to zaświeca diodę. Pierwsze myślałem o kontaktronie i magnesie ale jak magnes się zatrzyma przy nim to nie będzie wiadomo czy są obroty czy nie. Ale później pomyślałem że można zrobić coś tego typu jak zapłon...
Strasznie kombinujesz. Zobacz przykład z blinkWithoutDelay, wywal led, wrzuć tu zmienna do odmierzania czasu, jeśli jest większa od zera to ją zmniejszaj, odliczanie gotowe. Dalej w kodzie gdy PIR wykryje ruch ustawiaj zmienną na czas działania, zawsze dopóki PIR będzie wykrywał ruch ma ustawiać tą zmienną na czas startowy - resetuje ją. Potem zajmij...
Chcę dać zasilanie z 9 V baterii na zasilanie arduino (7-12)V, ponieważ muszę dysponować napięciem 5 V (lub więcej) doprowadzanym do wzmacniacza operacyjnego (wybrałem 5 V żeby móc sterować tranzystorami MOSFET). Można by to rozwiązać bez podnoszenia napięcia ponad 9V, ale skoro chcesz użyć tej przetwornicy to nich będzie. Zastanawiam się nad zabezpieczeniem....
To raczej nie jest 'modyfikacja' tylko re-design. Dlaczego? Bo np. uzywane sa delay() co definitywnie blokuje reakcje na drugi przycisk wczasie czekania. Jest to blokujacy sposob pisania programow w tym wypadku niekorzystny. Roznie mozna do tego podejsc np. -prowadzic przerwania do obslugi przyciskow (nie chce mi sie sprawdzac co potrafi attiny a tym...
Witam Potrzebuję zrobić obrotomierz do silnika oraz w zależności od obrotów odmierzać cykle impulsów, ale mam problem z samym układem pomiarowym obrotów. (optycznym) wprawdzie sprawdzam to wiertarką na razie ale skacze to +- 200 obrotów to masakra. Znalazłem 2 podobne projekty: 1. http://www.instructables.com/id/Measure-...
http://obrazki.elektroda.pl/6223122300_1... Domyślną metodą kontroli napięcia 230 V AC jest kontrola poprzez triak. Tak zrealizowany jest każdy ściemniacz. Kontrola taka oparta jest o kontrolę fazy - triak jest otwierany jedynie na pewną część sinusa napięcia przemiennego. http://obrazki.elektroda.pl/2250705900_1...
https://obrazki.elektroda.pl/1826512000_... Urządzenie służy do monitorowania i rejestrowania procesu rozładowywania dowolnego źródła (np. akumulatora) o napięciu Vin do 40V, które podłącza się do złącza CON3 (Source). Maksymalny prąd rozładowywania nie powinien przekroczyć ok. 3A. Konieczne jest użycie zewnętrznego obciążenia stałoprądowego,...
Problem bierze się stąd, że rzadko kiedy przerwanie jest wywoływane co jakiś "okrągły" czas, np. co 100us. Zwykle użyty kwarc i preskaler powodują, że odmierzane odcinki czasu pomiędzy przerwaniami nie są "okrągłe", a co za tym idzie łatwe do liczenia. Dodatkowa zmienna f ułatwia nam zliczanie milisekund. Akurat w podanym przykładzie przerwanie ma być...
Wróć na początek, dawno temu skręciłeś w złą stronę bo pominąłeś parę prostych lekcji programowania i teraz za to płacisz, nie zatrzymuj programu delay, pomijaj wykonywanie bloków programu, na które jeszcze nie przyszła pora. Zamiast wstawiać delay(30) wystarczy użyć millis: [syntax=c]const uint8_t bluePin=5; int i; uint32_t poprzednio,teraz; void setup(){...
Od 10us potrafi pracować NE555, jednak wymagane są elementy o odpowiedniej dokładności. Hm... odpowiedniej do wymaganej dokładności odmierzania czasu. Co do czasów, to • Turn-off time less than 2 µs (typ. 0.5) • Max. operating frequency greater than 500 kHz • Timing from microseconds to hours Ale błąd wnoszony przez NE555 może...
Witam, chcąc zaimplementować oszczędzanie energii w moim Arduino zdecydowałem się na użycie watchdoga. Jak wiadomo odmierza on do 8 sekund, więc chcąc "spać" przez 60 byłem zmuszony zaimplementować go kilka razy pod rząd. Przy wybudzeniu celem mojego programu jest zczytanie wartości czujników oraz RTC a następnie wyświetlenie tego na ekranie LCD. 1....
Nie wiem, jak się programuje przerwania na RPi, robiłem to na PC - na starym PC/XT dało się wyciągnąć powtarzalny pomiar impulsu z rozdzielczością us, ale na zablokowanych przerwaniach (poza tym, które uruchamiał mierzony sygnał), na współczesnych, nawet niezbyt szybkich, ns pewnie jest do osiągnięcia. Ale jeśli jest obsługiwane przerwanie akurat wtedy,...
Witam. Zwracam się z prośbą do kolegów o pomoc przy zaprogramowaniu Arduino aby mogło sterować załączeniem i wyłączeniem Raspberry z programem Volumio. Napisałem program ale po dołączeniu wyświetlacza program pracuje w pętli i co 15 sekund wyłącza przekaźnik. Program ma działać natępująco: świeci dioda (zielona) oznaczając stan "standby" po naciśnieciu...
dokładny odmierzać odmierzać godzina arduino projekty arduino
philips serwisowy zmiana matryca sterowniki kamerki microsoft schemat saturn
hulajnoga xiaomi zasilacz klimatyzacja prawa
Różnice w nagrzewaniu elektrod w łuku elektrycznym Wymiana górnego zawiasu w ekspresie Saeco HD8856