Odbiornik Rc5


8.16667
Ocena: None Średnia: 8.2 (6 głosujących)

Urządzenie to współpracuje z układami mikroprocesorowymi zawierającymi klawiaturę w formie przycisków zwieranych do masy. Układ włączony jest równolegle do klawiatury urządzenia sterowanego i po odebraniu sygnału z pilota pracującego w standardzie Rc5 powoduje wymuszenie stanu niskiego na odpowiednim przycisku. Układ którym sterujemy odbierze to jako naciśnięcie przycisku na klawiaturze. Odbiornik ten został zaprojektowany jako pilot do przedwzmacniacza cyfrowego ale po zmianie oprogramowania może działać z dowolnym innym urządzeniem. Układ działa w oparciu o mikrokontroler AT89C2051 (lub ATTiny2313) i kilka elementów pomocniczych. Zasilanie pobierane jest ze sterowanego urządzenia.

Działanie:


Schemat ideowy odbiornika przedstawiony jest na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (AT89C4051) wraz z rezonatorem kwarcowym X1 (12MHz) i kondensatorami C1 (22pF) i C2 (22pF). Kondensator C3 (1uF) zapewnia reset procesora po włączeniu napięcia zasilania. Układ U2 (TSOP1736) jest odbiornikiem podczerwieni pracującym na częstotliwości 36KHz. Elementy R3 (220R) i C5 (100uF) stanowią obwód zasilania układu U2. Dioda D1 wraz z rezystorem ograniczającym prąd R4 (330R) służy do sygnalizowania poprawnie odebranej transmisji w kodzie Rc5. Kondensator C4 (47uF) filtruje napięcie zasilające mikrokontroler. Rezystory R1 (1k) i R2 (1k) podciągają piny P1.0 i P1.1 mikrokontrolera do plusa zasilania. Wyjścia sterujące układu (Port P1) oraz zasilanie (5V) wyprowadzone są na złącze SW_Goldpin.

Budowa:


Układ można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym można ściągnąć tutaj. Montaż układu jest prosty i nie powinien sprawić trudności. W pierwszej kolejności należy wlutować rezystor R1 leżący pod mikrokontrolerem. Kolejność pozostałych elementów jest dowolna. Pod procesor bezwzględnie konieczna jest podstawka, w przeciwnym wypadku nie będzie możliwe jego zaprogramowanie. Pomocą przy konstrukcji może okazać się dostępny tutaj schemat montażowy.

Zamiast mikrokontrolera AT89C2051 można zastosować ATTiny2313. W takim wypadku nie należy montować rezystorów R1 i R2 oraz kondensatora C3. Rezonator kwarcowy X1 należy wymienić na 16MHz bo pod taki program był kompilowany. Dla rezonatora 12MHz jaki był w pierwotnym układzie należy zmodyfikować program (pierwszą linijkę z dyrektywą $crystal wpisując 12000000 zamiast 16000000). Ustawienia fusebitów mikrokontrolera ATTiny2313 dostępne są w rozdziale "Programowanie"

Wykaz Elementów:


1x Listwa Gold Pin 1x10

1x 220R
1x 330R
2x 1k

2x 22pF
1x 1uF Elektrolit
1x 47uF Elektrolit
1x 100uF Elektrolit

1x Rezonator Kwarcowy 12MHz
1x Dioda LED
1x AT89C2051 + Podstawka
1x Odbiornik podczerwieni TSOP1736

Programowanie:

UWAGA! W przypadku korzystania z wersji programu dla AVR, podczas kompilacji w nowym bascomie linia konfiguracji RC5 powinna wyglądać następująco:

Config Rc5 = Pind.2 , Wait = 2000 

Mikrokontroler został zaprogramowany w wersji demo programu BASCOM 8051 firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'****************************
           'Konfiguracja
'****************************
$crystal = 12000000                                           '12MHz
$regfile = "89C4051.DAT"
 
Config Rc5 = P3.2
Reset Tcon.0                                                  'reaguje na zbocze narastajace
On Int0 Odbierz_rc5
Enable Int0
Enable Interrupts
 
 
Dim Odebrano As Bit
Dim Komenda As Byte , Adres As Byte
 
Dioda Alias P3.7
'****************************
      'Petla glowna
