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 gosc

Pilot

Jaki pilot do tego służy ? Albo jak przypisać dany przycisk z pilota do odpowiedniego wyjścia ?

Portret użytkownika mirley

Pilot

Urządzenia działa z pilotem pracującym w standardzie Rc5 (standard ten opracowała firma Philips ale w europejskim sprzęcie innych producentow też jest używany). Najprościej jest kupić taki pilot za kilka złotych na Allegro lub w sklepie elektronicznym.

W programie należy zmodyfikować linijki:

 Select Case Komenda
         Case x:                                          
           Reset P1.7
         Case y:  
          .....                         

gdzie x, y itd. to numery klawisza ktoremu odpowiadają konkretne akcje znajdujące się w instrukcji "case". Numery komend Rc5 należy odczytać za pomocą dodatkowej płytki z wyświetlaczem LCD albo "zgadywać" na piechotę

-

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

scalak

A dlaczego akurat AT89C2051 ? Mysle, ze rownie dobrze moglby byc ATtiny 2323 tak?;]

Portret użytkownika mirley

Oczywiście że może być

Oczywiście że może być ATTINY2313 lub dowolny inny mikrokontroler. W układzie jest AT89C4051 bo taki miałem pod ręką. Program jest mały i zmieści się także w AT89C2051 (tak jak na schemacie), dla ATTINY2313 trzeba go trochę przerobić

-

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 Adam

Witam Aby użyć ATTINY2313

Witam
Aby użyć ATTINY2313 i kwarcu 16MHz wystarczy zmienić ten kawałek ?

Quote:
'****************************
'Konfiguracja
'****************************
$crystal = 16000000 '16MHz
$regfile = "attiny2313.dat"

Co trzeba jeszcze dopisać żeby na jednym z pinów przy wciśnięciu przycisku power na pilocie zamiast chwilowego załączenia masy był ciągły sygnał ? tzn. po wciśnięciu pojawiłaby się masa na jednym z pinów i dopiero po ponownym wciśnięciu masa znikłaby. Jest to w ogóle możliwe ?
Pozdrawiam

Portret użytkownika mirley

Trzeba troszeczkę więcej

Trzeba troszeczkę więcej pozmieniać w programie bo to całkowicie inny mikrokontroler ale zrobie to w wolnej chwili. Nie jest to dużo roboty ale trzeba płytkę testową podłączyć i przetestować a do końca tygodnia nie dam rady niestety. Oczywiscie że sie da zrobić tak jak piszesz, żeby stan na nóżce się utrzymywał :)

-

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 Adam

Witam Dziękuję za

Witam
Dziękuję za odpowiedź :)
W takim razie zastosuję kontroler podany w projekcie. Czy aby zastosować kwarc 16Mhz wystarczy zmienić wartość w linijce, którą wcześniej podałem, czy też wymaga to więcej pracy ?
I w jaki sposób zmienić kod aby stan na nóżce się utrzymywał ?

Portret użytkownika mirley

Kod źrodlowy będzie

Kod źrodlowy będzie wyglądał tak:

'****************************
           'Konfiguracja
'****************************
$crystal = 16000000                                           '16MHz
$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+
           P1.7 = Not P1.7
         Case 2:                                              'bas+
           P1.6 =  Not P1.6
         Case 3:                                              'treb+
           P1.5 =  Not P1.5
         Case 4:                                              'vol-
           P1.3 =  Not P1.3
         Case 5:                                              'bas-
           P1.2 =  Not P1.2
         Case 6:                                              'treb-
           P1.1 =  Not P1.1
         Case 15:                                             'we
           P1.0 =  Not P1.0
         Case 13:                                             'mute
           P1.4 =  Not P1.4
       End Select
 
       Waitms 100
       Set Dioda
 
       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
'****************************

-

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 Adam

Dziękuję za przeróbkę

Dziękuję za przeróbkę :)
Jakim programatorem programowałeś ten układ ?
w internecie znalazłem pełno różnych projektów ale nie mogę się zdecydować którego użyć :)
Niestety nie da się zrobić tego tak łatwo jak w przypadku attiny 2313 ?
Pozdrawiam

Portret użytkownika mirley

Programator

Programator mam taki: http://www.elportal.pl/pdf/k10/51_15b.pdf

Obecnie malo programuje AT89C2051 a więcej avr

-

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 Adam

Czy żeby użyć attiny 2313

