Jęśli chodzi o pytanie nr 3 to tak Dodano po 7 Bezpośrednia odpowiedź na pytanie Aby jednocześnie wyświetlać prędkość obrotową (RPM) wentylatora oraz ustawioną moc (np. w formie procentowego wypełnienia PWM) na wyświetlaczu dotykowym podłączonym do Arduino Mega, należy: - Zliczać impulsy z tachometru (pin TACH) wentylatora, przeliczać je na obr./min...
W sumie jeśli pierwszy bajt wyślesz jako 0b01010101 a program rozpozna, że rozpoczęła się transmisja to dałoby się conajmniej dwukrotnie zmierzyć jaki czas trwa stan wysoki i na podstawie tego można już określić jaką prędkością transmisji nadawca się posługuje. Z tym, że trzeba taki bajt synchronizujący wysłać - a nie zawsze będzie to możliwe. Można...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na http://www.elektroda.pl/rtvforum/topic20... ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem "ruszył"...
Czas otwarcia wtryskiwaczy mierzysz za pomocą 1 timera, ale nie tak od razu. Są dwie metody: pierwsza to podpięcie (przez transoptor) wtryskiwacza do wejścia timera i wejścia przerwania - po wykryciu przerwania (początek stanu niskiego) startujesz timer, przestawiasz stan aktywacji wejścia INT na przeciwny i procek wraca do pętli głównej, po ponownym...
(at)tmf - dziękuję za miłe słowa :) Właśnie takie było założenie co do grupy "docelowej". Myślę, że jeszcze długo ATmegi i ATtiny będą punktem startowym dla hobbystów ze względu na nawał informacji w Internecie i mocno zakorzeniony pogląd jakoby wszystko inne było drogie/trudne itd. W sumie chciałem, żeby w poradniku było trochę więcej nawiązań do...
http://obrazki.elektroda.pl/9114516200_1... Autorski projekt wyłącznika zdalnie sterowanego za pomocą pilota RC5. Cały układ kontrolowany jest za pomocą mikroprocesora z rodziny AVR, ATtiny2313. Na uwagę zasługuje zasilanie układu bezpośrednio z sieci elektroenergetycznej o napięciu 230V, zrealizowane przez zasilacz bez transformatorowy....
http://obrazki.elektroda.pl/6148316100_1... http://obrazki.elektroda.pl/9687194100_1... Mając kilka wolnych chwil, postanowiłem skonstruować odbiornik do bezprzewodowego czujnika stacji pogodowej Oregon Scientific RMR203HG. Stacje tej marki są ogólnie dostępne, jeśli chodzi o wrażenia z użytkowania – działa bez...
Źle obsługujesz enkoder. Poczytaj o enkoderze kwadraturowym - enkodery nie działają tak jak założyłeś, że na jednym pinie masz impulsy jak kręcisz w jedną stronę, a na drugim, jeśli kręcisz w przeciwną. Używają najczęściej kodu Gray’a - więc zacznij od poprawnej obsługi enkodera. Druga sprawa - wewnętrzne podciąganie zapewnione na portach ma zbyt dużą...
1ms spokojnie przerwanie zewnętrzne Ci zliczy (piny 2, 3) https://www.arduino.cc/reference/en/lang... dalej myślę, że musisz odliczać czas np. licznik 1 i przerwanie powiedzmy co 1 sekundę (konfigurujesz przez rejestry TIMER1), tam sobie liczysz sekundy i za każdym razem (może być w loop() ) przeliczasz...
Witam Tematy aplikacji APP Inventor nie są zbyt często rozwijane, chociaż jest to naprawdę prosty program do komunikacji bluetooth pomiędzy telefonem a Arduino. Na dobrą sprawę zamiast wyswietlacza LCD mozemy mieć ekran dotykowy telefonu który dodatkowo może służyć jako przyciski sterowania. O ile sterowanie różnymi rzeczami poprzez kliknięcie na telefonie...
Jest możliwość pomiaru czasu wtrysku na przerwaniach w AVR'ach. Trzeba podpiąć sygnał z wtryskiwacza (oczywiście przez układ dopasowujący) jednocześnie na wejście przerwania zewnętrznego (np. INT0) i wejście ICP (input capture). Potem trzeba skonfigurować zewnętrzne przerwanie aby reagowało na zbocze opadające (początek czasu wtrysku), licznik T1 ma...
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, podłączyłem do portu INT1 przycisk i chciał bym żeby zbocze narastające wywoływało przerwanie, w którym zwiększam licznik o 1. Ustawiłem na MCUCR jedynki dla ISC11 oraz ISC10 co odpowiada wykrywaniu zbocza narastającego, włączyłem przerwanie na INT1 oraz odblokowałem globalnie przerwania, ale niestety licznik inkrementuje się w kółko gdy na port...
Chyba trochę skpmplikowałes swoje urządzenie... Licznik T0 już po 2 cyklach włącza przerwanie :!: Ma dodatkowo wyższy priorytet, niż przerwanie zewnętrzne, które uruchamia ten licznik! PRZERW_INT0: SETB TR1 SETB TR0 POP ACC POP ACC MOV A,#jakies_miejsce PUSH ACC MOV A,#00H PUSH ACC RETI Więc rozkazy MOV A, #jakieś miejsce; PUSH ACC leżą na pograniczu...
Tak jak w tytule, poniżej kawałek kodu. Wygląda to tak że w pętli głównej jest polecenie "Wait" a INT0 ma przerywać tą pętle, i tu jest pytanie czy przerwie "Wait'a" ?? Dim Licznik As Byte Enable Interrupts On Int0 , Przerwanie , Nosave Licznik = 0 Do If Licznik = 1 Then Pind.0 = 0 Pind.1 = 1 Wait 20 Pind.0 = 1 End If If Licznik = 2 Then Pind.0 = 1...
Pisząc o przerwaniach zewnętrznych jak rozumiem miałeś na myśli to, że pojawiający się sygnal z transoptora wywoła przerwanie. Też o tym myślałem, tylko że potrzebuję jeszcze odmierzyć dokładnie czas po którym ma zostać wyzwolony triak. Chciałem to zrobić właśnie licząc przerwania. Mógłbym też jak myślę i wcześniej pisałem wykorzystać licznik timer'a....
Witam, mam pewien problem z przerwaniami, otóż zastosowałem przerwanie zewnętrzne do zliczania obrotów i przerwanie timera do zliczania czasu w sekundach, ale po włączeniu przerwań timera, zobaczyłem w debuggowaniu że przerwania zewnętrzne zliczają do około 4. Czy jest to możliwe że przerwania się gryzą ze sobą? Proszę uzupełnić tytuł postu- zgodnie...
Pewnie pozostanie Ci tylko allegro lub sklepy internetowe. W moim eks-wojewódzkim mieście też ciężko coś bardziej specjalizowanego kupić. Edit. W temacie uszkodzonego procka. Może przerwanie zewnętrzne na PD5, a w przerwaniu steruj i czytaj licznik T0 ,,na piechotę"?
Mam problem z przerwaniem od Timera0. Chodzi o to by Timer0 zgłaszał przerwanie w trybie pracy z porównaniem. Jest to tryb Clear Timer on Compare Match (CTC). Licznik zlicza zdarzenia zewnętrzne i w momencie zliczenia do zadanej wartości ma zgłosić przerwanie i zacząc liczyć od zera. Aby to osiągnąć do rejestru OCR0 wpisuję wartość do której licznik...
[syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define D7 7 //dioda podłączone do pinów portu D unsigned int counter=10110; int main(void) { DDRD = (1 << D7); PORTD=(1 << D7); // tutaj sobie zaświecasz diodę, ale do pojedynczych bitów to używaj "|=" zamiast samego...
Najczęściej z enkodera mamy dwa sygnały, A i B... Sygnały te są przesunięte względem siebie... Ja najczęściej robię to tak, że A mam podpięte pod przerwanie zewnętrzne a B pod dowolny pin... I teraz kiedy generowne jest przerwanie w jego obsłudze sprawdzam stan na linii B... Jeżeli np. jest niski to zwiększam licznik o 1 a jeżeli wysoki to zmniejszam...
Przerwania są zarezerwowane na zjawiska zewnętrzne zachodzące w nieprzewidywalnym czasie.... No raczej nie masz racji . Wewnętrzny licznik też może wystawić przerwanie i to w ściśle przewidywalnym czasie .
Mam program, tak jak poniżej, nie reaguje na przerwanie z int0 i int1. Program ma sterować silnikami od drzwi garażowych '--------------------Sterownik bramy by Peter507------------------------------' Enable Interrupts Enable Int0 Enable Int1 On Int0 Przerwanie On Int1 Przerwanie1 Dim Licznik As Byte , Licznik1 As Byte , Stan_bramy As Byte , Opcja1...
Witam pisałem program który miał po pewnym czasie zmuszać mikrokontroler do przejścia w stan uśpienia po czym wybudzanie miało następować w reakcji na zewnętrzne przerwanie na linii PD2. Mikrokontroler wchodzi w uśpienie po zadanym czasie jednak nie chce się potem wybudzić w reakcji na zewnętrzne przerwanie. Byłbym wdzięczny gdyby ktoś rzucił okiem...
Na poczekaniu zrobiłem podobny projekt sterujący serwomechanizmami poprzez przycisk, wykorzystujący przerwanie zewnętrzne na zboczu narastającym. Wszystko działało bez zarzutu. Tutaj, po przyjrzeniu się raz jeszcze temu, co naskrobałem widzę, że owszem, program działa. Wchodzi w pętlę while(1) i liczy. Ale najwidoczniej przepełnienie nie następuje,...
Tłumaczą Ci ludzie już drugi dzień. Zwłaszcza kolega Logan . Czy tak trudno przeczytać w Helpie: Instrukcja ON INTERRUPT Przeznaczenie: Wykonuje skok do podprogramu gdy wystąpiło określone przerwanie. Składnia: ON źródło_przerwania nazwa_podprogramu Jeśli trudno to porzuć programowanie - są łatwiejsze profesje.
Witam. Na wstępie zaznaczam, że przeczytałem podobny temat umieszczony w FAQ, lecz mam trochę inną koncepcję, z którą mam problem. Poniżej zamieszczam fragment kodu źródłowego w C pisanego pod kontroler rodziny 8052. Cel programu: zwiększenie wartości zmiennej "wartość" o 1 po naciśnięciu przycisku podłączonego do portu P3.2 (INT0), oraz wysłanie tej...
Oto reszta kodu. Jak policzyłeś dokładność? Tzn. jak uzasadnić to, że dla 4 impulsów mam 25% dokładności? Rozumiem, że 4 impulsy to w sumie 100%, ale nie rozumiem źródła tej niepewności. Gwoli wyjaśnienia - kilku zmiennych nie używam, to pozostałości po starych kodach (wiem, że powinienem je skasować :) ) a przetwornik ADC jest po to, że uruchamiam...
Witam, mam problem z dokładnością licznika czasu. Licznik ma mierzyć czas pomiędzy pojawieniem się napięcia większego od 512 na pinie PA7 a pojawieniem się zbocza narastającego na INT0. Licznik zlicza setne sekundy i sekundy. Późni się około 10 sekund na minutę. Korzystam z Atmegi32 o taktowaniu 8MHz. Wynik wyświetlam na wyświetlaczu. Napiecię na pin...
Aby wejść do drugiego warunku i musi przyjąć wartość co najmniej 256, co jest nie możliwe, bo przy i == 255 program nie wejdzie do pierwszego warunku w którym jest inkrementacja. W drugim warunku z kolei nie osiągnie wartości potrzebnej do wyzerowania i. Czemu nie nie zastosujesz if()...else? Faktycznie, niedopatrzenie. Poprawiłem błędy ale i tak działa...
Obsługa przycisków w ten sposób jest trochę nie wskazana, zwłaszcza gdy chcemy zrobić sprzętowy "debouncing" . Polecam lekturę: http://www.ganssle.com/debouncing.pdf Nie jest zalecane, aby wprowadzać opóźnienie w przerwaniach. Przerwanie powinno być bardzo zwięzłe i szybkie. Jeżeli chcesz zrobić softwarową obsługę "debouncingu" lepszym sposobem jest...
Witam Piszę program, który ma mierzyć długość impulsu podawanego z zew. źródła jakim jest odbiornik RC, częstotliwość impulsów to 50Hz, a ich długość mieści sie w przedziale 1ms-2ms. To mój pierwszy program na AVR w którym obsługuje przerwania zew. i mam pewien problem, program już napisałem, sprawdziłem go na symulatorze i wydaje się działać poprawnie,...
Witam. Procesor ATmega32 Za pomocą przerwań zewnętrznych chciałem sobie zmierzyć szerokość impulsu ECHO w sonarze HC-SR04. Niestety coś w kodzie nie trybi ponieważ dioda informująca o dokonanym pomiarze się nie zapala. Napisałem już obsługe jednego czujnika za pomocą INPUT_CAPTURE i działa, ale niestety w ATmega32 jest tylko jeden pin do obsługi takie...
Witam serdecznie, mam banalny problem heh siedzę od paru dni i nie mogę go rozwiązać , a mianowicie gdy wykorzystuję przerwanie zewnętrzne INT_0 ustawiam sei gimsk oraz mcucr na stan niski i wywołuje przerwanie lecz program nie chce z niego wyjsc , nie wiem o co chodzi , program praz pętle czasowe sa na 100% napisane dobrze bo dgy używam warunków sbic...
http://obrazki.elektroda.pl/4758191500_1... Po kilku miesiącach pracy wreszcie jest! Teraz możecie pytać, która godzina! Pomysł projektu powstał, kiedy przez cztery dni autor podróżował po kraju. Kody QR są bardzo popularne z wielu powodów. Sprzedawcy uznają, że są one bardzo praktyczne i żądają umieszczania ich wszędzie, gdzie się...
Ups... :oops: Przepraszam za wprowadzenie w błąd, nie zauważyłem tego: '89C2051' Nie pamiętam czy w Bascom'ie '51 jest jakieś konkretne polecenie do ustawiania sposobu obsługi przerwań (daawno go nie używałem), ale to powinno zadziałać: Set Tcon.0 Set Tcon.2 Po dodaniu tego gdzieś na początku programu przerwania zewnętrzne będą wyzwalane zboczem opadającym....
Oparcie pomiaru na Input Capture jest niewygodne, bo otrzymujemy czas/impuls, a chcemy to przedstawic w impulsy/czas, a dokładniej impulsy/2 na 1sek. Strasznie dużo obliczeń i chyba bez dzielenia się nie obejdzie. Najprostszy sposób to wykorzystac jeden licznik do zliczania impulsów, a drugi do generowania 0,5s. Wtedy w tym pierwszym otrzymujemy obroty/sek....
Proszę o pomoc w zaprogramowanie przerwania pochodzącego od licznika T0 do krótkiego programiku który napisałem.Prośba maja jest aby licznik zliczył 10s (startując równo z odliczaniem do dziesięciu które widac na wyświetlaczu siedmiosegmentowym) i włączył przerwanie które wykona program według pokazanego kodu.Są to moje początki dlatego proszę o wyrozumiałość....
Napisałem się, napisałem... a tu wylogowało i przepadło a wstecz w przeglądarce nie przywróciło :( ale postaram się odtworzyć. W wyżej zaproponowanym sposobie musisz mieć przycisk podpięty pod zewnętrzne przerwanie. Ja zrobiłbym to inaczej. Obsługę przycisku zrobiłbym w przerwaniu timera. Przerwanie wywoływał co kilka milisekund. W przerwaniu najpierw...
Hej, miałem problem ze zrozumieniem kodu, który napisałeś, ale Twoja wskazówka znów okazała się cenna. Rozumiem, że przy przerwaniu w reakcji na niskie napięcie wciśnięcie przycisku niesie za sobą nieustanne wywoływanie przerwań, natomiast gdy układ ma reagować na opadające zbocze, to tylko raz. Zauważyłem jednak pewną zależność, która tym razem chyba...
1. W funkcji main brakuje pętli głównej, a to oznacza, że doda ją kompilator w dodatku wyłączając przerwania - efektem będzie ... brak reakcji mikrokontrolera na jakiekolwiek sygnały z enkodera. 2. W necie można znaleść sporo przykładów na obsługę impulsatora, wszystkie przykłady które znalazłem korzystają z dwóch przerwań INT0 i INT1. Postanowiłem...
Witam, Zacząłem niedawno zabawę z STM32 i mam problem z przerwaniami oraz timerami. Chciałem uruchomić przerwanie zewnętrzne, a dalej przerwanie od timera co np 1sek. Jednak nie działa ani jedno ani drugie, czy ktoś mógłby nakierować mnie na dobrą drogę i powiedzieć co robię źle? Przeglądałem przykładowe aplikacje jednak dalej nie potrafię tego uruchomić....
Witam, cel pozostał ten sam, lecz zmienił się kod, tym razem bez Lcd, więc jako zadanie dostałem opisanie krok po kroku otrzymanego kodu oraz przeniesienie kodu z języka Bascom na kod Asemblera i C. Jako, że programowanie nie jest moją mocną stroną, prosiłbym o pomoc (rady, sugestie najlepiej w sposób tzw. łopatologiczny jak można osiągnąć postawiony...
Witam jest to pierwszy post na forum więc proszę o wyrozumiałość. Chce zrealizować docelowo pomiar czasu pomiędzy dwoma sygnałami podawanych z generatorów o różnej częstotliwości , zaprzęgłem do tego zadania dwa przerwania zewnętrzne INT0 i INT1 ustawione by reagowały na zboczę narastające. Jeżeli pojawi się zbocze narastające z generatora na nóżce...
Mam już gotową płytkę, impulsy z obrotomierza kieruję na ICP tak jak zasugerował tmf. I teraz pytanie do Was czy pomożecie w pisaniu programu, żeby odpalić obsługę tego ICP ? Obecnie mój program wyglada tak: [syntax=vb]'--------------------KONFIGUR... $regfile = "m16def.dat" 'informuje kompilator o pliku...
Witam Próbuję napisać obsługę pilota, który używa kodowania [url=http://www.ustr.net/infrared/nec.sh... Następnie chcę przesłać kod na okno terminala za pomocą USART. Próbuję to realizować bez użycia funkcji typu delay_ms(), zamiast tego chcę użyć przerwań. Idea jest taka, że po pojawieniu się pierwszego zbocza od odbiornika podczerwieni, wywoływane...
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa 0 wszystko działa ok, ale statystyki lecą cały...
rmajda -> proponuję ci zapomnieć o jakichś próbach zmiany taktowania procka w celu oszczędzania energii. Po to producent wymyślił kilka różnych trybów oszczędzania, że nie musisz nic sam kombinować, wystarczy się tylko dokładnie z nimi zapoznać i wykorzystać ten tryb, który ci najbardziej odpowiada. Generalnie, jeśli na prawdę chcesz się nastawić na...
do mierzenia okresu sygnału najlepiej wykorzystać licznik i przerwanie zewnętrzne. Sygnał pomiarowy wzmocnić tak aby uzyskać przebieg prostokątny o stromym nachylaniu zboczy. Następnie podać sygnał na wejście przerwania zewnętrznego (np. detekcja zbocza 1->0). W przerwaniu włączyć licznik, wyjść z przerwania i oczekiwać na następne przerwanie w którym...
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
zewnętrzne przerwanie przerwanie zewnętrzne przerwanie zewnętrzne atmega128
wymiana grzałki siemens filtr odpływ pilot hcs301
suszarka whirlpool jonizator spawarki
Błąd LE w pralce Samsung - samodzielna naprawa i koszty Trzeszczący mikrofon Samson Q7 - przyczyny i rozwiązania