'****************************
Do
  If Odebrano = 1 Then
     Odebrano = 0
     If Adres = 0 Then
       Disable Int0
 
       Waitms 100
       Reset Dioda
 
       Select Case Komenda
         Case 1:                                              'vol+
           Reset P1.7
         Case 2:                                              'bas+
           Reset P1.6
         Case 3:                                              'treb+
           Reset P1.5
         Case 4:                                              'vol-
           Reset P1.3
         Case 5:                                              'bas-
           Reset P1.2
         Case 6:                                              'treb-
           Reset P1.1
         Case 15:                                             'we
           Reset P1.0
         Case 13:                                             'mute
           Reset P1.4
       End Select
 
       Waitms 100
       Set Dioda
       P1 = 255
 
       Enable Int0
     End If
  End If
Loop
End
'****************************
      'Inne Etykiety
'****************************
Odbierz_rc5:
  Getrc5(adres , Komenda)
  Adres = Adres And &B00011111                                'zerowanie bitu 5
  Odebrano = 1
Return
'****************************

Poniżej przedstawione są ustawienia fusebitów mikrokontrolera ATTiny2313 (nie dotyczy AT89C2051 jaki został uzyty w pierwotnej wersji):

Zdjęcia Projektu:

ZałącznikWielkość
Schemat41.01 KB
Płytka7.86 KB
Płytka (odbicie lustrzane)7.88 KB
Płytka (9 na stronie)50.99 KB
Montowanie10.59 KB
Opis5.28 KB
Opis (odbicie lustrzane)5.31 KB
Kod Źródłowy2.14 KB
Program po kompilacji (BIN)454 bajty
Program po kompilacji (HEX)1.29 KB
Kod Źródłowy (dla ATTiny2313, BASCOM AVR)1.22 KB
Program po kompilacji (BIN) (dla ATTiny2313, BASCOM AVR)586 bajtów
Program po kompilacji (HEX) (dla ATTiny2313, BASCOM AVR)1.63 KB
Kod Źródłowy (dla ATTiny13, BASCOM AVR) (nie testowany)1.05 KB



Portret użytkownika mirley

Re: Rc5

Da się tak zrobić ale nie wiem czy dokładnie o to Ci chodzi:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 16000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111011 : Portd = &B11111111
 
Config Rc5 = Pind.2
Dioda Alias Portd.6
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Komenda As Byte , Adres As Byte
'*************  Zmienne Koniec  ****************
 
'**************  Petla glowna ******************
'***********************************************
Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
  If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Toggle Portb.0
      Case 2:
          Toggle Portb.1
      Case 3:
          Toggle Portb.2
      Case 4:
          Portb.0 = 0
          Portb.1 = 0
          Portb.2 = 0
      Case 5:
          Portb.0 = 1
          Portb.1 = 1
          Portb.2 = 1
    End Select
 
    Waitms 100
    Set Dioda
    Waitms 100
  End If
 
Loop
End
'************ Petla glowna Koniec **************

Teraz na klawiszach 1-3 właczasz/wyłączasz kolejne żarówki, po naciśnięciu 4 wszystko się włącza niezależnie od stanu poprzedniego, po naciśnięciu 5 wszystko się wyłącza

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Rc5

Wielkie dzięki właśnie mi o to chodziło :)

P.S. Mam jeszcze jedno pytanie:
Poniżej przedstawiam schemat pilota Rc5

i trudne by było zaprogramowanie atmegi 8 pod ten odbiornik Rc5 z oprogramowaniem jakie mi przedstawiłes powyżej?? zgodnie założeniami jakie chcę czyli: przyciski 1-3 sterują osobno każdą żarówką natomiast 4 i 5 wszystkimi żarówkami. Dokładnie chodzi mi o to aby kody w oprogramowaniu były zgodne i żeby nie trzeba było ich szukać metodą prób i błędów.
Z góry dziękuję!
Pozdrawiam!

Portret użytkownika mirley

Re: Nadajnik Rc5

Nie wiem czy było by trudne zaprogramowanie nadawania Rc5, co prawda jest w bascomie Rc5send ale nigdy nie chciała mi działać ta funkcja a obecnie nie mam stanowiska testowego przy sobie ani wolnego czasu żeby to sprawdzić. raz tylko udało mi się zrobić nadajnik Rc5 na jakims specjalistycznym układzie, wszystko kosztowało około 25zł a pilot a allegro 4zł, więc nigdy nie wróciłem do tematu nadawania Rc5 przez mikrokontroler. Na płytce testowej przewidziałem sobie diodę ired więc jak będę miał do niej dostęp to sprawdzę jak to działa. Jeśli wysyłanie zadziała to wystarczy kilka ifów żeby zrobić pilot

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Nadajnik Rc5

Dziękuję za odpowiedź!
A może znasz inny sposób na stworzenie takiego nadajnika?? Może bezprogramowania??
Pozdrawiam!