Czy żeby użyć attiny 2313 wystarczy zastąpić kondensator 1 uF, rezystorem 4,7k ?
Mógłbyś w wolnym czasie przerobić kod źródłowy tak żeby działał na 2313 ? :)
Byłbym bardzo wdzięczny :)

Pozdrawiam

Portret użytkownika mirley

Re: Odbiornik Rc5

Dopisałem program na mikrokontroler ATtiny 2313. Co i jak zrobić aby wszystko działało zawarte jest w opisie na stronie (dopisałem nowe informacje na temat ATtiny2313)

-

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 Adam

Witam Dziękuję za

Witam
Dziękuję za przerobienie kodu :)
Jednak mam kolejne pytanie
W tej chwili kod źródłowy jest ustawiony tak że nóżki działają na zasadzie włącz/wyłącz.
Jak należy zmienić kod aby po naciśnięciu przycisku na nóżce tylko na chwilę pojawiała się masa ?
tzn w chwili wciśnięcia przycisku pojawiałby się krótki impuls ? (coś na zasadzie uSwitch'a)
Jak powinna brzmieć odpowiednia komenda ?

Pozdrawiam

Portret użytkownika mirley

Re: Odbiornik RC5

Wcześniej byłem proszony o przerobienie tak aby działało włącz/wyłącz.

Przeróbka jest prosta, można to zrobić wzorując się na orginalnym programie. Wystarczy w instrukcji Case w kodzie zamiast zmieniać stan portu na przeciwny (toggle port) ustawić na nim stan niski. Potem tuż za pierwszą instrukcja Waitms poza Case'm należy ustawić stan wysoki na całym porcie wyjściowym (Port1 = 255)

-

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 Adam

Zgadza się :) Jednak

Zgadza się :)
Jednak dokładnie chodziło mi o to żeby odbiornik działał na zasadzie zwiernej masy, jednak na jednym z pinów był ten włącz/wyłącz :)
Już skleciłem coś sam z tych kodów, dzięki Twojej pomocy, jednak mam mały problem.

Quote:
Do
Getrc5(adres , Komenda)
Komenda = Komenda And &B01111111

If Adres = 0 Then
Reset Dioda

Waitms 100
Reset Dioda

Select Case Komenda
Case 13: 'mute
Reset Portb.1
Case 16: 'vol+
Reset Portb.2
Case 17: 'vol-
Reset Portb.3
Case 32: 'ch+
Reset Portb.4
Case 33: 'ch-
Reset Portb.5

End Select

Waitms 100
Set Dioda
Portb = 255

End If

If Adres = 0 Then
Reset Dioda

Select Case Komenda
Case 12:
Toggle Portb.0 'power

End Select

Waitms 100
Set Dioda
Waitms 100

End If


Chodzi o to że na nóżce PORTB.0 po wciśnięciu przycisku power pojawia się masa (tak jak powinno być), jednak po ponownym wciśnięciu nie znika. Znika po wciśnięciu dowolnego przycisku.
Wydaje mi się że problem leży w tym kawałku:
Quote:
Portb = 255

Można zrobić to tak żeby ten stan wysoki nie dotyczył PORTB.0 ?
To chyba powinno rozwiązać problem.
Pozdrawiam i dziękuję za pomoc :)

Portret użytkownika mirley

Re:Odbiornik RC5

Teraz już wiem o co chodzi dokładnie. Powinno to być tak:

 If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Toggle Portb.0
      Case 2:
          Reset Portb.1
      Case 3:
          Reset Portb.2
      Case 4:
          Reset Portb.3
      Case 5:
          Reset Portb.4
      Case 6:
          Reset Portb.5
      Case 7:
          Reset Portb.6
      Case 8:
          Reset Portb.7
    End Select
 
    Waitms 100
    Set Dioda
    Portb = Portb Or &B11111110 
    Waitms 100
  End If

Teraz wszystkie przyciski będą zwierać do masy na czas 100ms poza przyciskiem z Case 1: gdzie stan bedzie zmieniany na przeciwny kolejnymi nacisnięciami.

-

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 Robert Bar

Prośba o weryfikacje

