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...
A jakie są priorytety przerwań? Do odmierzania czasu musi być przerwanie o wyższym priorytecie, inaczej zostanie zaburzone przez inne przerwanie.
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"
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...
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ć?
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ę)....
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...
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
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ś...
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...
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...
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.
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...
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().
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...
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,...
(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)...
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,...
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,...
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ć.
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...
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...
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...
Z połączenia dwóch kodów poprawnych nie musi powstać jeden kod poprawny. To nie klocki lego. Sugeruję, abyś zastosował się do mojej porady z postu #4. Trzeba dodać odmierzanie czasu na millis() dla BLE w analogiczny sposób, jak już jest to zrobione dla GPS. Usunięcie delay() z loop() będzie konieczne.
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...
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...
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...
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ą...
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.
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...
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...
Mam taki problem, że dany zegarek nie odmierza pełnych minut. - Nic dziwnego, skoro masz czas wybrany poprzez potencjometr .
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...
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.
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ź.
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(),...
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...
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....
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...
Moim zdaniem zamiast tych skomplikowanych wygibasów lepiej jest po prostu zrealizować takt 1 ms (ewentualnie, ze względu na lepszą rozdzielczość 1000 µs), można sobie twórczo zmodyfikować przykład pod tytułem "blink without delay". Jeżeli czas pomiędzy odczytami ma być odmierzany bardzo dokładnie można wyzwalanie odczytu zrealizować w przerwaniu...
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...
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...
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...
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...
(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...
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...
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.
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...
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....
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...
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...
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...
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ę...
W PLC nic nigdy nie robiłem i również chciałbym wystartować w temat lecz też nie wiem w jaki sterownik iść jeśli możesz coś polecić to jak najbardziej gdzie kupić jaki zestaw itd na pewno ta informacja się mi przyda w PLC też chciałem się zapoznać jak się to programuje - ponoć łatwiej niż arduino. Myślałem że taki projekt wyjdzie najtaniej na Arduino....
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...
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,...
(...) rite(buzer,HIGH); //BUZER PISZCZY delay(40); //0,40sek digitalWrite(buzer,LOW); //BUZER OFF digitalWrite(led,HIGH); //DIODA ŚWIECI delay(3000); //3sek } digitalWrite(led,LOW); //BUZER OFF } Tak żeby "led" nie blokowało przez 3 sek działanie programu. Wstępna ocena dostępnych informacji Analiza podanego przez użytkownika kodu: - Funkcjonalność...
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...
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.
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....
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...
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...
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...
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ę...
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...
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...
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:...
Nawet jak nie ma to: if(PinState != GPIO_PIN_RESET) { GPIOx->BSRR = GPIO_Pin; } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16U; } jest zdecydowanie różne od GPIOA->BSRR = GPIO_PIN_0; GPIOA->BSRR = GPIO_PIN_0; GPIOA->BSRR = GPIO_PIN_0; GPIOA->BSRR = (uint32_t)GPIO_PIN_0 << 16U; GPIOA->BSRR = (uint32_t)GPIO_PIN_0 <<...
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....
(at)laeleigh Jeżeli ten przycisk jest podłączony jak na rysunku, to raczej nie zadziała, ponieważ naciskając przycisk robisz zwarcie do masy. Druga opcja, to stałe zwarcie, ale wtedy nic nie powinno działać. Przycisk powinien być podłączony tylko i wyłącznie do GND i do pinu Arduino, tutaj D3, skonfigurowanego jako wejście z podciąganiem. Wbudowany...
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...
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, że odstęp między poszczególnymi zapaleniami/ gaszeniami diod mogę zrobić z wykorzystaniem potencjometru i zmapowania jego wartości, to wiem. Problemem którego nie mogę rozwiązać, to jak po "kejsach" które odpowiadają za rozswietlanie dodać jakiś kod który będzie robił za przedłużenie świecenia o wartość wybraną na potencjometrze, po czym wróci...
http://obrazki.elektroda.pl/2094587100_1... Niewielkie akwarium jest idealnym rozwiązaniem, pozwalającym na wniesienie odrobiny życia do niewielkiego pokoju. Autor poniższego projektu miał jednak problem z regularnym karmieniem swoich rybek, wyjeżdżając na weekendy i na wakacje. Aby rozwiązać ten problem opracował on automatyczny karmnik...
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,...
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...
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...
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...
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 ,...
... 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...
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ć...
Myślałem że z tą zamianą delay na millis to będzie jakaś prosta sprawa a tu jednak nie tak łatwo . Stosowanie pomiaru czasu wykorzystując millis() jest relatywnie proste; - robisz to czesto (wiele razy dziennie!!!), posługując się zwykłym zegarem (moze nawet ściennym), przy odmierzaniu przedziału czasu. Jeżeli chcesz odmierzyc przykładowo 5 min to...
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(){...
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...
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,...
Jeden przycisk (widełki telefonu) ma obsłużyć 3 funkcje: 1 - off - podniesienie widełek, możliwość wprowadzenia numeru do zmiennej realizowana do czasu krótkiego naciśnięcia widełek 2 - on (1-3 sek) - krótkie naciśnięcie widełek i zatwierdzenie wprowadzonego numeru, dalsza rozmowa już w trybie off przycisku do czasu długiego wciśnięcia widełek - odłożenie...
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...
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,...
CD4060 może dzielić generowaną częstotliwość przez 16384 (=2^14, i przez 2^13, 2^12, 2^10, 2^9, 2^8, 2^7, 2^6, 2^5 i 2^4 - spory wybór) i daje równe czasy '0' i '1' na wyjściu; CD4541 może dzielić przez 65536 (=2^16, i przez 2^13 i 2^8 - wybór dużo mniejszy), i ma kilka różnych modów pracy - trzeba by zajrzeć do noty katalogowej i zobaczyć, co można...
Trochę to trwało za nim coś skleciłem Za mało czytałem bo mi coś nie wyszło kod wygląda tak Dziwne rzeczy robisz z klamrami przy IF NIe wiem co na to kompliator czytelna składnia [syntax=arduino] if (wyrażenie) { jeśli wyrażenie jest prawdziwe robimy to co tu wpiszemy; } else { jeśli fałszywe robimy to co tu wpiszemy; } [/syntax] tym czasem u Ciebie...
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...
Odtwarzanie komunikatu po zegarynce można zrobić w prosty sposób dopisując po: //koniec polaczenia z zegarynka na numerze specjalnym "2" np. taki kod tmrpcm.play("ZEGAR.WAV"); while(tmrpcm.isPlaying()){ } Nie mam pomysłu co można "powiedzieć" po zakończeniu połączenia z zegarynką. Zegarynkę pod numerem "2" da się bez większego problemu zrealizować na...
Jak w temacie, jakiej pamięci użyć do Arduino aby po utracie zasilania lub zaniku napięcia trzymała wszystkie informacje które na niej zapiszę, dodam również że chciałbym zapisywać na niej tę informacje w trybie czasu rzeczywistego a konkretniej co sekunde. Fajnie by było jakby taka pamięć wytrzymała chociaż 2-3 lata. Nie ma co kombinować - użyj po...
http://obrazki.elektroda.pl/6716235000_1... Witam. Dzisiaj prezentuje urządzenie które oprogramowałem parę dni temu. Służy do automatycznego wyłączania odbiornika 230V po uzbrojeniu systemu alarmowego SATEL INTEGRA 128. Do realizacji projektu wykorzystałem gotowe gniazdo SONOFF S20 firmy ITEAD zakupione na ALLEGRO. Od samego początku...
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,...
https://obrazki.elektroda.pl/3120297200_... Częstotliwość napięcia sieciowego w Krajowym Systemie Elektroenergetycznym jest obecnie stabilna i odchyłki od 50Hz są zwykle dość małe na poziomie kilkunastu-kilkudziesięciu mHz. Nic dziwnego, że niektóre zegarki elektroniczne nadal wykorzystują sieciowe 50Hz do odmierzania czasu. W warunkach...
odmierzanie czasu odmierzanie czasu stm32 timer1 odmierzanie czasu
korad ka3005 wentylator mercedes stacyjki sprinter pasek rozrząd citroen
Podłączenie czujnika MAP w Mercedesie W211 Czy woda utleniona pomoże agrestowi z mączniakiem?