Portret użytkownika mirley

Re: Nadajnik Rc5

Popatrz http://sklep.avt.pl/photo/_pdf/AVT2600.pdf tylko schemat będziesz musiał znacznie uproścćc żeby zrobić tylko kilka klawiszy. jeszcze może bardziej atrakcyjny będzie układ http://sklep.avt.pl/photo/_pdf/AVT2427.pdf. Ale tak jak już wielokrotnie powtarzam najtańszy jest gotowy pilot. Jak znajdę trochę czasu to zajmę sie nadawaniem Rc5 na uC ale narazie muszę dokończyć parę rzeczy o które byłem wcześniej proszony

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Jak to zasilić??

Witam!
Mam takie pytanie: jaki użyć transformator aby zasilić ten odbiornik wraz z 3 układami wykonawczymi??
Jakiej mocy i jakiego napięcia??
Z góry dziękuję i Pozdrawiam!

Portret użytkownika White

odbiornik

Źródło zasilania 5V. Więc transformator 5-8V napięcia zmiennego, mostek gretza i po wyprostowaniu mimo wszystko na stabilizator 5V. Wydajność wydaje mi się ze 200-300mA lekko starczy.

-

Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)

Portret użytkownika Chester

kondensator??

Przydałby mnie sie jeszcze kondensator tylko jakiej pojemności?? Ponieważ będzie to działać w domku jednorodzinnym a nie wiem czemu a zauważyłem że czasem są skoki napięcia ponieważ żarówki przygasają więc kondensator na wyjściu poprawiłby tą sytuację prawda??
Pozdrawiam!

Portret użytkownika mirley

Re: Kondensator

Daj kondensator o dużej pojemności nawet może być 4700uF ale na niskie napięcie np 16V lub 25V żeby niepotrzebnie nie zwiększać kosztów i wymiarów (napięcie kondensatora zależy od napięcia na trafie pamiętaj że po wyprostowaniu i filtrowaniu napięcie rośnie przynajmniej o pierwiastek z 2). Równie dobre są kondensatory 1000uF lub 2200uF. Powinny poprawić sprawę ze skokami napięcia. tak samo jeśli trafo będzie miało napięcie np 8V a nie 5V to nawet jeśli spadnie na chwile o 2V (co napewno sie nie stanie) to i tak stabilizator poradzi sobie utrzymując 5V

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Kondensator

Dzieki za odpowiedź :) ale jeszcze mam jedno pytanie z tego co zrozumiałem to mówisz o kondensatorze przed stabilizatorem??

Bazując na tym schemacie:

jako kondensatora C1 i C2 mogę użyć spokojnie tych co polecałeś czyli 47000uF 16V/105°C

Pozdrawiam!

Portret użytkownika White

Odbiornik

Tak większy głownie C1 ten za stabilizatorem może być już mniejszy ale nic się nie stanie jak będzie taki sam.

-

Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)

Portret użytkownika mirley

Re: Zasilanie

Przed stabilizatorem może być kondensator 4700uF lub 2200uF a kondensator za stabilizatorem ma być mały, powiedzmy 47uF lub 100uF. Pamiętaj o napięciu kondensatorów aby po mostku napięcie na kondensatorze nie urosło ponad dopuszczalną wartość dla kondensatora (dotyczy to tego zaraz za mostkiem bo to on ładuje się przebiegiem pulsującym do wartości bliskiej amplitudzie przebiegu a to co mierzysz na transformatorze miernikiem uniwersalnym to napięcie skuteczne a nie amplituda)

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

kod rc5

Witam!
W programie jaki otrzymałem powyżej do odbiornika kodu rc5 treść programu przedstawiona poniżej:

Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
  If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Toggle Portb.0
      Case 2:
          Toggle Portb.1
      Case 3:
          Toggle Portb.2
      Case 4:
          Portb.0 = 0
          Portb.1 = 0
          Portb.2 = 0
      Case 5:
          Portb.0 = 1
          Portb.1 = 1
          Portb.2 = 1
    End Select

określa że odbiornik będzie odbieral komendy od 1-5 przy adresie 0??
Sprostuje o co mi dokładnie chodzi:
czytając na temat kodu rc5 zrozumiałem to tak, że przykłądowo telewizor odbiera w adresie 0, natomiast odtwarzacz dvd w adresie 1, i do każdego adresu istnieje około 64 komendy czy dobrze to rozumuje?? Z tego wynika że kierujac pilotem telewizyjnym w stronę odtwarzacza nic sie nie stanie ponieważ nadaje on w innym adresie?? I w którym miejsu w programie jest to zaznaczone w jakim adresie ma odbierać odbiornik?? Ponieważ oznaczenia case 1 itd to są komendy prawda??

