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ł"...
Jeśli chodzi o soft, to powstał szkielet programu. Na razie odmierza to czas, i powinno obsługiwać pilot RC5. W polach „A:” – powinien wyświetlić się adres pilota, „C:” – numer przycisku z pilota. W symulacji programowej poszło, ale na razie nie mogę przeprowadzić prób z braku modelu. Ale żeby stworzyć wersje BETA...
Dodajmy, że kiedfy pilot nie nadaje, odbiornik odbiera śmieci i wystawia na wyjściu przebieg prostokątny, któego zbocza są dużo gęstsze niż podczas odbioru danych, a każde zbiocze będzie w takim przypadku generowało przerwanie. Dlatrego lepiej jest odbierać w przerwaniu timera, a nie używać przerwań od zboczy. To jest oczywiste, ale.. odbiornik RF...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Dzięki zbig_wwl. Pokombinuje z tym stosem. A co do PWM to faktycznie nie używam go bo i po co:) Pilot ma następujące zadanie: Po uruchomieniu włączone zostaje przerwanie int0. Po wciśnięciu przycisku zewnętrznego (dodane obwody eliminujące drgania styków) program wyłącza przerwanie int0, generuje zmienne na podstawie zawartości timera0. Następnie odblokowywane...
1. Czy pilot to na 100% rc5? 2. Czy próbowałeś wrzucić odczyt RC5 do pętli głównej? $regfile = "m644pdef.dat" '$regfile = "m32def.dat" '$regfile = "m16def.dat" $crystal = 16000000 $baud = 9600 'konfiguracja pinu rc5: Config Rc5 = Pind.2 , Timer = 2 'Config Rc5 = Pind.2 Enable Interrupts Dim Address As Byte , Command...
Pisząc program stanąłem przed problemem odbioru kodu RC5 z pilota ale z użyciem przerwania. O ile w BASCOM 8051 GETRC5 w przerwaniu działa doskonale, to w BASCOM AVR jest to kompletna porażka. Wadą Bascomowej funkcji GETRC5 jest: 1) Dziadowskie działanie w przerwaniu (niby działa ale traci pierwszy pakiet z pilota) 2) Zastosowanie jej w programie powoduje...
Mam mały problem z programem napisanym w bascomie , mianowicie założenia są takie jest to odbiornik pilota IR na atmega 8 chodzi mi o sam algorytm dekodowania sygnału , który ma dekodować wszystkie rodzaje pilotów obojętnie czy są w standardzie RC5 czy SONY na wyświetlaczu LCD mam mieć wyświetlane umownie wartość jedynek i zer i problem polega na tym...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
http://obrazki.elektroda.net/76_12349093... Włącznik komputera zintegrowany z igorplug Ostatnio postanowiłem zmontować sobie komputer pracujący w roli "Media Center". Jako zdalne sterowanie wykorzystałem odbiornik igorplug ( http://obrazki.elektroda.net/86_12349099... Wszystko działało bardzo pięknie - pojawił się tylko jeden problem -...
Dokonałem optymalizacji kodu, rozmiar zmniejszył się o 2 %. Pilot RC5 działa, można zmienić czas/date, obsługę wyświetlania przeniosłem do przerwania Ale mam kłopot z wyświetlaniem kropki [syntax=basic4gl] '************ Zegar 6 wyswietlaczy LED + PCF8563 $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 ' rozmiar stosu sprzętowego $swstack =...
co napisaliscie jako swoj pierwszy program na dany uC w danym jezyku (rozbudowy sie licza, byle by wciaz byla to ta sama baza) n. n. - literka, cyferke z przodu dodam sam. zachowujcie chronologie w swoich dokonaniach na roznych platformach jezykowych i sprzetowych, tak aby to mialo sens! ____________________ 0x1-a. Freddie Chopin - migacz diodkami o...
W przykładzie AN157 jest Tikers: 'work on timer Timer0 = 253 u Ciebie jest Timer0 = 255
Rozwiązaniem jest śledzenie pełnej transmisji, przy wykorzystaniu Mode=Background, co niestety wymaga mikrokontrolera z timerem 16bit. Takie są wymagania Bascoma, a w przykładowo czystym C można zrobić tylko na timerze 8-bit.
Przy pierwszym naciśnięciu uruchomić Timer np. na dwie sekundy. Jeśli w tym czasie odbierzesz drugi znak, to zmienna=2*10+5. Jeśli nie to zmienna=2.
A nie lepiej tak ? Przykładowa konfiguracja timera1 w trybie CTC i przebiegiem na OC1a [syntax=basic4gl]Config Timer1 = timer, Prescale = 256, CLEAR TIMER = 1, Compare A = toggle, Compare B = disconnect [/syntax] Potem tylko zmieniać wartość rejestru Compare1a jakimiś przyciskami, pilotem, enkoderem etc. ps. Jak nie zadziała to poustawiać bity w rejestrach...
hmmm no ja to robiłem wtedy w Bascomie mniej więcej tak: ustawiałem sobie tak któryś Timer, żeby przerwanie wykonywało się powiedzmy 64 albo 128 czy ze 200 razy w ciągu czasu trwania jednej połówki czyli w trakcie ok 10ms tak? Gdy pojawiło się przerwanie INTx to odpalałem ten Timer, który zaczynał tykać i wykonywać przerwanie tyle razy ile ustalonych...
Nie napisałeś , że ten pilot nie pracuje w kodzie RC5 , ale też nie napisałeś , że w tym kodzie pracuje :wink: Inna wersja Twojego programu: $regfile = "m32def.dat" $crystal = 8000000 '11059200 Dim Adress As Byte , Command As Byte , X As Byte , Tmpcode As Word Dim Odebrano As Bit , Flaga As Byte Config Pind.2 = Input : Portd.2 = 1 Config...
... Error : 46 Line : 10 Assignment error [COMPARE1A: 0 12: 112] , in File : C:\PROGRAM FILES\BASCOM-AVR-1-11-9-1 FULL\PILOT-TINY26-SONY.BAS ten błąd mam tylko przy tiny26 przy innych prockach np. mega 8 lub tiny 2313 program ładnie się kompiluje . o co chodzi przecież tiny26 ma OC1A ? Spawa jest śmiesznie prosta , jeśli...
Witam, Tematów jakich przeczytałem to setki lecz nadal mam problem. Timer wygląda tak: $regfile = "m8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 32 Config Timer0 = Timer , Prescale = 1 On Timer0 Ir 'On Int0 Pierwsza Nosave 'On Int1 Druga Nosave Enable Interrupts Enable Timer0 Load Timer0 , 53 Obsługa przerwania tak:...
Poniżej mój testowy program w bascomie. Procek m8, wew. zegar 8 mhz. Testowałem na nikon D80 - działa OK. ' PILOT NIKON ML-3 ' ZEGAR 8 MHZ Dim I As Word Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1 Config Portd.5 = Output Reset Portd.5 Compare1a = 100 Enable Interrupts Disable Timer1 Reset Tccr1a.com1a0 '***************************************...
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:...
Zastosuj dostępny kwarc zegarowy 4194304Hz. Config Timer1 = Timer , Prescale = 64 Timer przepełni się co 1 s bez wartości początkowej! Włączasz go i zapominasz, że istnieje. W przerwaniu tylko Incr sekunda. Mam zegar na ATMEGA8 z budzikiem ustawiany z pilota RC5. Chodzi ok.
Brak informacji jaki procesor chcesz wykorzystać, brak schematu, brak informacji czy to bascom8051 czy bascomavr. W przypadku bascom avr warto zainteresować się: Config Timer Get RC5 Gdybyś natrafił na konkretne pytania podczas uruchamiania układu, spróbuj opisać je w tym temacie.
Witam ogarnąłem już dużo na temat programowania w bascom, tylko mam kolejny problem, mianowicie chciałbym zaprogramować obsługę serwa pilotem nadającym w RC5 lecz gdy połączę obsługę rc5 i serwa mam takie błędy i nic nie działa: ........ Pojedynczo programy działają ok. ................. Rc5+ servo (nie działa) Pozdrawiam. Zauważ że zarówno 'Config...
:arrow: jasiekz jakoś nie moge soebie tego wyobrazić z tym timerem. Jeżeli nawet zostanie wywołane przerwanie timera to wykona sie jakaś tam funkja a potem program powróci do tego miejsca gdzie był przed przerwaniem czyli do pętlenia się. Nie wiem jakim sposobem funkcja wywoływana przerwaniem timera miałaby przenosić działanie programu w inne miejsce...
Witam, już wcześniej na podstawie tego fragmentu kodu, który podałeś mówiłem, że program ten wykorzystuje płynne sterowanie jasnością tylko ty tam wstawiłeś stałą o wartości 70. Mówiłem też, że skoro nie wiadomo jakie jest taktowanie procka to ciężko powiedzieć co z czego wynika. Ale teraz widać jak na dłoni potwierdzenie tego co pisałem, jest to typowe...
Nie zadeklarowałeś na jakie zbocze reaguje INT, czyli masz domyślne ustawienia procesora (rejestry są ustawione po resecie na domyślne). Jakie dane wystawia Twój odbiornik IR, czy w stanie spoczynku masz stan H czyli +5V? Jeśli tak to przerwanie powinno być tylko na zbocze opadające. Twój odbiornik ma stan wysoki jak nic nie odbiera, każdy wysłany bit...
Wieża to samsung max 550, pilot ma w sobie układ BU2478-2Z. Próbowałem przy pomocy Timera, co ok 500 us w przerwaniu Timera sprawdzałem stan wejścia sygnałowego od czujnika 0/1. W pętli dodawałem daną wartośc do ciągu znaków. W efekcie otrzymałem "analize" sygnału którą trzeba troszkę dostroić Timerem i wydobyć z tego interesujący nas fragment. Działa...
Witam! Udało mi się napisać obsługę pilotów NEC w Bascomie i postanowiłem się tym podzielić. Byłbym również bardzo wdzięczny za wszelkie uwagi, co do implementacji. Poniżej zamieszczam kod, jeśli ktoś ma jakies pytania - śmiało pisać. [syntax=basic4gl] $regfile = "m644pdef.dat" $crystal = 16000000 'KONFIGURACJA LCD Config Lcd = 16 * 2 Config Lcdpin...
Chcę napisać procedurę rozpoznającą sygnał z pilota samsung tv. Na analizatorze stanów logicznych odczytałem przebieg z guzika pilota (wkleję go później). Nie jestem do końca przekonany jak ustawić timer w bascomie. Timer musi być wyzwalany zboczem opadającym. Czy potrzebne są jakieś inne dodatkowe ustawienia dla timera? Bit startu ma ok 4,5ms logicznego...
Witam Mam problem z timerem Timer1. Procesor Atmega32. Podłączony mam do niego odbiornik DCF77 i diodę nadawczą od pilota. Oba urządzenia pracują na jednym właśnie timerze Timer1. Przy wywołaniu funkcji wysłania danych RC5SEND procesor zwalnia jak ślimak. Czy jest możliwość ustawienia innego timera dla DCF77? Buszowałem trochę po sieci, ale nie znalazłem...
Zegarek oprócz funkcji wyświetlania czasu ma pokazywać temperaturę i mieć możliwość sterowania z pilota (RC5). Normalnie (by default) Bascom używa Timer0 dla RC5. Jeżeli Timer0 masz zajęty do inego celu, więc potrzebujesz skonfigurować Timer2 dla RC5. e marcus
Witam, tak na początek to na moje oko - wykres przebiegu , który pokazałeś , ma się nijak do tych czasów , które opisałeś pod spodem w punktach - to po pierwsze po drugie, napisałeś, że w listingu pominąłeś procedury opóźniające - a to są przypadku tworzenia tego typu oprogramowania najbardziej istotne elementy. Co więcej muszą być bardzo precyzyjne...
Witam, Otóż wykorzystuję licznik Timer0, do liczenia (aby wygenerować liczbę pseudolosową NIE wykorzystuję do przerwań!) Więc wydaje mi się, że może być wykorzystywany razem z odbiorem RC5 Jak naciśnie się przycisk na pilocie, to ___rseed = Timer0 Czyli podstawa generatora RDM, jest taka jak licznik,po prostu wygeneruje mi się l za każdym razem (bo...
proponuje zrobić to w przerwaniu. w pętli głownej wstawić tylko Call pilot() a w przerwaniu timera Call komunikacja() i Call kontrola() do tego jedno mozna dać w if co 30 wywołan przerwania. przerwanie należało by ustawić co sekunde. na temat przerwania timera było juz sporo na forum, poszukaj.
https://obrazki.elektroda.pl/8443317300_... Dzień dobry, Tym razem chciałbym się pochwalić moją dwudniowym projektem jakim jest mały dwu-kanałowy pilocik RC5. Mój tak naprawdę jest tylko w drobnej części, bo sam program napisał "bart-projects" ( https://obrazki.elektroda.pl/5129813300_... https://obrazki.elektroda.pl/9231548100_...
aha to źle zrozumiałem. myślałem że jak pilot nadaje to zegar staje. no to w takim układzie podejrzewam że getrc5 używał właśnie do odbioru kodu timera0. Zmień w swoim programie odmierzanie czasu z timera 0 na timer1 i zacznie działać.
Bardzo dziękuję za tą podpowiedź. Obecnie podkształcę się o tym trybie i postaram dokończyć program. Jednak po tym co wyczytałem wykorzystałem generator wewnętrzny na 8MHz '$crystal = 8000000 Ale tu pojawia się małe pytanie, czy lepiej dać generator wewnętrzny czy może kwarc zewnętrzny Wprawdzie za dużo nie udało mi się znaleźć pod BASCOM-a, a pod C,...
Rzuciłbym schemacik, ale jestem w pracy i nie mam. Nie przyda się raczej na nic, ponieważ układ działał z atmega32 i odbierał. Przerzucenie się na atmega644p wymusiło zmianę timerów i tu jest zonk, co do pilota to jeszcze odkopię atmega32 zaprogramuję sprawdzę czy pilot do testów nadaje w rc5 i dam znać :) Bardzo Ci dziękuję za odpowiedź na pewno się...
Zdefiniuj problem, co tak naprawdę chcesz zrobić?. Program co napisałeś nie robi nic oprócz tego że losowo włącza i wyłącza timer i masz przypadkowe stany przebiegu ( startujesz i stopujesz przypadkowo).Zobacz że przerwanie włącza timer i zaraz po wyjściu z przerwania w pętli do loop wylącza. Chyba chcesz by impulsy wejsciowe generowały przebieg 38kHz...
Więc Kolego czym to się różni od mojego? Timer0 wygląda tak: [syntax=basic4gl][/syntax] $regfile = "ATTINY44.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 1 Enable Timer0 On Timer0 Prztimer0 Enable Interrupts Do Led1 = 10 Led2 = 20 Led3 = 30 Loop Prztimer0: Incr Licznik If Licznik > 100 Then Licznik = 0 End If If Flaga1 = 1 Then If Licznik...
Ten mój czujnik to prosty generator 36kHz + TFMS. Czujnik nie powinien zakłócać odbiorników z uwagi na dużą odległość i minimalną moc diody czujnika (taką, żeby czujnik wykrył obiekt w odl. 2cm). Na dodatek sprawdzanie może odbywać się jednorazowo np. co 0,5s. Co do zakłócania czujnika pilotem: Czujnik nie będzie pracował podczas odbierania kodu - i...
A ja znowu nie wyobrazam sobie tego abym muial angazowac program głowny który przewaznie słuzy w innym celu jak tylko pomiar temp. W przerwaniu to wychodzi elegancko a ilosc czujników jak moze byc obsłuzona jest dowolna. W programie głownym umieszczam tylko procedure odczytu uzyskanych wartosci z przerwan i ewentualne sprawdzenie CRC co zajmuje ułamiki...
przeanalizuj sobie dobrze ten kdzik poniżej bo on jest dobrze napisany - naprawdę ;) ja wprawdzie kiedyś przy okazju swojej wytrawiarki też zrobiłem sterowanie w Bascomie 2 odbiorników przy 75 krokach ale dałoby radę więcej kroków i jeszcze kilka odbiorników. Z tym, że już nie pamiętam dokładnie zagadnienia więc trudno mi się teraz znowu w to wgryzać....
jak to nie zostało zauważone - a co ja wcześniej ci pisałem na temat twoich opisów przy konfiguracji INT1 'Timer2 uzyjemy do pobierania kodu z pilota Config Int1 = Low Level 'Config Timer2 = Timer , Prescale = 1024 'On Timer2 Ontimer2 On Int1 Ontimer1 'Enable Timer2 Enable Int1 widać z tego, że próbowałeś najpierw robić GetRc5 w przerwaniu Timera -...
Hmm, sprawdź takie kody (sprawdzane na tych prockach co są wpisane, zmień po prostu $crystal i $regfile, podłącz się do tych pinów co są napisane w programach lub je zmień. Nadajnik: $regfile = "2313def.dat" $crystal = 11059200 Const Reserved = 7 Const Bank = 6 Const Togglebit = 5 Dim Address As Byte , Command As Byte , Modebit As Byte Address...
tak właśnie podejrzewałem że bascom nie lubi operacji z dokładnym czasem.Zmiana polecenia z Toggle na not nic nie zmienia.Pozostanie przy sprzętowej generacji.Mam tylko jeszcze jedno pytanie,bo fala którą generuje to będzie nośna dla pilota SIRC.I teraz przy włączaniu i wyłączaniu T1 raz zostaje stan wysoki ,a raz niski na PB1. Na razie załatwiłem to...
Od swojej strony napiszę: mam ale nie dam (bo projekt komercyjny) To co chcesz zrobić to banalna sprawa, nawet z badziewnym bascomowym RC5 ci się uda. 1) Masz 3 kanały PWM, więc 1 zawsze jest 8bit, a 2 pozostałe 16bit też deklarujesz jako 8bit (upraszcza to całą sprawę) 2) Robisz 3 zmienne trzymające wartość dla 3 kanałów R, G, B i gdy któraś się zmieni...
Witam, Wiem, że podobne tematy były jak mój lecz nie znalazłem rozwiązania a siedzę już ponad tydzień czasu nad tym. Robię czujnik reagujący na odbitą wiązkę z diody IR 920nm. Wykorzystuje atmega8 do generowania nośnej 36kHz lecz mam za mały zasięg. Reaguje dopiero na odległości około 20cm a potrzebuje 1m. Pin B.1 odpowiedzialny jest za podawanie impulsu...
bascom timer pilot timer timer przerwa bascom
yanosik pliki czyszczenie serwisowe brother pomiar wartości średniej prądu
Instrukcja obsługi tunera Denon TU-460 - gdzie znaleźć? Sansui D-99D – wymiana pasków napędowych, zestawy zamienne, objawy zużycia