Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
1. Wszystkie zmienne powinny być typu takiego, który jest w stanie pomieścić wszystkie możliwe wartości, które mogą wystąpić, czyli w tym przykładnie zmienne WYNIK i WYNIK2 powinny być typu WORD 2. Zmienne T, S, D, J są w tym przykładzie zmieniane przed wyświetleniem i przy następnym wywołaniu podprogramu wychodzą głupoty. Sprawdz coś takiego: Dim J...
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
Jakiś czas temu z kumplem bawiliśmy się serwem Hitec HS-311. Sprawdzaliśmy co się będzie dziać przy podawaniu impulsu co 10ms,15ms (o ile dobrze pamiętam serwo chodziło podobnie jak przy odświeżaniu 20ms) i 30ms,40ms,60ms (im dłuższy okres tym większe skoki w obrocie).
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...
zapoznaj się z tym projektem http://www.edw.com.pl/pdf/k10/55_06.pdf cała idea sterowania zawarta jest w podprogramie Foursteps i Ddelay jest to wprawdzie dla 8051 ale to kwestia tylko zmiany nazwy portów oraz podstawowa sprawa typ silnika i jego parametry
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Szybko zajrzałem do noty PCF8583 i tam jest napisane, ze kiedy nie używasz funkcji alarmu to stan na pinie INT zmienia się na przeciwny co 500ms. Tak wiec impuls jest na tyle długi ze spokojnie można go traktować jak zwykły przycisk naciskany co sekundę. [syntax=vbnet]$regfile = "m32def.dat" $Crystal=8000000 $hwstack = 64 $swstack=32 $framesize = 128...
Ok po kolei, wywalam wszystko z programu, zostawiam tylko...... zmienna impulsy jest zwiększana o kilkanaście a nie tylko o jeden ............ Licz: If Scisk = 1 And Ok = 1 Then Incr Impulsy Elseif Scisk = 0 And Ok = 1 Then Decr Impulsy End If Return Kontaktron (Reed switch) generalnie jest stosowany jako proxy switch, czyli w ukladach statycznych....
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
emarcus:: Czy Ciebie całkiem pogieło? Jak chcesz pomnożyć częstotliwość rozkazem MUL? Ewentualnie jak chcesz tym pomnożyć impulsy? Bez obrazy ale to zupełnie co innego. Dodano po 19 Na mój gust cos takiego: $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 64 '---------------------------------------...
Nie lepiej zerować przez RS'a zmienną która zlicza impulsy ?
6000 * 360 = 2 160 000 czyli 460ns na impuls. więc co najwyżej 9 cykli zegara ATMEGI na impuls :(
(at)ElektrodaBot Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780.
Bascom zawsze używa metody obliczeniowej, która należy do zmiennej wynikowej. Oznacza, że w tym przypadku Bascom wykonuje obliczenia na bajtach. Wartość obliczeniowa2 jest typu Word. Czyli (1) = Liczba_ok / 100 zmienna Liczba_ok traktowana jest jako byte. Jedynym sposobem na konwersję jednego typu na inny jest po prostu przypisanie go w ten...
Prototyp zrobiłem na pomiarze napięcia (ADC) na fotodiodzie - to chodziło, dopóki nie zacząłem testu na dworze.... Fotodioda łapała podczerwień z... no właśnie, skąd? Nie wiem. To oczywiste. Światło z otoczenia również zawiera podczerwień, więc pojawiają się zakłócenia. Po odłączeniu fotodiody i dotykaniu kabelkiem do + na wyświetlaczu także pokazywały...
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...
Liczniki są osobnymi blokami uC, więc jeśli sygnał wejściowy jest poprawny, to impulsy powinny być zliczone poprawnie. Podany wyżej program to program użyty w moim mierniku częstotliwości okrojony z niepotrzebnych ci rzeczy, które mogłyby zaciemnić jego sens. Działa przy częstotliwości kilku MHz.
W C to bym ci nawet pokazał jak to zrobić, o BASCOMie nie mam pojęcia i nie chcę mieć :) Swoją drogą lepiej porzuć tą ciemną stronę mocy i przejdź na stronę światła :)
Dzięki wielki. Będę próbował, jeśli będą jakieś problemy to trudno (niestety taki bascom). Jeżeli się nie uda z przerwaniem timera to spróbuję z NE555. Tutaj mam 2 wyjścia albo ON/OFF i cały czas taka sama częstotliwość, albo spróbuję z PWM od mikrokontrolera, który będzie regulował pracę NE555 (mówię tutaj o podłączeniu tylko części z rezystorami i...
No jak za każdym razem do licznika wpisujesz zero to jakim cudem ma być spełniony ten warunek timer1= A?
Witam. Nie sprawdzałem tego, ale proponowałbym coś takiego: W pętli głównej programu Main: Do If K1 = 0 Then Call Generacja End If ....... Loop End W podprogramie Sub Generacja If K1 = 0 Then Set ...jakis port Waitms 50 Reset ... jakis port End If Do If K1 = 0 Then Loop End If If K1 = 1 Then Set ... jakis port Waitms 50 Reset ... jakis port Exit...
Liczenie impulsów samo w sobie jest bezsensowne.. jak już to liczy sie impulsy przez określony czas albo podczas jakiegoś warunku itp, możliwości jest tak dużo że bascom niezostał w to wyposażony (bynajmniej ja tyle wiem). impulsy najłatwiej można zliczać za pomocą zewnętrznego przerwania, przez czas działania timera, timer uruhomić, uruhomić przerwanie,...
witam! mam taki problem: chcę zliczać zewnętrzne impulsy, timer mam skonfigurowany w taki sposób: config Timer0 = counter, edge = falling, noice cancel = 1, na portd.4 mam ustawiny wewnętrzny pull-up i dodatkowo zewnętrzny rezystor podciągający 4,7k.do masy kondensatorek 100 nF. Licznik oczywiście mi liczy ale zlicza też przypadkowe impulsy. widać to...
jeśli dobrze rozumiem to timer0 ma pracować jako licznik impulsów podanych na jego wejście zewnętrzne . Wejście T0 w mega8 to pin 4 portuD ( noga 6 ) a tam " wisi wyświetlacz na który procek " sypie " impulsy
Sygnałem wyjściowym hallotrona jest napięcie. Tak więc przez 1/2 LM358 pracująca jako komparator i zasilona napięciem takim jak procesor. Ważna jest biegunowość napięcia wejściowego.
Powiedz coś więcej, jak podajesz te impulsy - przyciskiem?
Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni. Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15 Nic mi się nie zgadza...
Przepływomierz na litr podaje 648 impulsów jak napisać kod bascom żeby zliczał litry litry = impulsy / 648 Litry mają być typu single.
Czy to poprawny zapis do uśredienia wyniku z 60 pomiarów kodu co wyżej podawałem (*) pytam z czystej ciekawości czy to poprawna forma To nie jest 'uśrednienie',- to jest zbyteczne rozszerzenie rachunku wydajności, które jest równoznaczne z pomiarem impulsów w czasie 60 sec. Inaczej, zamiast odczytywać zawartość Countera1 po zliczeniu 250 4-milisekundowych...
Tu jest gotowy przykład na atiny13 ale w ASM [url=http://www.avrfreaks.net/index.php?... nie mam pojęcia czy działa ale zapewne tak ;)
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
Ale impulsy drogi, to nie impulsy wtrysku :)
Skąd bierzesz impulsy, na którym pinie?
Witaj, No save spokojnie możesz użyć.... pod warunkiem, że nie korzystasz w obsłudze przerwania z instrukcji Bascoma bo jeśli tak to nie odkładając rejestrów na stos, zgubisz ich wartości i w najlepszym przypadku będą się działy różne rzeczy. Ja bym napisał wstawkę w asemblerze odkładając wcześniej na stos używane rejestry w tym SREG. Możesz też użyc...
Nie znam się na motoryzacji ale co to w tym przypadku znaczy "duża szybkość"? Ile razy na sekundę bedą się pojawiały impulsy?
Uruchom przerwanie od Countera (najlepiej od porównania wartości zliczonej z ustawioną) i zmień stan portu w podprogramie obsługi przerwania lub prościej, ale mało elegancko zmień [syntax=basic4gl]If Counter1 = 100 Then ...[/syntax] na [syntax=basic4gl]If Counter1 >= 100 Then ...[/syntax] Nie tak jest to, że w chwili zliczenia setki nasz if może się...
Jak najprościej wygenerować na tiny13 3 impulsy w ciągu 1 sekundy , ale bez użycia WAIT .
No program się kompiluje- ale oczywiście nic nie robi. Co robisz z pojawiającym się na Pinb.1 sygnałem? -nic. Końcówką przechwytującą jest Pinb.0. Ale co z tego że zapisze stan- i tak uruchamiasz Timer1 i on sobie liczy coś co nie ma żadnego związku z danymi. Impulsy przychodzą z halotronu co 1ms-to dość szybko- ale nic się z nimi nie dzieje. Zdecyduj...
Dziękuję Tak to tylko liczenie ilości impulsów, jeżeli w określonym czasie jest ich np. więcej niż 100 to wykonaj coś ... Jak kolego może coś napisać prostego to bardzo dziękuję. Pozdrawiam PS Mam już pomysł, tylko może jest zbyt złożony.
Po pierwsze nie baw się w sterowanie fotodiodą IR tylko zastosuj fabryczny odbiornik scalony jaki jest stosowany w sprzecie RTV. Takie odbiorniki są ogólnie dostępne (poszukaj) i wymagają sygnału IR o określonej częstotliwości. Poczytaj sobie dokumentację takiego układu. Najprostsze sterowanie to nadawanie "paczek" impulsów o częstotliwości dostosowanej...
. Zamierzam zrobić tak by mogli wprowadzić korektę (jeśli będzie potrzebna) i zapisać w eeprom. czy to dobry pomysł? Jakoś tak; $Crystal=12000000 Config Timer1 = Timer , Prescale = 8 On Timer1 Inter_1mS Inter_1mS: Counter1 = Counter1 + Licznik (64036 - wychodzi z obliczeń, że da to 1ms) /tu odliczę sobie 103/ Błednie to rozumujesz, albo błednie podałeś...
Wiadomo jak działa Preskale - dzieli licznik zmniejszając jego częstotliwość TAK po ustawieniu 1024 mam około 4 impulsy na sekundę - niezależnie jak jest ustawiony PWM - zgadza się - czy stan wysoki czy niski ma jakąś wartość bez problemu zwiększę częstotliwość PWM-a wstawiając prescale np 256 - i mam 16 razy na sekundę ale chcę uzyskać efekt odwrotny...
Nawet jeden przekaźnik koło procesora może stanowić problem. A jeszcze przyciski zbierające na scieżkach/przewodach te impulsy z przekaźników.
Niestety, dalej to samo :| Dopisz (wyłaczenie przerywań i ponowne włączenie pozostaw): Config Debounce = 250 Dodatkowo warto podłączyć równolegle do styku kondensator 100nF. Inna opcja to stary, ale wciąż produkowany układ MC14490, odciąża całkowicie mikroprocesor od "zabaw" typu sprawdzanie po określonym czasie stanu wejścia. Układ posiada sześć wejść,...
Żeby nie powielać tematu - podobne pytanie: Jak wysłać na jednym pinie ściśle określoną liczbę impulsów z zakresu 0-250000 (Impulsy) w jak najkrótszym czasie (ATmega8 wewnętrzny rezonator 8MHz - Bascom), w pętli: Do If Impulsy = 0 Then Exit Do End If Decr Impulsy Portb.0 = 1 Portb.0 = 0 Loop trwa ponad 20 sekund.
Apage Satanas!!! A jak wsadzę pustą pętlę to jak silnik (w zasadzie L6219) ma dostawać impulsy co 237us?
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu.
Mozna to zrealizować na dwa sposoby: 1. Za pomocą przerwania zewnętrznego INTx zliczać ilość impulsów. Podobny temat już jest: 2 Zliczać impulsy na wejściu ICR Podobny temat masz poniżej: http://www.elektroda.pl/rtvforum/topic18...
Daj jakiś schemat. Bo już nic z tego nie rozumiem. Co ma wyzwolić opóźnienie? Bo Timer1= counter zlicza impulsy z PD.5. Czy na tę końcówkę podajesz impulsy jakieś?
No w taki sposób to nie zadziała. Jeśli chcesz zliczać jakieś pojedyńcze impulsy to na wejściu Icp1 timera1. Poczytaj datasheet Atmegi16: http://www.atmel.com/dyn/resources/prod_...
Nie mogę się doszukać w helpie jak skonfigurować i używać PWM dla Tiny2313 w Bascom AVR a wyszukiwarka na forum nie działa, ktoś może mi pomóc? Ponieważ nie za bardzo ufam Bascomowi przy konfiguracji automatycznej( Config Timerx) , to wolę poustawiać rejestry ręcznie , korzystając z dokumentacji :D $regfile = "attiny2313.dat" $crystal = 1000000...
zaprzyjaznij sie z datasheetem i znajdz sobie w nim rozdzial p.t. Input Capture gotowy kod mozesz napisac na podstawie tego co tam znajdziesz, powodzenia. 0x41 0x56 0x45!!
Chodzi Tobie tylko o szybsze, czy o to, że ma zliczać impulsy tylko wtedy jeśli ich częstotliwość jest równa 100 Hz?
R10 jest nie potrzebny Kolega pisze bzdury, bez rezystora przycisk dostaje spore impulsy przeciążeniowe z naładowanego kondensatora.
........ chce wykorzystać wewnętrzny kwarc 8Mhz po trzecie czytając helpa jesli dobrze rozumiem to timer1 jest 16bitowy a timer0 jest 8 bitowy emarcus - gdybym chciał wykorzystać twój pomysł to gdybym zostawil timer1 jako counter a jako timer wykorzystał timer0 ktory by zliczał czas w jakim sa zbierane impulsy - jeśli o to ci chodziło i jeśli jest...
dzieki za zainteresowanie procedura działa, ale tak samo jak w bascomie, czyli gubi impulsy jak tylko szybciej zakręcę to na obrocie mam 200 impulsów różnicy, gdzieś tutaj bascom bruździ, w fastavr chodzi znakomicie, kręciłem do kilkuset obrotów/min i nie gubi ani jednego... a w programie bascomowym mam tylko kilka linijek , wyświetlanie lcd i przerwanie...
Po długim analizowaniu problemu narodziło mi się coś takiego: 'pętla główna Dim I As Integer Dim Impulsy As Long Dim Sek As Integer Tccr1a = &H00 'ustawianie trybu pracy timera1 Tccr1b = &H0C Ocr1ah = &H7A 'załadowanie liczby 31250 do licznika Ocr1al = &H12 'przykładowa liczba do odmierzania (1s) Tcnt1h = &H00 ' zerowania rejestrów do zliczania...
No przecież prosto. Konfigurujesz timer1 do pracy w normalnym ale nie robisz start timer. robisz przerwanie dzialajace na zbocze np. narastające-> Dalej : robisz zmienną flaga w przerwaniu robisz if flaga=1 then start timer1 flaga=0 else stop timer1 w rej od timera masz czas... kopiujesz gdzie Ci tam pasuje flaga=1 zerujesz licznik endif I tyle, oczywiście...
piotr5000 - Mniej więcej w tej sposób mam zrealizowane pętle w swoim programie. I to działa jak trzeba. Z tym nie mam problemu. Jedyne czego nie mam i pytanie od początku tego dotyczy to jak zapisać wartości dal tych przerw?? Tego nie wiem jak taśmowo je zapisać i odczytywać po kolei. Dla kilku wartości nie mam problemu. Deklaruję tablicę z 10, czy...
Fajnie, ale jak to zrobić w Bascomie?:(
Jest możliwe aby przy kwarcu 16Mghz i prescaler1 Timer1wysyłał na portd.0 impulsy o szerokości 100us ? Timer1 nie wyśle żadnych impulsów na pin PD0. Można natomiast tak ustawić timer, by generował przerwanie co określony czas, a w nim odpowiednio sterować pinem PD0. I pytanie: Od kiedy programujesz w BASCOM?
Bo timer0 liczy mi impulsy jak zatrzymam watem to pogubi mi impulsy. Tak jest czy się mylę ?
Z tym, że płytkę mam już wykonaną i impulsy podaję pod port INT0
a jak puścisz przyciski to ma przestać chodzić czy ma cały czas generować te impulsy?
Witam Zgadzam się z przedmówcą. W zmiennej "Impw" zliczane są impulsy wtryskiwacza w czasie trwania jego cyklu. Wartość 15067 to nastawa timera zależna od częstotliwości taktowania uK (zastosowanego kwarcu): 1/4000000 = 0,25us 0,25us * 15067 = 0,00376675ms Wartość ta (jak widać z programu) odpowiada w przybliżeniu stałej wtryskiwacza: 'stała wtrysku:...
Nie wiem jak napisać przerwanie aby w kółko się nie wykonywało jak jest stan niski. Po prostu konfiguruje się przerwanie inne niż LOW LEVEL. Domyślnie jest low lewel dlatego mam podejrzenie że bascom coś namieszał i nie zmienił. Spróbuj też dodać jakiś mały kondensator, może jakieś szpilko się pojawiają i zlicza Ci dodatkowe impulsy.
Zrob to w przerwaniu. A przedewszystkim uzyj szukaj, jest troche posotw jakoto zrobic.
To rozwiązanie chcę użyć do zliczania sygnałów z czujnika. Na chwilę obecną zliczam impulsy na zmiennej i jest taki efekt, że w trakcie zliczania program wykonuje zliczanie i nie mam możliwości przełączać innych wyjść. (zliczanie jest jednym etapem gdzie musi zostać wykonana określona liczba obrotów)
Może spłycę :) wypowiedzi przedmówców, ale w skrócie chodzi o to. 1. Wyświetlanie wszystkich 4-ech segmentów sterowanie jest tym samym portem, w tym przypadku P1 2. Tranzystory powodują po prostu dostarczenie napięcia do odpowiedniego segmentu. 3. Wysyłając jakiś sygnał na port P1, wysyłamy ten sam sygnał do wszystkich segmentów, a sterując odpowiedni...
Z tym priorytetem to nie do końca jest tak jak myślisz. Dziala to tylko w przypadku jednoczesnego otrzymania sygnału przerwania, natomiast po wejsciu do przerwania od licznika obsługa przerwania z enkodera zostanie zawieszona do momentu ukończenia obsługi licznika. W twoim przypadku w niczym to nie przeszkodzi chyba ze faktycznie enkoder generuje "gęste"...
Witam W załączniku masz cały program stopera z dokładnością 0,1s Wytniesz z niego co trzeba Pozdrawiam PIOTR
Zatem impulsy pojawiają się kolejno jak na wyjściu 4017. Dobrze byłoby sprawdzić (parami) czy na wszystkich 6 wyjściach tak jest. Jeśli tak, to proponuję do każdego wyjścia podłączyć układ różniczkujący C/R, np. 1nF/10k(podciągający do +5V, bo zazwyczaj do wyjść układów może wpłynąć większy prąd w stanie niskim niż wypłynąć w stanie wysokim). Na wyjściach...
chce to liczyc przy pomocy mikrokontrolera AVR (AT90S2313) Strona "domowa" Bascom'a: aplikacja AN115 ;-)
I też tak myślałem......niestety wartość 111 i obok niej nie działają w ogóle :/ Fuse-y na pewno ustawione są ok Dodano po 36 Nadal to samo, zastanawia mnie czemu jak szybko ruszam diodą nadawczą to i z 3 metrów widać impulsy diody....
Witam! Jak rozumiem, to masz licznik impulsów zewnętrznych, i chciałbyś prezentować wyniki na bieżąco. Jakiego rodzaju szyny używasz do sterowania tego wyświetlacza? UART-a czy I2C? Jeśli to drugie to na czas komunikacji musisz wyłączyć przerwania, bo może się zdarzyć, że zostaną zakłócone impulsy SCL (zegara).
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
Witam ! Zastępując fragment programu : 'If Impuls = 0 Then 'Incr Licznik 'Waitms 100 'End If Debounce Pind.5 , 0 , Licz , Sub i dopisując : Licz: Incr Licznik Return Otrzymamy program zliczający pojedyncze impulsy. Pozdrawiam. Stefan
A jaki to odbiornik IrDA podłączasz ? Podstawową rzeczą, którą musisz zrobić z sygnałem, który do Ciebie dociera to go zdemodulować. Jeśli chcesz to robić cyfrowo to możesz użyć demodulacji synchronicznej (koherentnej). Ale... nakład pracy, który włożysz w całą tą zabawę będzie na pewno dużo większy niż np. kupno TSOPa.
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy Start a Stop? Bardzo proszę o podanie fragmentu kodu. A czy...
Timer skonfigurowany jako Counter liczy impulsy z zewnątrz, a nie mierzy czasu.
Czyli bardziej taki komputerek podkładowy, bo licznik, jak sama nazwa wskazuje, liczy impulsy, ew. prędkość.
Ojojoj. Gotowego programu nikt Ci nie napisze. Pomyśl trochę... Na pewno trzeba odmierzyć np. sekundę i w ciągu tej sekundy zliczyć impulsy z czujnika obrotów.
A gdzie instrukcja CONFIG TIMER1 = COUNTER?
Mam taki problem że po zaniku w kodzie impulsu nadam piszczy mi buzer - wszystko wyjaśni poniższy kod który jest na 100% poprawny ale i tak czegoś brakuje a i skończyły mi się pomysły 'alarm P If T(1) >= T_alarm Then If Buzz_en = 1 Then Led_a = Not Led_a Else Led_a = 1 if Buzz_en = 1 then buzz = not buzz else buzz = 1 Else Led_a = 1 Czujnik(1)...
Sprawdzę dopiero jutro jak to działa bo siedzę na 2 zmianie. Jeżeli by to nie poszło to można tak jak mówisz wykorzystać ICP1. Wtedy ( wg. mnie ) na wejście T1 dam sygnał z generatora zewnętrznego na kwarcu np. 125kHz 50% powinno wystarczyć, a impulsy które będę mierzył dać na wejście ICP1 - a co do oprogramowania tego to pewno znowu będę prosił :please:...
Witam Pisalem kiedys program do sterowania robotem (manipulatorem ) w bascomie. Zliczal on miedzy innymi impulsy z 3 enkoderow. i wszystko ladnie chodzilo: Fragment kody ktory zlicza impulsy z 3 enkoderow: //enkoder 1 Enk1_a Alias Pinb.0 Enk1_b Alias Pinb.1 //enkoder 2 Enk2_a Alias Pinb.2 Enk2_b Alias Pinb.3 //enkoder 3 Enk3_a Alias Pinb.4 Enk3_b Alias...
Zgadzam się, napięcia mogą być o wiele większe, nie posiadam oscyloskopu, poprostu mierzyłem to prostym multimetrem, multimetr uśrednia wartości. Nie zmienia to faktu że atmega nie miała z silnikiem szans. ... i pewnie już nie żyje, przy tak wysokich impulsach. Polecam lekturę Dodano po 4 ... Są prostsze elementy, nieprzyporządkowujące danej pozycji...
Chodzi o ten kod? To mój kod. JESZCZE RAZ NAPISZĘ - impulsy zlicza licznik0 więc musisz podać je na pin o alternatywnej funkcji "T0". Inaczej miernik nie będzie mierzył. Schemat i program to jedna całość. Nie można do danego programu dorabiać dowolnego schematu!
Możliwość jest :) Wystarczy zliczać impulsy z wejścia licznika i podać je na lcd :) Do tego żeby pomiar był z 3ch źródeł, jakiś prosty przełącznik wejścia. Tu jest podobny temat, ale na PICu. http://www.elektroda.pl/rtvforum/topic93... Jeśli nie wiesz jak zacząć, poszukaj programów do obrotomierzy w BASCOMie, i troche zmodyfikuj :)
Wypełnienie jest 50/50 a więc takie samo...impulsy idą z wiatraka
Jeżeli chcesz precyzyjnie odmierzać / wyznaczać częstotliwość powinieneś korzystać z przerwań Timera. Zależy też jakie mają być te impulsy, jakie wypełnienie etc.
Witam Zapewne jak napiszesz w asemblerze to sie uda, przede wszystkim musisz potrafic wygenerowac ramki obrazu (wygaszanie, impulsy synchronizacji pionowej, poziomej, itp), polecem odwiedzenie tej strony: http://www.rickard.gunee.com/projects/vi... Co prawda nie na AVR ale na PIC, ale jest podlaczone do TV. Pozdrawiam kubagert
Czesc.! Mam problem chce w Bascom napisac program.ale nie wienm jak. Portc.0=input Portc.1=output Portc.2=output Na Porcie c.0 jest przycisk ,na dwuch kolejnych portach Portc.1 i Portc.2 mam wyjscia Led. teraz : Port c.0 jest aktywny jeden z portow C.1 jest tez aktywny. Na porcie wejsciowym sa liczone impulsy jezeli ich bylo np: 100 to liczenie i wyjscie...
Ciekawe jest to widać w twoim profilu (Pomógł: 79927) :P ale do rzeczy. Według mnie coś takiego można zrealizować w następujący sposób: - konfigurujesz przerwanie zewnętrzne żeby było wyzwalane przerwanie zboczem opadającym, rosnącym etc. - w tym przerwaniu uruchamiasz timer który zlicza sobie impulsy - jeżeli zliczy określoną ilość impulsów to wykonujesz...
Mam prostokąt (PWM) na timer1. Czy zliczać Timer1 czy Timer0? Timer ma być ustawiony na time czy counter. Wydaje mi się że najlepiej byłoby ustawić na zliczanie impulsów czyli counter i po odliczeniu 59 zatrzymać Timer1 na czas 1 lub 2 impulsów. Wszystko OK ale nie udaje mi się to w praktyce. Albo nie generuje nic, albo nie zatrzymuje po odliczeniu....
A jakbyś spowolnił impulsy np. 100 razy i sprawdził algorytm na diodach?
bascom timer impulsy impulsy wtryskiwacza impulsy elektryczne
uniwersalne sterowniki karty graficznej kabel monitor 120hz licznik honda
zelmer odkurzacz aquawelt odkurzacz aquawelt
Muzyka powitalna Windows XP: title.wma inSSIDer nie wykrywa sieci Wi-Fi - możliwe przyczyny i rozwiązania