Z góry dziękuję za odpowiedź!
Pozdrawiam!

Portret użytkownika mirley

Re: Rc5

Odbiornik powinien reagować tylko na jeden adres, telewizor ma adres 0, pozostałe to nie wiem. W programie odbiornika adres jest sprawdzany zaraz po odczycie:

If Adres = 0 Then

Poszczegolne case'y to komendy tak jak napisałeś.

Ps. Kod zawsze umieszczaj w odpowiednim znaczniku, aby wyglądał jak kod, dla bascoma jest przycisk BAS u góry

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Rc5

Przepraszam za problem na drugi raz będę wiedział :)

Jeżeli przykładowo zmieniłbym ten adres na "1"?? To pilot też musiałby nadawać w tym adresie prawda??

Pozdrawiam!

Portret użytkownika mirley

Re: RC5

Dokładnie tak :), jeśli miałbyś pilota uniwersalnego, którego można przestrajać na różne adresy to mógłbys ustawić sobie taki adres który nie zakłóca pracy innych urządzeń. Aha... nie wszystkie telewizory korzystają z Rc5 więc sprawdź poprostu czy telewizor reaguje na kod rc5 z pilota innego niż fabrycznie do niego dołączony

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

rc5

wielkie dzięki za odpowiedź :)

Portret użytkownika alex

problem

steruję lampką rgb + lampka zwykła.

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 8000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111011 : Portd = &B11111111
 
Config Rc5 = Pind.2
Dioda Alias Portd.6
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Komenda As Byte , Adres As Byte
'*************  Zmienne Koniec  ****************
 
'**************  Petla glowna ******************
'***********************************************
Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
  If Adres = 0 Then
    Reset Dioda
 
 
 
    Select Case Komenda
      Case 50:
      Toggle Portb.0
      Case 59:
 
          Toggle Portb.1
      Case 55:
 
          Reset Portb.2
      Case 54:
 
          Reset Portb.3
      Case 52:
 
          Reset Portb.4
      Case 32:
 
          Reset Portb.5
      Case 33:
 
          Reset Portb.6
      Case 8:
 
          Reset Portb.7
    End Select
 
    Waitms 100
    Set Dioda
     Portb = Portb Or &B11111100
    Waitms 100
  End If
 
Loop
End

portb.0 i b.1 jest ok. jest to włącz i wyłąc rgb i zwykła. gdy podepnę któryś z innych portów do przycisków lampki rgb to wygląda to tak jakby były cały czas wciśnięte i sterowanie lampką jest zablokowane . współne zasilanie i - lampki rgb i rc5

Portret użytkownika mirley

Re: Rc5

Podłacz zwykłe diody do pinów pozostałych i zobacz czy migają poprzyciśnięciu. Pamiętaj że przycisk reaguje na stan niski czyli dioda ma być podłączona między +5V (przez rezystor) a port. Potem zmień Waitms 100 na Waitms 200, aby zwiększyć czas trwania impulsu bo przyciski lampki trzeba dłużej trzymać żeby zareagowały

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika alex

problem

zwiększyłem czas do 200 z rc5 przez rezystory 330om na przyciski lampki rgb niby jest ok ale wtedy
nie dokońca odcina wyłączenie lampki (na pinie portb.1 jest on- off przez tranzystor podłączony do rc5
przez rezystor 3,3k, emiter do +5V, kolektor do zasilania pinu lampki rgb tranzystor BD912 innego nie miałem pnp chyba że wystarczy inny zwykły pnp)gdy wypnę przęyciski lampki rgb działa prawidlowo załańczanie lampki gdy je wepnę przyciski przełączają ale po off pozoztaja ok. 2,5V na zasilaniu lampki
i lampka dalej działa chociąż tli się przy tych 2,5V. gdy zewrę przerwę od zasilania do 5v lampki na stałe
przyciski przełańczają prawidłowo ale wtedy nie mam możliwości wyłaczenia lampki.
czy niema znaczenia że jest to lampka ze współną anodą i zasilanie idzie jednoczesnie do zasilania procesora i na diody rgb

Portret użytkownika mirley

Re: Rc5