Witam
Chciałbym zapytać czy w projekcie płytki tego odbiornika przy procesorze attina 2313 należy dokonać zmian ? Zastosowałem się do instrukcji zmieniając elementy ,ale niestety dioda świecąca nie reaguje po odebraniu sygnału. Dostrzegłem na fotografii powyżej iż płytka różni się od tej podanej do ściągnięcia.
Zrobiłem ten układ również na AT89C.... ,lecz objawy były następujące, po odebraniu kilku sygnałów z pilota odbiornik przestał sygnalizować odebranie kolejnych.Po Wyłączeniu zasilania i ponownym włączeniu efekt identyczny.
Jeszcze jedno pytanie dotyczące pilota .
Czy odbiornik może odbierać sygnały z przycisków pilota tylko numerycznych i czy trzeba wcześniej w programie żródłowym przypisać odpowiednie klawisze.

Pozdrawiam
Robert

Portret użytkownika Robert Bar

błędy przy kompilacji

Witam
Próbowałem kompilować plik ze żródłem i przy kompilacji występują błędy.
Porównywałem zawartość z edycji na stronie i plikiem żródłowym i zauważyłem różnice ,ale niestety nie mogę z tym sobie poradzić. Zrobiłem dzisiaj nową płytkę nowy układ i wszystkie elementy i efekt jak opisywałem poprzednim razem ,dodam tylko iż na wyjściach sterujących utrzymuje się napięcie 5V względem masy.
Bardzo zależy mi na uruchomieniu tego projektu ,ponieważ ma on współpracować z sterownikiem urządzeń z tej strony .sterownik działa bezbłędnie.

Pozdrawiam
Robert

Portret użytkownika Adam

Dzięki za pomoc :) Wszystko

Dzięki za pomoc :)
Wszystko działa tak jak powinno :)
Układ zastosowałem do lampli rgb Twojego projektu. W poniedziałek wszystko poskładam i wyślę Ci zdjęcia oraz opis tego co zastosowałem :)

Pozdrawiam :)

Portret użytkownika mirley

Re: Odbiornik Rc5

Jeśli stosujemy attiny2313 to nie trzeba robić nic na płytce poza nie montowaniem określonych elementów (tak jak napisałem w opisie). Płytka udostępniona do ściągania jest poprawna, zmieniona została jedna ścieżka na płytce w moim projekcie od spodu jest to podłączone kabelkiem. Projekt poprawiłem bo bez sensu żeby każdy musiał płytkę poprawiać gdy już ją wykona :)

Przyczyna nie działania układu na attiny to zły rezonator kwarcowy, lub źle ustawione fusy (to najczęstsza przyczyna). Jeżeli został kwarc 12MHz wlutowany to należy przekompilować program pod 12MHz lub dać 16MHz i zostawić program kompilowany przeze mnie. Jeżeli rezonator kwarcowy nie będzie zgodny z tym co ustawione w programie to nie ma szans żeby działało. Ukłat ten testowałem na płytce testowej gdy zostałem poproszony o wersję na attiny2313

Dlaczego układ z AT89C2051 zachowuje się dziwnie i się wyłącza to nie jestem w stanie stwierdzić. Może to być wina w programowaniu albo jakiś błąd w kodzie, który przeoczyłem. Jest to jednak mało prawdopodobne bo testowałem ten układ odbiornika dość długo i nigdy się nie zablokował.

Urządzenie może reagować na każdy przycisk na pilocie tylko wcześniej trzeba w kodzie źródłowym to wpisać według zasady którą pisałem już trochę wyżej :)

Odnośnie problemu z kompilacją kodu źródłowego to nie jest to możliwe. Plik który umieszczam na stronie jest finalną wersją z którego powstaje ostateczny plik bin i hex. Proszę spróbować najnowszego bascoma pobrać i wtedy nie powinno być problemu. Kod źródłowy bezpośrednio wklejony na stronę może się różnić o usunięte komentaże

Proszę dokładnie wszystko skontrolować z opisem bo sam przekonałem się wielokrotnie że błędy mogą się wszędzie zdaż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 Robert Bar

Re: rc5

Witam
Dziękuje za odpowiedz.

Problem częściowo został rozwiązany ,okazało się iż źródłem problemu były piloty które niestety mimo opisów nie nadawały sygnału w standardzie rc5. Rozwiązanie dotyczy projektu na AT89CXXXX.
Co do kodu źródłowego niestety nie ruszyłem z miejsca ,ściągłem nową ver. BASCOM-8051 i niestety nie pomogło . Pozwolę sobie wysłać zrzut z ekranu osobno na skrzynkę. Inne pliki źródłowe kompilują się bez problemu.Zależy mi na tym ponieważ chciałbym zmienić sposób działania na wyjściach tego odbiornika tak aby po każdorazowym naciśnięciu pilota pojawiał się stan wysoki ( napięcie 5 v) .Tym odbiornikiem chce sterować .
Prosił bym o krótką sugestię, w których fragmentach należy dokonać zmian.( temat dotyczy źródła na 89cxxxx)

