Chciałem Ci dać wędkę, ale wolisz rybę. $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz_2s Dim Licz As Byte Enable Interrupts Enable Timer1 Start Timer1...
Ma 6 kabli bo ma gaszenie dodatkowo, co do sterowania wyprzedzeniem za pomocą mikrokontrolera to taki mikrokontroler można wpiąć przed fabrycznym zapłonem - między czujnikiem na magnecie a modułem zapłonowym. Mikrokontroler - wystarczy AVR np Atmega8. Cała zasada jest taka że mikrokontroler z impulsów dawanych przez czujnik w magnecie oblicza prędkość...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1...
Zacina sie bo to wada bascomowejo Getrc5. ten program musi działac, dlaczego go nie zastosowałeś? Spróbuj, tylko odbiornik IR musisz dac na wejscie ICP procesora. [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 $baud = 9600 Config Timer1 = Timer , Capture Edge = Falling , Prescale = 8 '1 tick= 1 uS On Capture1 Capture_edges 'To przerwanie...
Że częstotliwość z zegara w przypadku tim2 jest to 86Mhz jest dzielona przez TIM_ClockDivision, następnie przez Prescaler, a potem dobiera się okres sygnału czyli TIM_Period Nie, nie i nie. Na podstawie datasheeta: Several prescalers allow the configuration of the three AHB buses, the high-speed APB (APB2) and the low-speed APB (APB1) domains. The...
Dzięki za tę wskazówkę - przeniosłem się z kanału 22 na kanał 11 i teraz działa zgodnie z oczekiwaniami. Mogę rzeczywiście przetestować HA Discover w następnej kompilacji. Coraz bardziej wygląda na to, że mogę przejść od połowicznego sukcesu do nazwania tego sukcesem. (patrz załączony film) https://filmy.elektroda.pl/71_1754737009... Po podłączeniu...
A po co ten nawias? 16MHz czyli 1 cykl trwa 1/16000000 = 62,5ns. 200*8*62,5ns = 100us
jeszcze zobaczę, Mega jest trochę droga Co ty opowiadasz - M8 jest tylko 60gr droższa od tiny2313 (oba w obudowach dip) i to w normalnym sklepie (na allegro pewnie nawet jest tańsza).
Chciałbym zlecić komuś stworzenie takiego prostego urządzenia w ilości 1000 sztuk :) Chodzi mi o proste urządzenie odliczające czas od 48h w dół aż do zera, a potem stop. Musi działać na zasadzie raz włączone zaczyna odliczanie i potem nic się nie dzieje. Włączenie go musi być na zasadzie wyciągnięcia "zatyczki". tak jak to jest w nie których zabawkach....
nie możesz używać instrukcji load timer= jeśli chcesz w ten sposób to tak:load timer0,250(to daje do odliczenia 250 cykli) lub counter0=6 co też daje tyle samo do odliczenia czyli 250 cykli, to jeden z problemów z Twoim tajmerem Dodano po 3 Zapamiętaj zasadę, instrukcja load timer oblicza sama ilość cykli zliczanych do wystąpienia (tyle ile wpiszesz...
No nic dziwnego że Ci się nie zgadza bo te wartości z błędne :D Powinno to być 1000 i 20000. A oblicza się prosto. Timer pracuje na zegarze 1MHz (8MHz i preskaler równy 8). ICR1 określa okres, a nie częstotliwość. Częstotliwość pośrednio też ale jako odwrotność. Zatem dla tych dwóch wartości (50 i 1000Hz) mamy: 1000000Hz/50Hz = 20000 1000000Hz/1000Hz...
Moim zdaniem całość nie działa poprawnie, bo używasz Timera1 pracującego w trybie CTC jednocześnie do odmierzania odcinków czasowych wyświetlacza i do pomiaru czasu zatoczenia pełnego koła. W trybie CTC Timer liczy od 0 do wartości Compare1a po czym zostaje wyzerowany, więc ten podprogram w przerwaniu ICP1, który oblicza Ci ile cykli zliczył Timer podczas...
Dzisiaj troszkę posiedziałem nad tymi stosami, zapoznałem się nieco z tym opracowaniem. Próbowałem również rozgryźć tabelkę "SRAM" w symulatorze bascom. Z opracowania i zachowania symulatora wydedukowałem że obszar w sram na $hwstack jest na najwyższych dostępnych adresach pamięci sram i zwiększa się on do dołu(niższych adresów), więc na początku metodą...
Cześć Przerabiam komputer do samochodu i chce użyć 89C52 zamiast 89C51 bo ma ten dodatkowy timer , ale dokońca nie kumam możliwości tego T2. Ma może ktoś jakiś opis po polskiemu tego procka bo po angielsku PDFa mam ale ten angielski..... W '51 T1 służył do baudrate przy transmisji przez RSa ,a jak to sie ma w '52? Doczytałem sie że T2 może służyć do...
Mam problem z którym próbuje uporać się już od dłuższego czasu. Nie wiem jaką wartość powinienem wpisać do timera dwu bajtowego aby uzyskać przerwanie co sekundę. Nie pytałbym się tu o takie rzeczy ale nawet w książce "Mikrokontrolery dla początkujących" autor oblicza wartość timera pisząc sprzeczne równanie! Od razu mówię że programuje w BASCOMIE jeśli...
Cześć! Zbudowałem miernik częstotliwości w oparciu o procesorek Attiny 2313. Oczywiście zrobiłem to w ten nazwijmy "lepszy sposób" czyli dwa timery, jeden oblicza czas równy 1 sekundzie, a drugi liczy impulsy. Kwarc zewnętrzny 11059200MHz, wszystko działa jak należy... ale mam problem z pomiarem czestotliwości w zakresie od 2 do 5 Hz z rozdzielczością...
witam serdecznie mam takie pytanie o co chodzi z tym RDS(on) w mosfetach rozumiem że im mały ten RDS to mosfet się tak nie grzeje moje pytanie jak się oblicza jakimś prostym sposobem rezystor na bazę doczytałem sie nawet ze lepiej nie dawać tych rezystorów na bazę z tego względu że tranzystor wtedy się szybko nie przeładuje i się grzeje ale znowu bez...
Zawartość biblioteki: [syntax=c] #include "Timers.h" void Timer::restart() { _lastTime = millis(); } void Timer::begin(const uint32_t interval) { time(interval); restart(); } bool Timer::available() { if (_time == 0) { return false; } uint32_t actualTime = millis(); uint32_t deltaTime = actualTime - _lastTime; if (deltaTime >= _time) { return true;...
Poprawiłem obsługę wyświetlacza. Mam nadzieję, że teraz jest poprawnie. Niestety pomiar odległości dalej nie działa jak należy. Do 50cm jest w porządku. Powyżej zaczynają skakać segmenty wyświetlacza, ale wynik jest prawidłowy. Po przekroczeniu 100 cm na wyświetlaczu robi się dyskoteka oraz odległość jest nie do odczytania. Od dłuższego czasu z tym...
Co zrobić aby aby ta pętla działała? Dodano po 7 Kod z zaznaczonymi liniami z błędami: #include <Wire.h> #include <i2c.h> #include <i2c_BMP280.h> #include <WS2812B.h> #include <BH1750.h> #include <DHT.h> #include <LiquidCrystal.h> #include <TimerOne.h> #include <HMC5883L.h> // do czujnika zanieczyszczeń...
Posiadam przykład kodu na atmega16 (coś mnie ten procek prześladuje :/) i chcę to przerobić na atmega128. Pod atmega16 wygląda on następująco: .cseg RESET:cli clrr30 outEECR, r30 outMCUCR, r30 ; watchdog na ok.1s ldir31, (1<<WDE) | (1<<WDP2) | (1<<WDP1) outWDTCR, r31 ; inicjalizacja stosu ldir31, high(RAMEND) outSPH, r31 ldir31, low(RAMEND)...
Doskrobałem trochę kodu, program działa jeżeli w linii CJNE A,03h,LOOP zmienię 03h na np. #03h co da mi dokładnie taką wartość, a nie wartość rejestru (będzie skakać do etykiety CORRECT jeśli nacisnę '3' na klawiaturze. Może linijkaMOV R3,#32h nie jest poprawna? Z tego by to wynikało. Ponadto aktualnie mój timer może zliczyć coś około 13 sekund, pomyślałem...
crazy_phisic = faktyczne to mój błąd z różnych testów i kombinacji... m.bartczak = tu również to jedynie błąd z testów. Sprawdzałem na różnych timerach. I przy wklejaniu kodu nie zmieniłem tego. W ramach testu zmodyfikowałem kod, tak aby co 1000 przerwań (czyli teoretyczne 1000*1ms) dał mi 1ms impuls na diodę: $regfile = "m88def.dat" $crystal...
1) jeśli rejestr TH ustawimy tak: THS EQU 256-180 to co ile będzie mrugała dioda w tym przykładzie który dałem wyżej? (wklejam go tu jeszcze raz) 2) Co ile by mrugała gdyby nie było w pętli LOOP liczenia do 20??? 3) Jak to wszystko poustawiać, żeby mrugała dokładnie co sekundę? 4) Jak się dokładnie oblicza te częstotliwości? Tego nie czaję. Może ktoś...
czesc w bascomie moze byc? jak tak to: :) Config Timer0 = Timer , Gate = Internal , Mode = 1 ' Configuracja timera Config Lcd = 16 * 2 ' ..wyswietlacza, przykladowa Dim Temp As Byte 'zmienne Dim Temp_2 As Byte Dim Temp_3 As Byte Dim Sekundy As Byte Dim Silna As Single Dim N As Byte Enable Interrupts 'wlaczenie przerwan Enable Timer0 Enable Int0 Enable...
W przerwaniu Int0 inkrementuj zmienną. Ustaw timer na jakąś jednostkę czasu i w przerwaniu od tego timera obliczaj cześtotliwość i zeruj zmienną
Nie kieruj się bajerami tylko mocą cieplną w stosunku do poboru paliwa. Musisz wyczytać w instrukcjach czy manualach ile dany model piecyka pobiera m3 gazu chcąc wytworzyć określoną (minimalnie) moc cieplną. Nie do końca wiem jak to się oblicza więc nie będę mówił by nie wprowadzić Ciebie w błąd. Wiem tylko że miałem kiedyś JUNKERSA który w ciągu jednej...
1: nie tylko 24 a 24,25,26,27 czyli cztery bajty , Ja po odczytaniu tej wartości w "switch case:" ustawiam odpowiednio timer . 2: 28.29.30.31 to ilość bajtów na sekundę z podanego wzoru oblicza się ilość bitów na sekundę , 32 to ilość bajtów na próbkę . 3: TAK. ja w programie sprawdzam czy jest mono/stereo jeśli jest mono do obu PWM ładuje tą samą próbkę...
http://obrazki.elektroda.net/71_11977438... Święta coraz bliżej. Często na zewnątrz wieszamy lampki choinkowe. Te albo świecą ciągle, albo mrygają niemiłosiernie. Najgorsze są te które niedość że mrygają, grają jeszcze oklepane melodyjki za pomocą blaszki pizeo. Coś efektowniejszego przeważnie kosztuje troche więcej, a sterownik przeważnie nie jest...
Widzę, że przez moją niewiedzę zaraz wybuchnie wojna :-> Postaram się wszystko wyjaśnić dlaczego tak, a nie inaczej i wstawie brakujące elementy. Więc tak. Bartek.k.k napisał: xamrex napisał: Masz rezystor podciągający? Niektórzy o nim zapominają. Dla DS18B20? Jeśli tak to nie mam, ponadto nigdy ich nie używałem i wszystko chodziło, tylko teraz układ...
Witam No to po urlopie to pewno masz więcej energii na działanie, a myślałem że już zrezygnowałeś z tego wyzwania :wink: Mam pewien problem z uruchomienie pliku .exe (próbowałem wklejać bibliotekę do katalogu Windows i system32, oczywiście na początku uruchamiałem wszystko w jednym katalogu no ale sam widzisz) :?: Wiesz może co to za błąd? (na moje...
Mam projekt enkodera inkrementalnego który ma dwa pierścienie z polami generującymi sygnał 0 i 1. Między górnym i dolnym pierścieniem jest przesuniecie 90°. Więc tak wyglądają sygnały: http://obrazki.elektroda.pl/7174774200_1... Teraz tak, jedno pole na tarczy zajmuje 2°. Z racji tego że jest przesuniecie 90° mogę uzyskać rozdzielczość...
http://obrazki.elektroda.pl/1931730200_1... Pojęcie Theremin po raz pierwszy pojawiło się około 1920 roku, kiedy rosyjski wynalazca Lew Termen skonstruował swój instrument, którego dźwięki przypominają jęki, wycie, kobiecy głos czy nawet flet i skrzypce. Standardowy Theremin posiada dwie anteny jedną do regulacji tonów a drugą do wzmacniania...
na wejścia podłączony jest enkoder(pierwszy zrobiłem z myszki komputerowej) w zależności na którym wejsciu pojawi się pierwszy impuls to przerwanie jest obsługiwane jako pierwsze . może cos z tego skorzystasz. obsługa przerwań jest na dole Dodawanie: i Odejmowanie:. Ale Panowie litości w krytyce to jest mój pierwszy program w Bascomie. Tak się złożyło...
Mam funkcyjke która przeprowadza odczyt z karty sd/mmc nigdy mimo tego, że dokladnie tak samo jest tworzona strukturka do crc na stosie, co lepsze, w identyczny sposób jak w testreadblock. Info: STM32F103RET6 FreeRTOS 6.0.2 Main stack: 0x2000 //bylo mniej, zwiekszylem na test Heap: 0x6000 //tez bylo mniej i zwiekszylem na test Chciałoby sie zapytać...
Nie wiem jaki to procesor ale Timer pracuje prawdopodbnie w trybie Fast PWM a wypełnenie to ok. 63%. Po ustawieniu odpowiednich bitów w rejestrach kontrolnych i wpisaniu wartości do rejstru porównania OCR timer generuje PWM już samemu a program może w tym czasie robić co innego. PS. Ten kod nie wygląda mi na asm tylko raczej na program w języku C :P
Proponuję ściągnąć z sieci program do obliczania parametrów timerów np. kalk.exe. I musisz odróżnić Load timer 1, ? od Timer1 = ?. Za pomocą pierwszego wskazujesz ile timer ma odliczyć a za pomocą drugiego od jakiej wartości ma zacząć odliczanie aż do przepełniena.
To nie jest skomplikowane tylko zamiast docinać można wytłumaczyć. Jedna sekunda ma 1000 (słownie tysiąc) milisekund. Herz określa ile razy coś dzieje się na sekundę 1 Herz - coś dzieje się raz na sekundę 50Hz - coś dzieje się 50 x na sekundę Teraz weź 1000ms(czyli sekundę) podziel przez 50 razy czyli 50Hz i wyjdzie Ci 20ms... Potem to już logiczne...
NE555 jest dosyć dokładny jak na generator RC, ale na super precyzję nie licz, podałeś wyniki różnice sie zaledwie o 0,2% podczas gdy przeciętny rezystor ma tolerancję 5% przeciętny kondensator 10%, w przy takich elementach możesz sie spodziewać że częstotliwość wypadnie gdzieś pomiędzy 60Hz a 79Hz,
już sobie poradziłem z tym termometrem ale jak narazie na 24h śpieszy się 10 min . Może jakoś inaczej obliczać timer.
Ustaw wartość OD ilu ma liczyć Timer. Od 65536 odejmij 62500 i to ładuj za każdym razem na początku do Timera.
Normalnie bierzesz licznik kasujesz go i zliczasz impulsy przez 10min (czas obliczasz timerem) potem dzielisz tą wartość przez 100 przepisujesz do jakiegoś rejestru, a sam licznik kasujesz. W rejestrze masz pomiar aktualizowany co 10 min.
Mam pytanie dotyczące języka Visual Basic. Czy istnieje jakiś obiekt, którego mógłbym użyć jak buzzera? Tak by generował jakiś piszczący dźwięk, tyle wystarczy. Kolejna sprawa to timer, chciałbym by odliczał milisekundy, ustawiłem Interval na 1 i wtedy oblicza z dokładnością do 1/100s. Czy da się jakoś polepszyć tę dokładność?
No to wg. mnie wywazasz otwarte drzwi. Skoro w wiatraku masz enkoder to wystarczy dowiedziec sie co to za rodzaj enkodera i napisac aplikacje. Jezeli zwykly impulsowy enkoder 2-fazowy to musisz znac ilosc impulsow na obrot. Szybkim licznikiem liczysz z niego imulsy a timerem liczysz czas i ustawiasz przerwanie na wartosc zadana timera. W tym przerwaniu...
A może byś kod pokazał? Przeciez napsal ze ma bledny kod .... Load Timer0 = 144 co winno byc: Load Timer0 , 144 albo jezeli preferuje zapis ze znakiem rownosci to: Timer0 = 112 ' gdzie dzialanie (256-144=112) wykona Bascom. e marcus
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
Przede wszystkim 1 godzina to bardzo długi czas, więc musisz w pierwszym 4541 wybrać maksymalny podział przez 65536, a więc nóżki A(12) i B(13) do plusa. Wówczas oscylator musi pracować z częstotliwością 65536/3600 = 18.2Hz. Wzór na częstotliwość oscylatora to: f = 1/(2.3•R T •C T ) , przy założeniu, że Rs ≈ 2•R T Na Twoim schemacie...
Czekaj, czekaj. Jeden czujnik odpali przerwanie INT0 a w tym przerwaniu sie uruchomi timer. Drugi czujnik po INT1 ma go wyłączyć. Raczej o tym myślałem. Lepiej tak: czy ktoś by mi dokładnie wytłumaczył jak wywoływać timery, zbierać z nich czas, do czego służą poszczególne rejestry. Noty katalogowej tego procka po polsku nie znalazłem, a dobrego poradnika...
No robocik pierwsza klasa muszę przyznać. Z niecierpliwością czekam na jakiś filmik. Jak w części różniczkującej obliczasz dt ? Timerem? ale w jakim trybie?
Jaki stosujesz Timer, bo tego w kodzie nie ma. W datasheecie są odpowiednie wzory do obliczania częstotliwości pracy timera.
A tak to by to zadziałało ?? Nie zadziała. Przynajmniej tak, jak tego oczekujesz. Przy kwarcu 2,4576MHz i prescalerze 64 Timer0 przekręca się co ok. 6,7ms a Timer1 co ok. 1,7s. jak ustawić timer żeby odliczał np 1 sec i wtedy coś się działo 1. Zdefiniować co się ma wykonać w przerwaniu 2. Włączyć przerwania od timera 3. Włączyć globalne zezwolenie...
oblicza spadek oblicza konstrukcja oblicza tranzystor
manta sterownik laptop ekranowanie miedź multiswitch unicable
radio samochodowy zestaw głośnomówiący odblokowanie telefonu motorola
SPD TT/IT w sieci TN-C – dobór ograniczników przepięć DC/AC przy panelach PV, Phoenix Contact, OBO Podnośnik podnosi, ale nie opuszcza - przyczyny i rozwiązania