Rozumiem że tranzystor masz podłaczony kolektorem do pinu 20 mikrokontrolera lampki, czy jak zwierasz bazę tranzystora poprzez ten rezystor 3,3k do +5V (narazie bez drugiego procesora z odbiornikiem rc5) to lampka się wyłącza czy jest to napięcie 2,5V i dzieją się dziwne rzeczy? Sprawdź pierwsze takie działanie z samą lampką. Po zwarciu rezystora na bazie do masy lampka powinna się włączyć, mozesz jeszcze spróbować dać mniejszy rezystor np 1k. Jak będzie działało w ten sposób to potem podłączysz do drugiego procesora.

Quote:

gdy wypnę przęyciski lampki rgb działa prawidlowo załańczanie lampki gdy je wepnę przyciski przełączają ale po off pozoztaja ok. 2,5V na zasilaniu lampki

jakie przyciski lampki wypinasz? niestety nie rozumiem tego zdania. Napisz porządnie pytanie aby ktoś mógł zrozumieć o co ci chodzi a z pewnością szybciej znajdzie się odpowiedź

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika alex

problem

wiem że trochę namieszałem ale sprobuję jeszcze raz.
emiter do +5V, kolektor do pinu 20 lampki (na wyjściu stabilizatora zrobilem przerwę i +5V to jest nóżka wyjścia stabilizatora a kolektor jest podłączony za przerwą i idzie do pinu 20 lampki.
po odłączeniu całkowicie układu rc5 zwieram bazę tranzystora przez rezystor 3,3k i lampka się załańcza,
puszczam wyłańcza.Podpinam rc5 tzn do portu portb.1 układu rc5 ( Case 59:toggle Portb.1 -wpinam i wypinam u mnie znaczylo wypięcie przewodów z listwy gildpin)podpinam tą bazę tranzystora przez rezystor 3,3k. naciskam odpowiedni przycisk pilota lampka się zapala jeszcze raz gaśnie. następne piny w rc5
portb.2,3,4,5,6 są do obsługi przycisków lampki (case:55 Reset Portb.2 itd. nne piny)i tak wpinam do listwy goldpin w rc5 5 przewodów i w drugą stonę przez rezystor 330om do przycisków lampki(lampka też z twojej strony pod nóżki przycisków idących do pinów procesora ). I tu zaczyna się problem po właczeniu zasilania diody świecą bardzo słabo po przyciśnięciu załącz (załańczanie tranzystorem )lampka pracuje nrmalnie dzialają wszystkie przyciski ale po wciśnieciu wyłacz (ten sam pin co załącz przez tranzystor)diody sie lekko świecą, dioda lampkii sygnalizująca pracę lampki i jej szybkość też miga slabym światlem i na pinie 20 lampki jest 2,5V więc lampka nadal pracuje tylko slabym światłem ponowne załączenie i normalna praca więc nieda siej nigdy calkowicie wyłączyć.Sama lampka bez podpięcia rc5 działa zawsz prawidłowo .strasznie tego dużo nabazgrałem i nie wiem czy znów ktoś to zrozumie.


Portret użytkownika mirley

Re: Lampka Rc5

teraz dobrze opisałeś co się dzieje... nie zmienia to jednak faktu że dalej nie wiem co jest nie tak. Czy chcesz aby zasilanie od lampki wyłączało się bezwzględnie czy wystarczy żeby diody się wygasiły? Wpadłem teraz na pomysł że może dało by się dopisać do programu lampki żeby wygaszała diody jeśli stan na pinie Pb.6 będzie odpowiedni. Czy takie działanie mogło by być, oba procesory będą wtedy zasilane ale diody w lampce wygaszone?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika alex

problem

wystarczyło by mi wygaszenie diod, kombinowałem całą sobotę i aż się boję siadać do tego dzisiaj
bo będzie znowu cała niedziela. A tak na marginesie to jestem pełen podziwu dla Ciebie że chcesz się zajmować problemami innych i udostępniasz swoje prace przeważnie ludzie nie chcą sie dzielić.
a z twojej strony można się wiele nauczyć.Wieczorem będę robbił przelewy to też wesprę twoją stronę bo warto by istniała.

Portret użytkownika mirley

Re: Lampka Rc5

Będziesz musiał zmienić troche program lampki RGB, na samym początku konfiguracja ma teraz wyglądać tak:

Config Portb = &B10111111 : Portb = &B11111111  'tu jest zmiana, pin B6 staje się wejściem
Config Portd = &B00000000 : Portd = &B11111111

potem w przerwaniu:

Prztimer0:
 
 if pinb.6 = 0 then                               '<<<<<<<<<<<<<<<dopisać
 
 Incr Licznik
 If Licznik = 100 Then Licznik = 0
 
 If Licznik < Rled Then
  Reset Rd
  Reset Rd2
 Else
  Set Rd
  Set Rd2
 End If
 
 If Licznik < Gled Then
  Reset Gd
  Reset Gd2
 Else
  Set Gd
  Set Gd2
 End If
 
 If Licznik < Bled Then
  Reset Bd
  Reset Bd2
 Else
  Set Bd
  Set Bd2
 End If
 
 Incr Dzielnik
 If Dzielnik = 250 Then
   Dzielnik = 0
   Set Flaga
 End If
 
else                 '<<<<<<<<<<<<<<<dopisać
 portb = 255         '<<<<<<<<<<<<<<<dopisać 
end if               '<<<<<<<<<<<<<<<dopisać  
 
Return

Teraz stan niski na pinie b.6 włącza lampkę a stan wysoki wyłącza i wygasza diody

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika alex

rc5

ok. Zmieniłem program lamki, i działa jak trzeba. dzięki za pomoc.

Portret użytkownika Chester

Jak to połączyć??

Witam!

Może jest to banalne ale i tak zapytam aby być pewnym:)
Zbudowałem zasilacz którym chce zasilić ten oto odbiornik oraz 3 układy wykonawcze tylko jak to dokładnie połączyć??