Pozdrawiam
Robert

Portret użytkownika Robert Bar

Brak adresu i-mail

Przepraszam obiecałem przesłać zrzut z ekranu , ale nie mogę odnaleźć adresu E-mail do Ciebie.

POZDRAWIAM

Portret użytkownika mirley

Re Odbiornik Rc5

Aby odbiornik wystawiał na chwilę stan wysoki zamiast zwierać do masy wystarczy w instrukcji Case wstawic zamiast Reset P1.x wpis Set P1.x. Na początku programu napisać P1 = 0 i tak samo zamiast P1 = 255 dać P1 = 0. Pamiętaj jednak że stan wysoki w mikrokontrolera 89CX051 stan wysoki realizowany jest przez podciąganie pinu wewnętrznym rezystorem do +vcc, więc wysoki stan logiczny jest "słaby" i za wiele nie uciągnie. Dodatkowo piny P1.0 i P1.1 nie mają takich rezystorów więc nie wystawią stanu wysokiego nigdy. Należy do tych wyprowadzeń dołączyć rezystory 1k od pinów do +vcc (są już na schemacie). Zmierzam do tego że stan wysoki to będzie 5V podłączone przez rezystor 1k. Pamiętaj o tym bo może się okazać że stan wysoki nie chce się wystawić ze względu na obciążenie pinów. Po resecie mikroprocesora wszystkie piny idą w stan wysoki i dopiero pierwsza instrukcja może wystawić stan niski, a więc może to spowodować uruchomienie jakiegoś urządzenia jeśli będzie sterowane krótkim impulsem dodatnim.

Proszę wysłać mi kod źródłowy który nie chce się kompilować a sprawdzę. Mój adres to: mirley(at)op.pl

-

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 KOx!

Sterowanie wzmacniacza

Przeczytałem cały opis kilka razy i dalej nie do końca wiem co i gdzie...

Krótko:
Jak wygląda kod źródłowy kompletny dla konfiguracji: 2 kanały włącz/wyłącz (włącz/wyłącz zasilanie, mute)- ten stan sie utrzymuje przy kazdorazowym wcisnięciu przycisku i pozostałe kanały żeby pokazywała się 1 lub 0 tyle czasu ile trzymam wciśnięty klawisz w pilocie...

Bardzo bym prosił o odp.

Portret użytkownika mirley

Re: Pilot RC5

Nie mogę tego dziś napisać, proszę zaglądnąć jutro to postaram się zdążyć. Co do utrzymywania się stanu do momentu trzymania to trzeba trochę więcej pracy i kombinowania, nie wystarczy krótki impuls po każdorazowym wciśnięciu(seria impulsów podczas trzymania)?

-

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 KOx!

Dzięki za odp :)

Dziękuję za błyskawiczną odp :)
Czyli układ działa cylkicznie? Podczas trzymania danego klawisza są wysyłane impulsy w kółko?
Bo nie wiem czy dobrze zrozumiałem. Ale jeśli tak to jest ok- dla silnika to nie zrobi dużej różnicy.

Jak to będzie wyglądało w całości?
Która komenda powoduje że dane wyjście raz wysyła tą serję impulsów a raz wysyła 1 lub 0 i utrzymuje ten stan...?

ps. Wcale mi się strasznie nie śpieszy :)
Ale bardzo bym chciał to wykonać :)

Portret użytkownika ziom

Witam! Jakim układem

Witam!
Jakim układem najprościej odczytać co wysyła pilot podczas wciśnięcia wybranego przycisku?

Pozdrawiam!

Portret użytkownika mirley

Re: RC5 sterowanie

Oto fragment programu który podlega modyfikacji:(jest to kod dla attiny2313)

 If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Toggle Portb.0
      Case 2:
          Toggle Portb.1
      Case 3:
          Reset Portb.2
      Case 4:
          Reset Portb.3
      Case 5:
          Reset Portb.4
      Case 6:
          Reset Portb.5
      Case 7:
          Reset Portb.6
      Case 8:
          Reset Portb.7
    End Select
 
    Waitms 100
    Set Dioda
    Portb = Portb Or &B11111100 
    Waitms 100
  End If

