Pomiar czasu będzie dokładny, co najwyżej odświeżanie obrazu może być zakłócone. Nie licz sekund samodzielnie, tylko za każdym razem odejmuj aktualny czas od początkowego. Zamiast time() można użyć dokładniejszej gettimeofday(). Możesz jeszcze ewentualnie spróbować zwiększyć priorytet procesu.
Witam. Według mnie zasadniczy problem (poza ciekawym zastosowaniem funkcji Subnumber ;) leży w umieszczeniu wyświetlania z delayami w przerwaniu. Wyświetlanie trwa dłużej niż czas pomiędzy kolejnymi przerwaniami. Najprostszą opcją byłoby przeniesienie wyświetlania do programu głównego na przykład tak: /*wyświetlacz LED dołączony do P0, stan aktywny...
Pozdrawiam, Wesołych Świąt :)
Rozwiązywałem podobny problem (jestem początkujący) wykorzystałem dwa liczniki 8051 1. ustawiłem timer 1 na zliczanie impulsów zewnętrznych 2. ustawiłem timer 0 aby zliczał czas co 1 sek 3. wykorzystałem bit przepełnienia TF0 w celu sterowania w TCON bitem TR1 włącz wyłącz licznik i w ten sposób timer 1 zlicza mi impulsy zewnętrzne w czasie 1 sek a...
Mogę podpiąć zliczanie sekund bez heartbeat do zdarzeń i potem za pomocą addChangeHandler będzie można było wyzwalać obsługę tego.
W przypadku mierzenia czasu na tajmerach czas pracy będzie sie rozjeżdzał i to bardzo mocno (sprawdzone eksperymentalnie). Najlepiej zliczać sekundy z wykorzystaniem impulsu generowanego przez CPU. No tak ale wtedy też odczyt jest zależny od cyklu sterownika. Jest metoda dokładniejsza. Odczytuje się czas trwania cyklu programowego (poprzedniego) i...
Sam prze metodę prób i błędów, a dokładniej po dwóch próbach zorientowałem się, że trzeba tak zrobić jak podał landy 13. Teraz pozostało mi tylko odczekać dobę i kontrolować co jakiś czas, czy opóźnienie/przyspieszenie zegara ma stałą wartość w ciągu doby. Jeśli ma wartość stałą, to wystarczy tylko zmienić parametr w "timer1 = x". A jeśli opóźnienie/przyspieszenie...
emarcus dzięki teraz już gra. ... Mam jeszcze takie pytaniena wejście INT0 podam np sygnał z generatora który podaje przebieg np 4.8KHz to na wyświetlaczu pojawia mi się liczba 11136 zamiast 4800. Co może być nie tak ? Poniżej podaję listing programu. $regfile = "attiny2313.dat" $crystal = 12000000 Portd = &B00100100 Portb = &B00000000 Config...
Dokładnie tak jak pisze Kolega emarcus. W moim przykładzie w programie operujemy na zmiennych minuty, sekundy. Ale do programowania czasu konwertujemy i tak wszystko do sekund. W ogólności można zrobić odwrotnie, tj. używać tylko zmiennej wyrażonej w sekundach i np. co sekundę konwertować tę wartość na wartość minut i sekund w celu ich wyświetlenia,...
Zmiennych globalnych nie ma ..., lokalnych nie ma. Kod pokazany jest inny od aktualnego. Więc gdzie są deklaracje ? Po co shit tu wciskasz chcąc byśmy ci coś powiedzieli. Dawno nikt mnie nie sprowokował do takich słów. Albert
[syntax=basic4gl]If F1s = 1 Then Ilosc_wcisniec = Zmienna_pom Zmienna_pom = 0 Reset F1s End If[/syntax] Tu jeszcze mały błąd bo brakło zerowania flagi 1s i ma być porównanie z 1 a nie 0.
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.
Potrzebujesz nie licznika impulsów wejściowych a licznika sekund. Impuls uruchamia odliczanie a jednocześnie następuje blokada wejścia uruchamiającego licznik aby następne impulsy na niego nie działały. Po odliczeniu 20 sekund, licznik się resetuje i jednocześnie następuje odblokowanie wejścia. Pierwszy impuls po resecie powtórzy zliczanie sekund.
Zobacz to: Dim Przycisk As Word , Czas As Integer , Czas_zamka As Integer Czas_zamka = 0 Czas = 0 Do Debounce Pinb.1 , 0 , Licz , Sub If Przycisk > 0 Then Incr Czas If Czas = 300 Then Przycisk = 0 Czas = 0 End If If Przycisk = 3 Then Portb.2 = 1 If Portb.2 = 1 Then Incr Czas_zamka If Czas_zamka = 300 Then Portb.2 = 0 Czas_zamka = 0 End If Waitms...
instrukcja SUB lub inaczej: Wykorzystaj licznik zliczający do Twoich 60 sekund Utwórz bit dający sygnał co 1 sekundę i go zliczaj aż do uzyskania 60 - i wyświetlasz stan aktualny licznika. lub inaczej Dodajesz co 1 sekundę wartość 1 i porównujesz z zadaną gdy aktualna = zadana --> STOP Wyświetlasz aktualną wartość sumy.
Sprawdzałem Twój kod inicjalizacji timera + przerwanie -> wszystko jest ok. Musisz mieć błąd w zliczaniu sekund lub w wyświetlaniu. Tak na marginesie to po co ustawiasz bit OCF2 w TIFR? Nie korzystasz z porównania (compare match), więc nie potrzebnie robisz to ustawienie. Wystarczy TIFR=(1 << TOV2);
W ten sposób można to zrobić, tyle że częstotliwościomierz będzie to pokazywał na bieżąco i krótka próbka będzie niezbyt reprezentatywna. Jakiś czas temu uratowałeś przed złomowanie dozymetr GORIN i tam impulsy są zliczane przez kilkanaście/ kilkadziesiąt sekund, w ten sposób jest dokładniej.
Jeśli nie wykorzystujesz tych samych pinów co kwarc zegarkowy to nic się nie będzie gryzło... O ile dobrze pamiętam wystarczy podpiąć kwarc 32,768kHz bez kondensatorów pod TOSC1 i TOSC2... Raz po uruchomieniu uC odpalasz timer2 w trybie asynchronicznym i tylko włączasz albo wyłączasz przerwanie od przepełnienia... Ustawiasz preskaler tak żeby przepełnienie...
1. W jakim języku piszesz? 2. Kalkuluje się to tak: Masz kwarc 16 000 000 Hz (16 MHz) i dajesz sobie jeden z dopuszczonych prescalerów, np. 64 i wtedy timer zlicza Ci impulsy z częstotliwością 16 000 000 / 64 = 250 000 Hz, czyli jeden impuls timera to 4*10^-6 s lub inaczej aby odmierzyć 1s musisz zliczyć 250 000 impulsów, Jako, że Timer0 jest 8 bitowy...
Witam serdecznie zrobiłem zegar na w/w procesorze i wyświetlaczach 7 segmentowych led. Sekundę odmierzam z wykorzystaniem Timera 2 w trybie asynchronicznym z dodatkowym kwarcem 32,768Khz. Multipleksowanie wyświetlaczy realizowane jest za pomocą timera0. Do tej pory wszystko działa świetnie, Chciałbym jednak dodać jeszcze zliczanie setnych sekundy i...
Nadszedł czas na pewne działania w obrębie pulpitu sterowniczego. Wszystkie przyrządy pomiarowe w obrębie sterowania wiązką elektronów są na chodzie:) Sterowanie próżnią odbywa się ze sterownika PLC. Może jednak wykorzystam istniejący miernik do orientacyjnego wskazywania poziomu próżni. Natomiast istotną potrzebą jest dołożenie licznika czasu życia...
Zliczanie sekund jest prostsze matematycznie ale należy zaangażować licznik procesora. Przeliczanie na minuty wymaga tylko "impulsatora" sekund ale podczas przeliczania wystąpią błędy z zaokrąglania a procesor jest zaangażowany w operacje matematyczne. Podsumowując, wybiera się metodę bardziej pasującą do realnych zasobów.
Robi się to strasznie zagmatwane, może gdybyś opisał ideowo jak to ma działać... Po co zerować DS3231? Po to ma podtrzymanie bateryjne, żeby sobie zliczał sekundy bez przerwy. Operuj na różnicach wartości, np: Ttimer < Tnow - Tstart
DObrze byłoby użyć czegoś możliwie lekkiego i naklejonego blisko osi obrotu, żeby: (1) nie psuć wyważenia, (2) małe były szanse na oderwanie się, i (3) po oderwaniu się nie spowodowało szkód. Chyba najlepszy byłby odblask na możliwie cienkim podłożu - taśma odblaskowa, odbijająca światło w kierunku, z którego przyszło. Oświetlić to laserem i obok niego...
Robiłem układ na czujnikach kontrastu z Sels i Easy 512DC. Bez problemu zliczałem ok. 400 impulsów w niecałą sekundę na szybkich wejściach. Easy 400 w tym układzie okazał się nieprzydatny - za wolny.
odnosnie zegarka to ja bym to zrobil na timer1 - 16 bitowy licznik, i uzaleznil to od przepelnienia tylko nalezy ustawic preskaler na 256 wpisac poczatkowa counter=conter+34286 oczywiscie przy rezonatorze 8 MHz 8000000/256/(65536-34286) = 1 sekunda pozniej tylko zliczanie a i jeszcze jedna sprawa nalezalo by zmienic wartosc dwojkowa na kod BCD :)
No to obydwa kontaktrony podepnij do pinów INTx, a później rób takie coś: 1)wyzeruj zmienną x i y odpowiedzialną za aktualny stan zliczonych impulsów z wejśc INT0 i INT1 (obydwa kontaktrony), wyzeruj timer0 2)załącz timer 0 aby odmierzał czas 10 sekund 3)poczekaj aż timer odmierzy czas, w międzyczasie są zliczane impulsy z wejść INTx 4)po odmierzeniu...
Dziękuję za odpowiedź! Nie wyjaśniłeś mi jednak jak zmienić podany przeze mnie program żeby zliczał sekundę przy kwarcu 8MHz z Timer1 :) Czytałem trochę, ale nie wiem czy udało mi się to dobrze zrozumieć. Jeżeli przy 8MHz użyje preskalera 1024 to wyjdą ułamki, więc przypuszam że takiego nie powinienem stosować :) Przy preskalerze 256 wychodzi: 8000000/256...
I jeszcze jedna podpowiedz. Zamiast zagnieżdzać nie wiadomo ile ifów, to ja bym walnął osobne procesy do zliczania sekund, minut i godzin. I minuty zliczał opadającym zboczem najstarszego bitu sekund (sek(5)) a godziny opadającym zboczem najstarszego bitu minut (min(5)).
8 chodziła ma na 4 mHz . no a stoper działal tak ze On Ovf2 1sek Load Timer2 128 co dawało mi przerwanie co 1 sek i zliczało sekundy no i wyświetlało normalny stoper . a teraz sekundy mi leca po 17 tzn 17, 34 itp co dziwne wyświetla mi to w odstępach około sekundowych. czyżby w tym procu inaczej sie konfigurowało timer2 z zewnetrznym kwarcem? to musze...
W sekundach: można użyć generatora sekund, bramki and i licznika. na bramkę podajesz stan ON = zaczyna zliczać. Licznik pamiętać lub zerować.
Witam !!! Możesz mi sprawdzić program Mierzę prędkość obrotów wentylatora. Posiada in 8 otworów na obwodzie Podczas jednego obrotu wysyła 8 impulsów na D5 #include <ESP8266WiFi.h> #include <Arduino.h> #include <Wire.h> const byte interruptPin = D5; // wejsice do zliczani impulsow int interruptCounter = 0; // licznik ziczania przewrań...
Witam Musze w czasie jednej sekundy (ewentualnie 0,5s) zliczyc ilosc impulsow podawanych na dwa porty UC. Zastanawiialem sie nad uzyciem do tego Timera_1 tylko nie wiem czy mozna go wykorzystac podobnie jak do pracy w trybie PWM (dwukanalowym). Ewentualnie moze jest jakas inna mozliwosc. Spodziewane paczki impulsow w granicyi od 1 do 1000 na sekunde.
https://obrazki.elektroda.pl/4042966300_... Dodano po 34 Wyciąg z oficjalnej instrukcji producenta.
Tak. Impuls uruchamia licznik a ten liczy. Reset nie zeruje go. Zlicza około 150 impulsów na sekundę.
Bardzo dziękuje, działa jak trzeba. Ciesze się ze pomogłem. Wyjście możesz zrobić również za pomocą kombinacji przycisków, np wciśnięte dwa na raz. Niestety trzeba jednak ta kombinacje zapamiętać. Tak jak napisałeś, można wykorzystać Timer. Dodajesz druga flagę, np Wyjscie_menu i zwiększasz ja w Timerze a w podprogramie Menu ustawiasz sobie, ze jeśli...
Witam. Timer mikrokontrolera '51 taktowanego zegarem 11.059200 MHz zliczy w ciągu jednej sekundy 921600 impulsów. Ze względu na wielkość timera (2 bajty) może Kolega zliczać setne części sekundy - ustawić przerwanie co 9216 impulsów. Każde wywołanie przerwania zwiększy zmienną o 1, czyli mamy w niej wynik pomiaru z rozdzielczością 0,01 s. Rozwiązanie...
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
tak ale jak będę zliczał przez 1 sekundę impulsy to w tym czasie nic nie wyświetlę na ledach :(
[quote="insmod,post=21511867" Zauważyłem, że jeśli wyłączę mqtt (na urządzeniu, nie w kodzie), odczyty są znacznie bardziej spójne.[/quote] Głównym pytaniem jest, gdzie leży problem, czy pomijamy wywołania przerwań z powodu przegrzania procesora? Może moglibyśmy opracować prosty scenariusz testowy, aby to sprawdzić, z najprostszym generatorem sygnału...
Witam, skoro wynik pomiaru prędkości obrotowej ma być podawany w powszechnie stosowanej (choć nielegalnej) jednostce, czyli w obrotach na minutę , to ilość otworków, czy innych znaczników (można używać np. czujnika magnetycznego), musi być całkowitą wielokrotnością 60, a najniższa liczba całkowita to przecież jeden. Wtedy na jeden obrót wału na sekundę...
Ten pomysł też mi się podoba. Poprzednio pracowałem w pewnym biurze i tam właśnie napisaliśmy program w kliperze który uruchomiony był na starym kompie. Każdy pracownik który wchodził do biura logował się i to samo przy wychodzeniu. Program zliczał sekundy zaczynając od północy. Kolega robson podesłał mi artykuł. Okazuje się, że to też sprytne rozwiązanie...
Witam W poniższym programie chciałem na przemian zaswiecać i gasić diode po zliczeniu przez zegar RTC jakiegoś czasu np (1 sekundy). [syntax=c]#include<avr/io.h> #include<avr/interrupt.h> #include<util/delay.h> #include<avr/iom8.h> #define TOGL PORTD ^=(1<<PD6) void TWI_start(void); void TWI_stop(void); void TWI_write(uint8_t...
Algorytm w skrócie: 1. pętla czekająca na mignięcie 2. jeśli pojawił się sygnał, wyzeruj licznik, wykonaj pętlę zliczającą czas 3. jeśli czas = 0,5 sekundy to zwiększ licznik, wróć do pętli 4. jeśli czas = 3 sekundy to wartość licznika zapisz jako pierwszą cyfrę kodu błędu, wyzeruj licznik i wróć do pętli 5. jeśli czas = 6 sekund to znaczy że jest koniec...
Uruchom timer, koniecznie tak doliczony, żeby nie wprowadzać dodatkowych błędów ewentualnymi ułamkami w ilości impulsów na sekundę/minutę. Potem w przerwaniu zliczasz minuty/sekundy/cokolwiek i odmierzasz czas. Można też zastosować kwarc zegarkowy podłączony do pinów TOSC1/TOSC2 (XTAL) i z niego czerpać sygnał bardziej precyzyjny niż z normalnego sygnału...
Myślę, że ochrona przed zewnętrznym oświetleniem nie jest problemem. Np. wyłącznik zmierzchowy ma wolną reakcję, a tu trzeba by na pewno poniżej sekundy. Zliczanie mignięć też, ale również czas w stanie wysokim i niskim.
Konfiguruję Systick tak aby generował przerwanie co np. 1 sekundę (nie chcę aby to robił za często bo ma odliczać czas nawet do 12h a to dość dużo "tików") Wcale nie tak dużo. Zakładając zliczanie w zmiennej uint32_t i przerwanie SysTicka co 1ms, zmienna przekręci się po ponad miesiącu (49 dni i 17 godz) ;) Przy zliczaniu sekund starczy na trochę ponad...
Żeby zrobić za pomocą Timera - to nie możesz używać trybu PowerDown tylko Sleep - żeby właśnie Timery mogły działać to po pierwsze. W taki trybie jednak będziesz miał nieco większy pobór prądu niż w pełnym PowerDown. Więc wszystko zależy na ile ma wystarczać bateria o ile jest to coś zasilane z baterii. Bez PowerDown'a na pewno będzie to sporo krótszy...
Programu tego nie skompilujesz ponieważ Timer0 w ATtiny2313 jest 8bitowy. Jeśli jest to program do projektu z Twojego innego tematu to tam był użyty uK z rodziny AT89..., nie znam ich, więc nie wiem jakie tam są timery. Musisz od początku skonfigurować Timera0 lub innego tak, aby zliczał sekundy. Dlaczego chcesz użyć zewnętrznej pamięci EEPROM? ATtiny2313...
Alternatywne rozwiązanie, to niektóre układy mają timer, do którego możesz podłączyć osobny kwarc zegarkowy, a nim zliczać równe sekundy niezależnie od głównego zegara mikrokontrolera. Ale nie wszystkie to mają i tracisz dwa piny na dodatkowy kwarc, więc lepiej zrobić, jak wyżej radzą.
Przez jaki czas są zliczane impulsy. Aktualnie 30 sekund, zależy od ustawień programu. Może zliczać i cały dzień, aż mu bateria padnie. :)
Bo zbocze opadające w takim programie występuje co drugi cykl, i żeby mieć wynik w cyklach na sekundę trzeba te zbocza zliczać przez czas dwa razy dłuższy niż sekunda?
A co jest złego w odmierzaniu czasu i obsłudze wyświetlaczy w jednym przerwaniu? O ile nie masz typowego zegara RTC (na kwarcu 32768Hz), to właśnie ten sposób jest najlepszy. Zmiany wymaga natomiast Twoje podejście do tej kwestii. Program powyżej jest lekko chaotyczny. Nie rozumiem dlaczego sekundy potrafisz liczyć w 1 zmiennej, a do minut już potrzebujesz...
Pozwolę sobie umieścić post pod postem żeby wiadomość dotarła do zainteresowanego. Jeszcze lepszym wyjściem dla takiego zegara będzie zastosowanie dedykowanego rezonatorka 32768Hz (32,768KHz) Wartość 32768 to w zapisie binarnym dokładnie piętnaście bitów. Jeśli więc Timer będzie zliczał generowane impulsy to po 32768 uzna że mineła sekunda :D Bascom...
Czas zmierzony. Na 4 godziny Atmega spieszyła się aż 8 sekund. Wynika to zapewne z tego, że kwarc jest ok 2 cm od nóżek - niestety innej możliwości nie ma. Trzeba dołożyć kondensatory. Czy ktoś wie dlaczego nie chce mi się zerować wartość sekund co te 60 sekund? Bo tak to licznik zlicza te sekundy idąc w tysiące :/.
Faktycznie masz racje jednostki mi się pomyliły :), ale tło macie wysokie w Twoim rejonie.Projekt fajny dodaj do niego zliczanie impulsów na sekundę (pomiar skażenia powierzchniowego) i będzie niezły projekt.
W temacie jest wspomniany jeszcze RTC. RTC to gotowy zegar z generatorem na kwarcu, bardzo energooszczędny, czasem ma wyjście 1 Hz jak DS1307, ale trzeba go ustawić przez I2C, a po utracie zasilania zapomni ustawienia, więc raczej bez mikrokontrolera w pobliżu nie ma sensu stosowanie RTC. Połączenie RTC z mikrokontrolerem ma tę zaletę, że RTC podtrzymany...
dawid512 : Ty mi pomogłeś! Tylko teraz napisz jeszcze (jak możesz) jak go przerobić na :!: wew. 8MHz :!: I żeby w pierwszej lini było wyświetlone "Sekunda:" A w drugiej te zliczane sekundy. $regfile = "m8def.dat" 'nagłowek, model uc $crystal = 1000000 'kwarc (generator taktujący) '************************* Config Lcdbus = 4 'konfiguracja...
Ale chciałbym Czyli potrzebujesz 120 niezależnych liczników zerowanych co 5 sekund, zliczających przez 5*120 = 600 sekund = 10 minut.
Generator i liczniki kaskadowo (można zliczać interwały bardziej pasujące do charakteru pracy (np. co 20 sek.; a kolejne zliczania do minut czy godzin) https://obrazki.elektroda.pl/2844148500_...
4013 nie będzie potrzebny, jeśli do zliczania sekund użyjesz CD4040 z resetowaniem przy 120. NE555 może mieć niezłą stabilność, ale nie z kondensatorem elektrolitycznym, i z opornikiem najwyżej kilkadziesiąt k - czyli okres 1s uzyskasz z kondensatorem ze 20uF, albo większym. I oczywiście byle jaki kwarc ma stabilność dziesiątki razy lepszą od najlepiej...
Witam wszystkich forumowiczów :) Na wstępie chciałbym zaznaczyć, że jestem początkujący zwłaszcza w dziedzinie mikrokontrolerów. Wspomniany układ to moja pierwsza konstrukcja z uC. opis konstrukcji jest tutaj: http://www.elektroda.pl/rtvforum/topic44... Płytki zaprojektowałem samodzielnie, do programowania używałem PonyProga + STK200. Fabrycznych...
Pracy masz dokładnie tyle samo, raz tworzysz formułę (tak jakbyś raz pisał skrypt), po czym kopiujesz ją do wszystkich komórek w kolumnie (3 sekundy).
Udało się skompilować i nawet wgrać. Czas jest odmierzany. Działa jak stoper zlicza sekundy. Jednak żeby uruchomić zliczanie trzeba "trafić w odpowiedni moment". Jeśli jednak chce ustwić na płytce momęntelne załączanie się czasu i liczenie sekund to się wyświetla taki komunikat: error project requires too many (302/256) logic cells error : project requires...
Dla zainteresowanych, stała wtrysku to 132 ml/sek co dało 0.0088 ml/sek dla 4 wtrysków. Co do programu to trochę go zmodyfikowałem i działa bez zarzutu. do Spalone_paliwo = Sekunda * 0.0088 Wart_spal = Fusing(spalone_paliwo , "#.&") Deflcdchar 7 , 32 , 30 , 19 , 31 , 13 , 12 , 30 , 32 ' ikona paliwa Locate 2 , 1 Lcd Chr(7)...
No jest w planie kwarc 8MHz bo odcinki są po kawałku nawet do 12 godzin (pomiędzy odszranianiem) ale tu mi chodziło raczej o krótszy czas około 3 min pozwalający sprężarce na wyrównanie ciśnienia, zrobiłem coś takiego podobnego tyle że na timer0 ale za cholere nie mogę dobrać preskalera i ilości impulsów. Zegar wew atmega8 1MHz poza tym nie zauważyłem...
Na wejściu diody obcinające sygnał; dalej podać na dyskryminator (Schmitt na tranzystorach) z histerezą około 100mV) przez kondensator (bo dyskryminator ma napięcie polaryzacji na wejściu) o wystarczającej pojemności, żeby stała czasowa nie była mniejsza od około 0.2 sekundy; sygnał z dyskryminatora zliczać na CD4017 - można na nim ustawić podział przez...
Witam!!! Od dłuższego czasu mam problem bo nie działa mi w ogóle zapis do rejestrów Pcf-a. Nie mam pojęcia co może być tego przyczyną może ktoś coś poradzi. Poniżej przedstawiam kod. [syntax=c] #include<avr/io.h> #include<avr/interrupt.h> #include<util/delay.h> #include<avr/iom8.h> #define TOGL PORTD ^=(1<<PD6) void TWI_start(void);...
Zliczam impulsy z tego układu wzmacniaczy, tam tez jest podłączona dioda która sobie mruga w takt pulsu, jak liczyłem mrugnięcia to jest ok. To wchodzi do kontrolera i tam sobie zliczam te impulsy, zliczam przez 10 sekund żeby szybciej mieć wynik tak dla testów, na razie nie mnożę tego, wyświetlam po prostu wynik jaki jest po 10 sekundach.
Wait nie stopuje programu. Program nadal się wykonuje.Piszesz trochę niejasno o tym, że timer wywołuje przerwanie z częstotliwoscią około 400 Hz. Czy to znaczy, że przerwanie wykonuje się około 400 razy na sekundę? Zliczasz coś?
Podkleję się do tego tematu bo nie ma sensu zakładać kolejnego. Tworze właśnie zegar na atmega i tym PCF'ie i napotkałem na problem. Mianowicie sekundy nie zliczają się kolejno od 1 do 60 tylko wartości przeskakują liczy od 1 do 9 i np. z 9 na 16, z 25 na 32 itp a przy tym PCF zlicza sekundy powyżej 59. Pytanie co może być tego powodem? Czy może to...
Do 10 zlicza (i to w obie strony) 40110, tylko nie wiem, czy nie trzebaby jakoś tego wejścia przetestować. Niby nie ma kłopotu z długością impulsu, ale to co czasem wydaje się nam jednym długim impulsem może mieć bardzo krótkie przerwy.
Witam Mam taki mały problem zbudowałem uradzenie składające się z 2 mikroelektronik ale, mam problem i nie mam pojęcia co może być przyczyną. Atmega8 wysyła impulsy PWM do ATmegi32, Atmega32 ma za zadanie w ciągu 1 sekundy zliczać impulsy z 8, wartość PWM jest regulowana i gdy 8 jest zasilana z całkowicie innego źródła np programator, wszystko jest...
Ale przecież ze zliczaniem impulsów wyrobisz się w jednej sekundzie, a impuls będziesz dostawał i tak co 1s. I nawet jeśli raz obliczenie sekund zajmie Ci tylko 1ms, a za drugim razem będzie trzeba zmienić godziny i minuty i zajmie to 12ms to i tak następny impuls z zegarka dostaniesz 1s później po poprzednim...
Tylko nie zapomnij o najważniejszym - impulsy muszą być zliczane w pewnym okresie czasu - np. co 1, lub 0,5 sekundy, albo nawet co 0,1s. Jakaś procedura musi zapewnić odczytanie zawartości licznika i przesłanie jej na wyjście (cokolwiek nim jest, LCD, RS, czy nawet kilka LED'ów) po upływie zadanego czasu pomiaru. Potem kasowanie i cykl się powtarza....
Licznik motogodzin ? czyli jak długo pracuje silnik bez zliczania obrotów (zwykłe mechaniczne tak mają). Biorąc pod uwagę twój wzór to silnik pracujący na wolnych obrotach będzie nabijał mniej motogodzin i odwrotnie jeśli będzie hulał na full to w tej samej jednostce czasu nabije więcej motogodzin . Jeśli wiesz jak zliczać impulsy z wału to dorób sobie...
Witam !!! Nie działa mi zapis do rejestrów pcf8583. Układ połączony standardowo z rezystorami podciągającymi kwarcem 32,678 kHz. Dioda podpięta do PD6 zamiast migać jak przyjdzie przerwanie swieci cały czas czasem widać tylko tętnienie swiatła diody. Co sie dzieje ? [syntax=basic4gl] Config Scl = Portc.0 Config Sda = Portc.1 Config Portd.2 = Input Portd.2...
Poi pierwsze. Do BASCOM-a jest pomoc - także po polsku, której to zresztą jestem autorem. Wersję on-line (beta) znajdziesz na mojej stronie WWW. Jak one działają? Zliczają impusy. Albo z prescalera, albo z zewnątrz. Patrz nota katalogowa. W którą stronę zliczają? Zwykle liczą w górę. W trybach PWM liczą też w obie strony. Patrz nota katalogowa. Jak...
dziękuję koledze Bdeath za przykład kodu. Pomogło! Niestety pojawił się kolejny problem... odczytuję kolejne bajty, zamieniam z bcd na dec, tylko że, sekundy są zliczane do...90....
WItam , otóż borykam się z problemem uruchomienia INT0 ,który ma zliczać impulsy(1 sekunda) z wyjścia INT PCF8583(stan niski), i co powiedzmy 15 impulsów(15s) ma wykonywać się podprogram. Mógłby ktoś pokazać mi jak skonfigurować INT0 w Bascom ? Dziękuje i pozdrawiam :D
Gdy wyświetlasz temperaturę, ustawiaj kursor tylko raz, np : [syntax=c]lcd.setCursor(1,8); lcd.print(temperatura); lcd.print("C");[/syntax] Wtedy niezależnie od tego, ile cyfr się wyświetla, ze znakiem czy bez, wyświetlacz wyświetli całość poprawnie. Po prostu będzie się wszystko przesuwało w prawo, od współrzędnej ustawionej przez lcd.setCursor() ;...
Są gotowe paski LED z diodami WS2812B - są to paski RGB ( czyli mogące świecić "dowolnym" kolorem ). Sterowane są właśnie 1Wire. W dodatku można ustawiać ich jasność a także sterować kolorem i jasnością poszczególnych diod w taśmie a nie tylko całą taśmą. Są oczywiście dużo droższe od taśm "zwykłych". Co do kodu - bardzo, bardzo martwi mnie duża ilość...
przycisk musisz trzymac, bo procek wisi w funkcjach opozniajacych (delay()). uzyj przycisku ktory ma przerwanie, wtedy problem bedzie rozwiazany. ewentualnie musisz swoje odliczanie sekund przerobic - na przyklad na timer w tle, ktory daje przerwanie, w ktorym to przerwaniu sa zliczane owe sekundy - tym sposobem tez bedzie rozwiazane. procek na raz...
const int stepPin = 8; unsigned long stepperTimer; int currentStepperSpeedDelay = 500; // bieżąca prędkość krokowa opóźnienie byte stepInState = 0; // stan wysoki lub niski dla następnego kroku int stepCounter = 0; // licznik kroków int targetSteps = 200; // docelowa ilość kroków bool running = false; // flaga informująca, czy silnik działa void setup()...
W trybie 1 jest 16-bitowy, liczy od zadanej mu wartości do 65536, następuje przerwanie od przepełnienia licznika, coś wtedy może zrobić w obsłudze tego przerwania i ponownie zaczyna zliczać od zadanej mu wartości lub od zera jak mu nie zadasz.
Zrobisz to najprościej tak: - układ 4093 jako generator taktu, regulowany; - dzielnik 4040, (albo 4024, albo 4020 ...) Generator regulowany RC na 1 bramce 4093 daje Ci jakieś impulsy, które zliczasz na liczniku. Jeżeli impuls trwa 0,1 sekundy, to ustawiasz generator na 10Hz i dla odstępu impulsow 60 sekund zliczasz je licznikiem, którego stan "600"...
Czy jest możliwość zastosowania silnika krokowego w taki sposób aby podłączony przez jakiś moduł/sterownik mierzył prędkość obrotową tegoż silnika, Możliwe ale czy rozsądne? Ja bym użył halotronu. który byłby przymocowany np do koła samochodu, (...), np odświeżanie 10 razy na sekundę Jak będziesz jechał wolno, np 1 obrót na sekundę, to jak zliczać...
Chce sobie zrobic z tego wyświetlacza stoperek ktory bedzie mi odliczal od 99 do 0 co sekunde. Aaaa no to wszystko jasne... ja myślałem że chodzi ci o to żeby w ciągu jednej sekundy zliczał od 99 do 0, wyświetlając aktualną liczbę na wyświetlaczu... W takim razie nie ma problemu nawet w bascomie :)
Dioda led zlicza sekundy Dioda nie zlicza - zliczać moze procesor. W poprzednim poście pytałem o diodę transpotora. Dodaj miedzy PC5 a masę dodatkowy człon z połączonych w szereg diody LED i rezystora by się przekonać że stan wysoki w tym miejscu zanika. Jeśli zanika to pozostaje przebudowa układu wykonawczego w/g twojego planu na dwa tyrystory antyrównolegle...
Policzyłem czasy[t] jakie wystąpią między dwoma magnesami . Wyszło mi: v=1[km/h] -> t=2,26[s] v=35[km/h] -> t=0,06[s] Więc ustawiłbym timer żeby zliczał do 2,5 sekundy... dobrze myślę ? Potem ustawić np. kanał 1 jako input capture z przerwaniem CC1 by odczytać CCR1 ?
Dokałdnie tak. Sumuj sobie całkowity czas wtrysku a oprócz tego zliczaj czas z każdej sekundy. Do chwilowych obliczeń masz wtrysk z sekundy a do globalnych całkowity czas wtrysku. Prosto i przejrzyście. PC
Zrobiłem taki prosty program w PLC. Generator impulsów na dwóch timerach. http://obrazki.elektroda.pl/1390334300_1... http://obrazki.elektroda.pl/9343867500_1... Jeden genereje impuls co 10ms a drugi kończy zliczanie po 1s. Czyli przez 1 sekundę powinniśmy miec 100 impulsów. Podłączyłem Q0.0 do wejścia I0.0 odblokowałem...
A nie prościej byłoby ustawić timer, żeby odmierzał 15 sekund, a impulsy zliczać przy pomocy przerwania. Każdy impuls zwiększałby licznik impulsów (w przerwaniu). Po odmierzeniu 15 sekund miałbyś przerwanie od timera, w którym odczytywałbyś licznik impulsów i odpowiednio reagował. Po odczytaniu zerowałbyś licznik impulsów. Cały cykl powtarzałby się...
Ale jakie schematy Ci sa potrzebne? Podłączenia napędu kart SD/MMC czy podłączenia czujnika temperatury? Myślę, że obydwa znajdziesz bez problemu i właśnie dlatego każdy poszczący nie umieszcza schematów, które są powszechnie znane i dostępne. Podałeś już wystarczająco dużo danych i na pewno da się z tego coś sklecić. Zapis co 5min 1bajt na temperature...
Jeśli tak, i ma to być na '51 tak jak napisałeś to moim zdaniem najprościej byłoby napisać raczej standadowy programik do pomiaru częstotliwości który by zliczał nie przez sekundę a przez 10 sekund (rozdzielczość 0.1Hz). Samą sieć można by badać podłączając do niej trafo o stronie wtórnej najlepiej 5V (chociaż pewnie niekoniecznie) i jakikolwiek komparator,...
CD4060 z kwarcem zegarkowym da 2Hz (dzieli przez 2^14=16384, a kwarc ma 32768); używając jeszcze jednego licznika 14-bitowego można zliczyć 8192 sekundy, można by w tej roli użyć CD4020 - ma wyjścia 2^1 i od 2^4 do 2^14 wszystkie, jak się go podłączy pod Q12 w CD4060, to mamy zliczanie do 4096 sekund co 2. Jeszcze inna możliwość to układ zegarowy z...
W DOS-ie zegar "tyka" chyba co 18.2 ms i dlatego nie można precyzyjnie określić kiedy przyszedł impuls wejściowy. Jeśli to jest dopuszczalne to można wydłużyć czas pomiaru i zliczać impulsy np. przez sekundę. i podawać taki uśredniony wynik. Błąd pomiaru czasu będzie wtedy ok. 18/1000 co przekłada się na błąd 60 * 18/1000=1.08 km/h dla prędkości 60km/h.
Witam:) mam pytanie do forumowiczów w sprawie pomiaru częstotliwości, sprawa przedstawia się następująco: chciałbym zrealizować pomiar częstotliwości .............. wiem ze należy postąpić w poniższy sposób: 1. zatrzymanie zliczania impulsow z T0 2. zatrzymanie odmierzania czasu bramkowania T1 3. przepisanie zliczonych impulsów do rejestru głównego...
Tak na początek. Nie zmieniłem działania programu, a tylko zliczanie czasu do 9999s.
To może faktycznie zrób część dolną, podnoszoną do góry przy użyciu kółka jadącego po podjeździe. Ewentualnie podnoszenie do góry całego skrzydła. Ale wtedy jest trochę zabawy z mocowaniami siłownika, które musiałyby być wyposażone w dodatkowe przeguby. Tutaj najlepiej byłoby się kierować kątami nachylenia płaszczyzny wjazdu w poszczególnych kierunkach....
rusza sekund whirlpool sekund odmierzanie sekund
amazon assistant amica wymiana pompy automatyczna skrzynia biegów naprawa
falownik sofar winda inwalidzka
Głośniki Samsung PS-FTHX25: Budowa i Schematy Instrukcja obsługi klawiatury Kenwood BM350