Patrząc na ostatnie zdjęcie odbiornika to od lewej dwa pierwsze piny to zasilanie samego odbiornika?? W który pin mam wpiąć masę a w który +5?? Natomiast kolejne to już są tak jakby piny wykonawcze czyli według tego oprogramowania:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 16000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111011 : Portd = &B11111111
 
Config Rc5 = Pind.2
Dioda Alias Portd.6
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Komenda As Byte , Adres As Byte
'*************  Zmienne Koniec  ****************
 
'**************  Petla glowna ******************
'***********************************************
Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
  If Adres = 1 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Toggle Portb.0
      Case 2:
          Toggle Portb.1
      Case 3:
          Toggle Portb.2
      Case 4:
          Portb.0 = 0
          Portb.1 = 0
          Portb.2 = 0
      Case 5:
          Portb.0 = 1
          Portb.1 = 1
          Portb.2 = 1
    End Select
 
    Waitms 100
    Set Dioda
    Waitms 100
  End If
 
Loop
End
'************ Petla glowna Koniec **************

jest na nich tzw stan wysoki gdzie podłączamy to do do wejścia IN do układy wykonawczego znajdującego się na tej stronie a masę doprowadzamy tam bezpośrednio z zasilacza??

Z góry dziękuję za odpowiedź!
Pozdrawiam!

Portret użytkownika mirley

Re: Rc5

Jeśli masz zasilacz 5V to nie ma problemu z podłączeniem. Na schemacie Vcc oznacza +5V (pin 10 złacza goldpin ) a GND masę (minus lub 0V jak kto woli) (pin 9 złacza goldpin). Układ wykonawczy (mam na myśli ten z triakiem z mojej strony) podłaczasz w następujący sposób; Wejścia układów wykonawczych (diody optotriaków), podłączasz anodą (plusem) do +5V poprzez rezystory 330R, a katodami bezpośrednio do pinów procesora. Wysokonapięciowa strona układu wykonawczego nie ma prawa być niczym podłączona do układu z procesorem, bo będzie tam panowało 230V

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

rc5

Porównując schemat oraz płytkę doszedłem do wniosku żę pin 10 to ten przy czerwonej kropce na płytce prawda?? Natomiast pin 9 to następny w dół płytki (patrząc na przedostatnie zdjęcie).

Idąc dalej tym tropem to piny 1-3 są po przeciwnej stronie czyli tzw. piny wykonawcze dobrze myśle??

Natomiast co do układów wykonawczych (oczywiście zamieszczonych na tej stronie) zrozumiałem, że z zasilacza (który posiadam) łącze +5 z anodą opotriaka poprzez rezystor 330R, a katodę łącze bezpośrednio do kolejnych pinów mikrokontrolera czyli tam będzie stan niski?? (powołując się na oprogramowanie, które umieściłem powyżej)

Jeżeli się myle proszę nie poprawić!

Pozdrawiam!

Portret użytkownika mirley

Re: Rc5

Dobrze rozumiesz zasilanie i piny wykonawcze. Oprogramowanie zmienia stan portu na przeciwny po kliknięciu przycisku, więc nie ma znaczenia czy podłaczysz optotriak do masy (katodą) przez rezystor i do portu czy do plusa anodą tak jak Ci napisałem. Przeważnie zawsze steruje diodami itp "od strony masy"

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