Przerobiłem fragment kodu który ma działać pod ATTINY2313 ponieważ łatwiejsze jest programowanie. W drugim programie (dla AT89C2051) należało by wykonać analogiczne zmiany. Teraz dwa pierwsze piny będą się zmieniać na przeciwne a pozostałe będą się włączać na 100ms po kliknięciu. Przy trzymaniu powinien być impuls 100ms z przerwą 100ms

-

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 mirley

Re: RC5 Kody

Ja do tego celu używam płytki testowej z wyświetlaczem LCD a potem zapisuje na kartkę. Jeśli nie masz płytki testowej ani nic podobnego, to możesz zmontować coś na szybko według schematu jednej z moich płytek testowych (tylko obwody LCD) lub skorzystać z projektu Pylot i odebrać kody za pomocą RS-232

-

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 Kuczus

attiny2313

Witam, realizuje podobny układ, a że z bascomem dopiero zaczynam, chciałbym prosić Cię o pomoc. Jeśli nie ma konta na elektrodzie, to prosiłbym żebyś mi odpisał na meila albo coś. tutaj link do mojego tematu na elektrodzie :
http://www.elektroda.pl/rtvforum/viewtopic.php?t=1080386&highlight=
z góry dziękuje. Kuczuś

Portret użytkownika KOx!

Wyskakują error'y... :|

Nie wiem jakiego ty masz bascoma ale umnie wyskakują błędy przy kompilacji...
Nawet kiedy wkleję ten orginalny kod zródłowy (pierwotny do tego projektu) to wyskakują błędy...
Może ty masz jeszcze jakąś wersję bascoma...?
Ja próbowałem na wersji 8058 i AVR i na obu tak samo...
Co może być przyczyną?

Portret użytkownika mirley

Re: Bascom

Pobierz najnowsze wersje bascoma ze strony producenta. Otworz plik pod AT98c2051 w bascomie 8051 i kliknij kompiluj. Tak samo dla programu pod attiny tylko że otworz w bascom AVR. Nic innego nie mam zainstalowane

-

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 kubus1203

jaki program?

Witam! W jakim programie tworzysz wzory płytek drukowanych? Chce zrobić sobie płytkę do tego układu, ale dla elementów smd.

Portret użytkownika mirley

Re: Program

Płytki są robione w trialowej wersji Protela 99. Dostępny jest na elektrodzie do ściągniącia

-

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 kubus1203

Kwarc

Będzie to działało na kwarcu 10MHz? Innego nie mam, a sklep tak daleeeko... :)

Portret użytkownika mirley

Re: Kwarc RC5

Powinno działać na dowolnym kwarcu, należy tylko zmienić linijkę w programie z dyrektywą "Crystal = xx...." na "Crystal = 10..." aby kompilator wiedział jaki będzie kwarc podpięty

-

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

połaczenie z sterowaniem

mam pytanko czy ten procesor można podłączyć do takiego samego procesora który będzie sterował tda8425? i także się zapytam czy odbiornik podczerwieni można podpiąć do takiego procesora który steruje tym tda i nie używać wtedy 2 procesorów. wielkie dzięki za odp.

Portret użytkownika mirley

Re: Odbiornik Rc5

To zależy od konstrukcji przedwzmacniacza na tda8425. Jeśli są tam przyciski zwierające do masy to mozna bez problemu.

Drugie pytanie: Teoretycznie można tak podłączyć ale wymaga to dobrego zrozumienia działania programu do procesora sterującego tda8425

Ps. Proszę nie dublikować wpisów

-

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

Re: Odbiornik Rc5

tak przyciski są zwierane do masy. czy ma Pan taki schemat jak można było by to podłączyć? albo podpowiedź bo jestem początkujący

Ps. Przepraszam ale to było przez przypadek.

Portret użytkownika aleksandrooo

Witam Wszystkich Chciałbym

Witam Wszystkich
Chciałbym użyć tego odbiornika do lampk rgb opoisanej na tej stronie a że jestem początkującym elektronikiem to chciałbym o pomoc jak to zrobić. Chcem to zrobić na układzie attiny 2313 i do obsługi użyć pilota od tunerów sat mediasata bo wiem że one pracują na rc5 ale zabardzo nie wiem jakie modyfikacje w programie czeba zrobić i jak to ze sobą podłączyć które piny do których przycisków myśle że są tutaj ludzie wyrozumiali i pomogą mi
pozdrawiam aleksandrooo