fusebity??

Witam!

Mam takie pytanie co do fusebitów. Jak mam ustawić fusebity do ATtiny2313 gdy posiada on w układzie zewnętrzny oscylator 16MHz??
Jak narazie początkuję w programowaniu i sie w tym wszystkim jeszcze troszke gubie :( posiadam nakładkę AVR8 Burn-O-Mat i tam jest troszkę inny wygląd ustawienia fusebitów niż przedstawione jest tutaj.
Znalazłem natomiast artykuł (zamieszczony tutaj na stronie) dotyczący ustawienia właśnie fusebitów i jest tam pokazane jak to zrobić dla oscylatora powyżej >8MHz czy mogę z tego skorzystać??

Z góry dziękuję za odpowiedź!
Pozdrawiam!

Portret użytkownika mirley

Re: Fusebity

Tak masz skorzystać z artykułu o fusebitach z tej strony, tam jest zrzut z burn-o-mata i dokładny opis. Użyj opcji dla częstotliwości >8MHz i wyłączonego dzielenia prze 8

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Fusebity

Czyli mam skorzystać z tego pierwszego rysunku jak rozumiem :)??

Portret użytkownika mirley

Re: Fusebity

Masz skorzystać z drugiego rysunku http://mirley.firlej.org/files/ART_fuseT2313_02B.gif

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chester

Gotowe :)

Witam!

Wykonałem przedstawiony tutaj odbiornik oraz układy wykonawcze znajdujące się na tej stronie i wszystko DZIAŁA:)
Jestem bardzo zadowolony, że wszystko mi wyszło :)
Także chciałem podziękować za wszelka pomoc mi udzieloną oraz za odpowiedź na wszystkie pytania:)

Steruję pilotem, który sam wykonałem dzięki pomocy Huberta F.:) zamieszczam link aby pokazac jak to wyszło:)

http://w401.wrzuta.pl/film/7SzZUbQjBMk/rc5

Pozdrawiam!

Portret użytkownika White

odbiornik

Polecam Forum>>Własne Opracowania>>Projekty z tej strony>>opisać ładnie i wszyscy będą widzieć.

-

Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)

Portret użytkownika Chester

odbiornik

Oczywiście że przedstawie ale to jak ładnie wszystko już zbuduje:)

Portret użytkownika gosc

Witam Jest możliwość jakoś

Witam
Jest możliwość jakoś przerobienia aby wszystko pasowało pod ATmega8?

Portret użytkownika mirley

Re: Rc5

Popatrz na forum... wydaje mi się że program dla mega 8 był już przedyskutowany... sam nie mam czasu aby napisać to w sensownym terminie, przeróbek nie ma dużo, więc może ktoś podsunie swój kod pod inny mikrokontroler

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc

Kurde przeszukałem forum ale