Portret użytkownika mirley

Re: Pilot

Na początku użyj standardowego programu pod attiny2313 i podłącz kolejne piny wyjściowe od Pb.0 i tyak dalej do kolejnych przycisków lampki rgb. Powinno działać na standardowych klawiszach 0,1,2...

Jak uda sie to zrobić to pogadamy o modyfikacjach

-

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 White88

Pytanko

Ja mam jeszcze pytanko na przyszłość bo będę to wykonywał.
Czyli na goldpinach pojawiają się stany niskie?
Nie rozumiem jak wprowadzić te kody z pilota?
Tam gdzie jest case 1>>to jedynka to jest ten kod pilota czy jak.Podaj proszę jeden przycisk jak powinien wyglądać.I jeżeli nie miał bym z czego zczytac rc5 to jakim sposobem mam zgadywać?
Dzięki z góry będę się zabierał za to a wole wiedzieć przed wykonywaniem.

Portret użytkownika początkujący

prośba

czy mógłby mi Pan przesłać schemat ideowy na poczte bo ten tutaj zamieszczony jest niezupełny:/ i podtrzymuje pytanie kolegi jak połączyc dwa procesory AT89C4051 żeby jeden sterował drugim? np w przedwzmacniaczu

Portret użytkownika mirley

Re: Odbiornik Rc5

Proszę przeczytać wcześniejsze odpowiedzi. Pisałem już gdzie należy modyfikować wartości klawiszy. Program nie jest skomplikowany i zawiera w sumie jedną instrukcję case. Nie rozumiem problemów jakie powstają przy jego rozumieniu. Odczytywanie kodów klawiszy jest możliwe za pomocą mikrokontrolera i wyświetlacza LCD. Ja zawsze wykonuje to na płytce testowej na szybko. Można też szczelać numery komend na ślepo i sprawdzać któremu klawiszowi odpowiadają

Odnosnie schematu to ten, który jest na stronie jest wpełni kompletny. Innego schematu Odbiornika RC5 nigdy nie było. O podłączeniu napisałem w poprzedniej odpowiedzi. Trzeba poprostu podłączyć kolejne piny portu wyjściowego z przyciskami drugiego urządzenia w dowolnej kolejności. O tym który przycisk pilota odpowiada, któremu portowi mikrokontrolera w odbiorniku decyduje jego program.

-

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 White88

Re Odbiornik rc5 ok

Ok.Ja już zrozumiałem o co chodzi.

Portret użytkownika aleksandrooo

Mam 2 pytania 1. Czy jak

Mam 2 pytania
1. Czy jak zaprogramuje attiny 2313, podepne zasilanie i nie podłacze odbiornika to dioda będzie sygnalizowała odebranie kodu z pilota jak będe chciał coś zroić
2. w jakim programie rysowany był schemat ideowy

Portret użytkownika mirley

Re: Odbiornik

1. Układ widoczny na schemacie będzie działał sam. Nie jest wymaganie podłączenie niczego do złącza wyjściowego

2. Schemat został narysowany w Protel 99SE trial

-

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 aleksandrooo

zmontowałem układ i podpiełem

zmontowałem układ i podpiełem go do mini lampki RGB2 w następujący sposób od P1.0 do P1.4 wpiełem pod wyprowadzenia attiny attiny 2313 w lampce pod piny PD.0 do PD.4 gnd wpiełem w miejsce jegnego z rzycisków tam gdzie jest masa a zasilanie podpiełem zaraz za stabilizatorem w lampce i mam taki problem napięcie na uP wzrosło do7.5V i nic się nie dzieje. Jaka moze być tego przyczyna coś źle podłączyłem?? Dodam że jestem początkującym

Portret użytkownika mirley

Re: Rc5

To nie możliwe. Z tego co piszesz to wszystko jest ok. Masę ukłaów podłącz przy satbilizatorze lampki (srodkowa nożka), a zasilanie na wyjściu satbilizatora. Jeśli było 5V na wyjściu stabilizatora to dalej powinno być 5V.

Sprawdź połączenia jeszcze raz, szczególnie zasilania i 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 aleksandrooo

i mam jeszcze pytanie czy

i mam jeszcze pytanie czy przy układzie attiny 2313 zamiast R1iR2 montujemy zworke czy pozostawiamy wolne