Kurde przeszukałem forum ale nie znalazłem nic o przeróbkach na ATmega8 :(

Portret użytkownika mirley

Re: M8 Rc5

Tak w sumie to nie trzeba się zbytnio z tym trudzić... weź program od tiny2313, zamien nazwę procesora w pierwszej linii, potem dodaj konfigurację dla portu C podobnie jak jest dla B i D.

Config Portc = &B11111111 : Portc = &B11111111

Nie zmieniaj numeru pinu podłączenia Rc5, niech będzie Pd.2, diodę możesz dać na inny pin zmieniając linijkę z Alias. Teraz w głównej pętli tam gdzie są case:

      Case 1:
          Toggle Portb.0   '<<< tutaj pin jakim ma sterować odbiornik
      Case 2:
          Toggle Portb.1
      Case 3:
.......

pozmieniaj numery pinów na takie jak Ci odpowiadają

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gravi

kwarc

Czy musze uzyc attiny i koniecznie takiego kwarcu?
Wolalbym uzyc Atmegi8 i wbudowanego kwarcu 8MHz, ale pewnie tak sie nie da?

Portret użytkownika mirley

Re: Rc5

Da się zrobić na Mega8 i wewnętrznym oscylatorze. Poprostu zadeklaruj na początku programu odpowiednią częstotliwość, żeby Rc5 dobrze działało. Kwarc został tu użyty temu że był wcześniej przy 2051 a po przeróbkach na tiny2313 został na płytce

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika andrzzbi

PortB 6 i 7 nie zmienia stanów

Witaj,
zrobiłem ten odbiornik kodu RC5 i według Twoich wcześniejszych podpowiedzi zmieniłem kod
dla własnych potrzeb. Wszystko pięknie działa oprócz stanów na portach 6 i 7.Cały czas utrzymuje sie stan wysoki i po odebraniu kodu tylko na chwilę zmienia stan na niski i zpowrotem jest wysoki (działa jak port Reset a jest Toggle), port 0 działa jak powinien.
Co może być przyczyną takieg zachowania programu? Może Bascom źle kompiluje. Gdy wgrywam Twój orginalny bin ze strony jest ok. Możesz pomóc ?

poniżej kod:

************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 16000000
 
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111011 : Portd = &B11111111
 
Config Rc5 = Pind.2
Dioda Alias Portd.6
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Komenda As Byte , Adres As Byte
'*************  Zmienne Koniec  ****************
 
'**************  Petla glowna ******************
'***********************************************
Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
  If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 12:                                              'standby
          Toggle Portb.0
      Case 16:                                              'volume+
          Reset Portb.1
      Case 17:                                              'volume-
          Reset Portb.2
      Case 13:                                              'mute
          Reset Portb.1
          Reset Portb.2
      Case 44:                                              'recird
          Reset Portb.3
      Case 41:                                              'stop
          Reset Portb.4
      Case 45:                                              'zegar
          Reset Portb.5
      Case 4:                                               '4
          Reset Portb.3
          Reset Portb.4
      Case 5:                                               '5
          Reset Portb.4
          Reset Portb.5
      Case 6:                                               '6
          Reset Portb.3
          Reset Portb.5
      Case 7:                                               '7
          Reset Portb.3
          Reset Portb.4
          Reset Portb.5
      Case 29:                                              'kontrast+
          Reset Portb.1
          Reset Portb.3
      Case 28:                                              'kontrast-
          Reset Portb.2
          Reset Portb.3
      Case 18:                                              'jasność+
          Reset Portb.1
          Reset Portb.4
      Case 19:                                              'jasność-
          Reset Portb.2
          Reset Portb.4
      Case 20:                                              'nasycenie+
          Reset Portb.1
          Reset Portb.5
      Case 21:                                              'nasycenie-
          Reset Portb.2
          Reset Portb.5
      Case 1:                                               '1
          Reset Portb.1
          Reset Portb.2
          Reset Portb.3
      Case 2:                                               '2
          Reset Portb.1
          Reset Portb.2
          Reset Portb.4
      Case 3:                                               '3
          Reset Portb.1
          Reset Portb.2
          Reset Portb.5
      Case 46:                                              'poprzedni
          Toggle Portb.6
      Case 42:                                              'nastepny
          Toggle Portb.7
    End Select
 
    Waitms 200
    Set Dioda
    Portb = Portb Or &B11111110
    Waitms 200
  End If
 
Loop
End
'************ Petla glowna Koniec **************

Portret użytkownika wilus

rc5

jakie komendy wpisać aby działały te kolorowe guziki do telegazety z pilota??

Portret użytkownika mirley

Re: Rc5

Sprawa z kodem jest prosta, wszystko dobrze kompiluje:

   .....
      Case 46:                                              'poprzedni
          Toggle Portb.6
      Case 42:                                              'nastepny
          Toggle Portb.7
    End Select
 
    Waitms 200
    Set Dioda
    Portb = Portb Or &B11111110    '<<ustawiasz tutaj stan wysoki na portach 6 i 7 
    ....

W linijce:

Portb = Portb Or &B11111110 

musisz wyłączyć maskę na portach 6 i 7, to znaczy zamienić wartość &B11111110 na &B00111110

---

Numery klawiszy....? niestety nie wiem jak pilot ot twojego telewizora ma to zakodowane, metoda prób i błędów albo analiza z jakimś uC i wyśw LCD

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika andrzzbi

PortB 6 i 7 nie zmienia stanów

O kurde, po zmianie wszystko pięknie działa w/g moich potrzeb. Zmieniłem kod na wewnętrzny rez. 8MHz i też działa.
Dzięki, Jeteś wielki.

Portret użytkownika wilus

re: Rc5

ogólnie to jest to pilot uniwersalny i jak narazie działa na każdym telewizorze na oryginalnym programie odbiornika też.

Portret użytkownika mirley

Re: Pilot

Spróbuj zabawę z komendami w granicach 50-60, ustaw je w programie i testuj na jakie klawisze które wyjście reaguje

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika wilus

rc5

ok działa dzięki ;) a takie pytanie czy trudno przerobić program, aby np. po naciśnięciu guzika 1 na 3 wyjściach mikroprocesora otrzymamy inne częstotliwości PWM chodzi o sterowanie diodami RGB