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

Pętla główna powinna wyglądać tak w twoim przypadku:

Do
  If Odebrano = 1 Then
     Odebrano = 0
     If Adres = 0 Then
       Disable Int0
 
       Waitms 100
       Reset Dioda
 
       Select Case Komenda
         Case 1:                                             
           P1 = &B11111110  'port P1.0
         Case 2:                                              
           P1 = &B11111101  'port P1.1
         Case 3:                                             
           P1 = &B11111011  'port P1.2
       End Select
 
       Waitms 100
       Set Dioda
       Enable Int0
     End If
  End If
Loop
End

Dla ATTiny 2313 będzie to analogicznie.

-

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 wilus14

ok wielkie dzięki;)aha

ok wielkie dzięki;)aha jeszcze jedno pytanie czy da rade zrobić tak ze oprócz tego włanczania i wyłanczania jak mi napisałeś będzie można sterować każdym kolorem tzn jasnością każdej z nich chodzi o wykorzenianie kanałów pwm a attiny2313 buduje oświetlenie do domu na diodach RGB i kompletnie niewiem jak sie za program zabrać bo dopiero sie uczę

Portret użytkownika mirley

Re: Rc5

Da się tak zrobić ostatnio udało mi się tak program napisać aby działało Rc5 i pwm razem. Powstanie projekt Lampki RGB 3 ale dopiero w wakacje, jak oczywiście dam radę z wszystkim. Zrobiłem już coś podobnego w projekcie Mirlight. Popatrz do kodu

Ps. Dołącz do użytkowników strony, link na dole :)

-

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 wilus14

podziel sie programem:)

podziel sie programem:)

Portret użytkownika mirley

Re: Program

jest tutaj, tak jak napisałem w opisie Mirlignt

-

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 wilus14

odbiornik rc5

mam pytanie zrobiłem układ i chce aby pare portów na raz zmieniało stan na przeciwny no i problem taki ze stan zmienia tylko portb.2 a reszta zachowuje się tak jakby była komenda RESET tzn dioda mrugnie i świeci tylko jedna programowo zrobiłem to tak jak poniżej proszę o rade lub pomoc przerobieniu;]

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 10000000
 
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.2
      Case 2:
           Toggle Portb.4
      Case 3:
           Toggle Portd.5
      Case 5:
           Toggle Portb.2
           Toggle Portb.4
      Case 6:
           Toggle Portb.4
           Toggle Portd.5
      Case 7:
           Toggle Portb.2
           Toggle Portd.5
      Case 8:
           Toggle Portb.2
           Toggle Portb.4
           Toggle Portd.5
    End Select
 
    Waitms 100
    Set Dioda
    Portb = Portb Or &B01111111
       Waitms 100
  End If
 
Loop
End
'************ Petla glowna Koniec **************

Portret użytkownika mirley

Re: Rc5

musisz zmienić tą linijkę:

Portb = Portb Or &B01111111

0 w liczbie binarnej &B01111111 oznacza ten pin który ma się nie wyłączać po 100ms(np dla wartości &B01111110 zarówno pin 7 jak i 0 nie będą się wyłączać). Jeśli wszystkie piny mają się zmieniać na przeciwny to usuń tą linijkę :)

Ps. kod proszę umieszczać w odpowiednim znaczniku, dla bascoma jest to "qb"(przycisk BAS)

-

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 wilus14

re ;re rc5

dzięki;) usunąłem i działa już wszytko gotowe prawie;) tylko pytanie gdzie coś dopisać w tym programie, aby przy wciskaniu innego przycisku ten poprzedni sie wyłanczał?? tzn np funkcja 1 i po wciśnięciu 2 działa tylko 2 a nie tak ze to co jest w tamtej komendzie zmienia na przeciwny przykładowo 111 <--- komenda 1 to 2 komenda 101 a jej treść wygląda tak 010

Portret użytkownika mirley

Re: Rc5

Pytałeś już o to wcześniej, tamto rozwiązanie Ci nie odpowiada? Napisz dokładnie o co Ci chodzi bo takie coś to już pisałem wcześniej...

-

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

Rc5

Witam. Czy mógłbys zamieścić zrzut ekranu z burn-o-mat z ustawieniami fusebitów dla tiny2313? Zablokowałem już jeden, a nie chce z drugim mieć problemów.

Portret użytkownika mirley

Re: Rc5

Nie mam teraz możliwości robienia screenów. Ustaw podobnie jak w bascomie, widać tam wartość SKSEL i SUT. Może to byc np CKSEL = 1111(wszystkie odznaczone) i SUT=11 a także CKDIV ma być odznaczony w Burn-O-Macie

-

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 wilus14

Ee : Re odbiornik Rc5

a no tak sorka kompletnie zapomniałem ze mam wyżej napisane:) a co do pytania wyżej to może spróbuj w AvrDude tam w nim sie łatwo programuje;]

Portret użytkownika gosc

Napisałeś SUT=11, a na

Napisałeś SUT=11, a na screenie z BASCOMa widze SUT=10. To w końcu jak ma być?

Portret użytkownika gosc

ATtiny2313 programuje

ATtiny2313 programuje programatorem USBasp z twojej strony. Pierwszą kostke programowałem (kwarc 16MHz + 2x24pF) bez zwartej zworki S_SCK (który zablokowałem), natomiast dla drugiego mikrokontrolera (kwarc 16MHz + 2x24pF) muszę mieć zwartą zworkę S_SCK żeby odczytać sygnature procka. Czym to jest spowodowane?

Portret użytkownika mirley

Re: Rc5

Może być SUT=11 lub SUT=10, nie ma znaczenia w tym układzie. Nowe uC które mają ustawione fusy na oscylator wewnetrzny 1MHz to muszą mieć zwartą zworkę S_SCK. Jak juz przestawisz fusebity na kwarc 16MHz to zworka nie musi być włożona.

Ps. Burn_O-Mat jest najlepszy do ustawiania fusebitów, nic lepszego nie znalazłem

-

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 gorgo

Witam!! Co trzeba by było

Witam!!
Co trzeba by było zmienić w programie aby do wolnych portów (P3.x) można było podłączyć switche bo chcę zrobić sterowanie z pilota oraz z obudowy.

Portret użytkownika mirley

Re: Pilot Rc5

W tym prostym układzie nie da się tego zrobić bo czekanie na kod Rc5 zajmuje cały czas i procesor wtedy "wisi". Czym chcesz sterować za pomocą tego odbiornika? Przecież i tak musisz go podłączyć w miejsce klawiatury. Napisz z jakim układem ma współpracować ten odbiornik Rc5, bo wydaje mi się że nie trzeba nic w programie zmieniać tylko odpowiednio podłączyć razem z klawiaturą.

-

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 gorgo

Właśnie robię sobie

Właśnie robię sobie wzmacniaczyk i chciałbym włączać całość z pilota jak i z klawiatury, a przy okazji jakieś przełączanie wejść i może coś jeszcze...
Jest to nowa konstrukcja więc chciałbym aby nie był sterowany tylko z pilota...
Jest jakaś szansa na zrobienie takiego układu??

----

Tak sobie myślę że może łatwiej będzie dorobić układ, który będzie obsługiwał klawiaturę a ten odbiornik by się do niego podłączyło.

Portret użytkownika mirley

Re: Odbiornik RC5

Właśnie ten układ był po to zaprojektowany.... włąśnie po to aby "naciskał" przyciski klawiatury innych urządzeń mikroprocesorowych. A jak zbudowany masz ten swój wzmacniacz? W jaki sposób jest podłączona ta klawiatura? Wyślij mi schemat albo zamieść do niego link.

-

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 gorgo

No właśnie jeszcze nie ma

No właśnie jeszcze nie ma klawiatury. A ciężko by było napisać program aby porty P3.x były wejściami (switche) a P1.z wyjściami. Wtedy bym sobie ten odbiornik podpiął...

----

A wtedy pod P1.x będę mógł podpiąć przekaźniki lub inne układy wykonawcze (oczywiście nie bezpośrednio).

Portret użytkownika mirley

Re: Rc5

Napisanie programu nie jest bardzo trudne ale trzeba to zrobić od początku, aby było na ATTiny231 i nie mam kiedy tego wykonać, przynajmniej narazie. Po drugie jest to bez sansu bo po cholerę przepuszczać sygnał przez procesor na zasadzie "jeśli na p3.1 jest 1 to ustaw 1 na p1.1". Pytałem wcześniej jak masz zamiar podłączyć tą klawiaturę a nie czy ją masz czy nie? Przycisk będzie zwierał do masy, czy do plusa? Czy może jeszcze jakiś inny pomysł? Wyslij mi schemat twojego wzmacniacza. Masz tam drugi mikrokontroler?

Tak w ogóle to w jaki sposób chcesz podpiąć ten odbiornik jeśli nie wiesz w jak działa klawiatura w twoim wzmacniaczu? Powtarzam jeszcze raz układ odbiornika działa tak że zwiera przyciski innego urządzenia

Ps. nie pisz posta pod postem, patrz regulamin

-

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 gorgo

Re: Rc5

Przepraszam za offtopa :(
Mam nadzieję, że w miarę możliwości będziesz mógł mi pomóc poprzez email.
Pozdrawiam

Portret użytkownika wilus

odbiornik rc5

witam mam pytanie jak będzie wyglądał kod do attiny13?? prosze o odp;)

Portret użytkownika White

RC-5

Z tego co mi wiadomo attiny 13 nie ma timera1 a polecenie get RC5 korzysta własnie z niego więc wydaje mi się ze "to se ne da" kochany.

-

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

Portret użytkownika mirley

Re: Kod pod tinny13

Myślę że bez problemu pójdzie jednak tego nie uruchamiałem. Komenda GETRC5 korzysta z timera0, tak jak mówi pomoc do Bascoma:

Quote:
...a timer is needed for accurate delays and background processing TIMER0 is used by this statement.

Przekompilowałem program pod ATtiny13, kod źródłowy będzie dostępny w załącznikach. Dodatkowo należy ustawić we fusebitach na oscylator 9.6MHz.

-

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

o działa:)

o działa:)

Portret użytkownika qqrydza

Stan początkowy portu

Witaj Mirku. Mam pytanie, czy da sie ustawic żeby na jednym z pinów np. PB.7 (bedzie dzialał on za zasadzie on/off) stan początkowy (po włączeniu zasilania) był stanem niskim?
Jako ze nie bardzo da sie zrobić żeby impuls trwał tyle ile naciśnięty przycisk wymyśliłem ze klawisze 4,5,6 po naciśnięciu będą za to odpowiadały (bedzie sie utrzymywał na nich stan). Chciałbym też żeby klawisz 0 kasował mi te "przytrzymane" klawisze, przez wystawienie na nich stanów wysokich. Czy ten kod jest dobry?

'************* 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:
          Reset Portb.0
      Case 2:
          Reset Portb.1
      Case 3:
          Reset Portb.2
      Case 4:
          Toggle Portb.0     'przytrzymana 1-ka
      Case 5:
          Toggle Portb.1     'przytrzymana 2-ka
      Case 6:
          Toggle Portb.2     'przytrzymana 3-ka
      Case 0:
          Portb.0 = 1
          Portb.1 = 1
          Portb.2 = 1        'kasowanie przyt. klawiszy
      Case 12:
          Toggle Portb.7     'on/off klaw. Stanby
    End Select
 
    Waitms 100
    Set Dioda
    Portb = Portb Or &B01000111 
    Waitms 100
  End If
 
Loop
End
'************ Petla glowna Koniec **************

Portret użytkownika mirley

Re: Rc5

Stany początkowe ustawia się na początku w linikach:

Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111011 : Portd = &B11111111

pierwsza liczba to typ konfiguracja (0=wejście/1=wyjście) a druga liczba to stany początkowe

Dalsza częśc programu nie będzie działać bo instrukcja

Portb = Portb Or &B01000111

wykasuje i tak wartości pinów 0, 1 2 do stanu wysokiego. należy modyfikować to wartość w zależności czy kliknięto np. przycisk 1 czy 4. Popatrz na to:

Dim Komenda As Byte , Adres As Byte
Dim Maska as byte
'*************  Zmienne Koniec  ****************
 
'**************  Petla glowna ******************
'***********************************************
 
Maska = &B01000111
 
Do
  Getrc5(adres , Komenda)
  Komenda = Komenda And &B01111111
 
If Adres = 0 Then
    Reset Dioda
 
    Select Case Komenda
      Case 1:
          Reset Portb.0
          Maska.0 = 1
      Case 2:
          Reset Portb.1
          Maska.1 = 1
      Case 3:
          Reset Portb.2
          Maska.2 = 1
      Case 4:
          Toggle Portb.0     'przytrzymana 1-ka
          Maska.0 = 0
      Case 5:
          Toggle Portb.1     'przytrzymana 2-ka
          Maska.1 = 0
      Case 6:
          Toggle Portb.2     'przytrzymana 3-ka
          Maska.2 = 0
      Case 0:
          Portb.0 = 1
          Portb.1 = 1
          Portb.2 = 1        'kasowanie przyt. klawiszy
          Maska = &B01000111
      Case 12:
          Toggle Portb.7     'on/off klaw. Stanby
    End Select
 
    Waitms 100
    Set Dioda
    Portb = Portb Or Maska
    Waitms 100
  End If
 
Loop
End
'************ Petla glowna Koniec **************

Teraz po kliknięciu przycisków 1 do 3 będzie tak jak dawniej bo zmienna MAska ma taką samą wartość do sumowania logicznego z potrem jak wcześniej, ale po kliknięciu przycisków 4 do 6 maska zostanie zmodyfikowana i nie pozwoli ustawić się na 1 odpowiedniemu pinowi

-

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 qqrydza

Dzieki

Wielkie dzięki. Program działa dokładnie tak jak chciałem :)

Portret użytkownika gosc

3 piny

a zamiast 8 wyprowadzen ,nie lepiej 3 ? w koncu 9 kombinacji...
o ile cos takiego by zdalo egzamin..

Portret użytkownika mirley

Re: Odbiornik Rc5

Po pierwsze to na 3 pinach zrobisz 8 kombinacji (2^3) a w praktyce tylko 7 bo jakaś kombinacja musi być w spoczynku. Dodatkowo trzy piny nie dają żadnej korzyści z budowy takiego układu, i tak trzeba pisać w procesorze aby odbierał sygnał z tych 3 pinów, a przy 8 dołączamy ten układ równolegle do klawiatury i Odbiornik Rc5 symuluje naciskanie klawiszy, procesor główny ma taki sam program jak miał a my zyskujemy sterowanie z pilota.

-

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

Tych rezystorów R1 R2 i

Tych rezystorów R1 R2 i kondensatora C3 to po prostu nie wkładać czy trzeba włożyć przelotkę (zworkę)? Zasilanie podłączmy do pinów 9 i 10 (goldpiny) a i do czego są linie 1 i 2 (goldpiny)

Portret użytkownika mirley

Re; Odbiornik Rc5

Jeśli używasz attiny2313 to rezystory R1 i R2 mają być rozwarte i nie zamontowany C3.

-

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 Hubert

_Ten pilot współpracuje z tym projektem_

-

http://www.youtube.com/user/Hubert7323

Ciekawe filmy z urządzeniami mojej konstrukcji.

Portret użytkownika Dawid

pytanko

Witam!
Zbudowałem juz dwa takie układy na 89c4051 i działają bez zarzutów:)
Programy tez sobie przerobiłem pod siebie i o dziwo śmigaja:D
A teraz mam 2 pytania do autora projektu bądź do szanownych forumowiczów:

1. Czy da sie tak przerobic program że po wciśnięciu odpowiedniego przycisku i upływie pewnego nastawionego w programie czasu dane wyjście się załączy/wyłaczy (zmieni sie stan na wyjściu na przeciwny. Jest coś takiego mozliwe? i czy nie zwiesi to procesora pod tym względem że nie będzie można wykonywać innych polceń?

2. Czy da się napisac taka komende do programu że dane wyscie załączy się dopiero do wciśnięciu z pilota np. 4 przycisków w odpowiedniej kolejności? tzn żeby dane wyjście
reagowało na taki "kod pin"

Dziękuje za odpowiedź i pozdrawiam!

Portret użytkownika mirley

Re: Odbiornik Rc5

Da sie zrobic tak jak chcesz dla procesora 4051 (bo obsługa Rc5 działa na przerwaniach). Dla Tiny2313 trzeba też zastosować obsługę na przerwaniach zamiast tej prostej która tu jest pokazana. Drugi timer należy wykorzystać do odliczania czasu i taktowania pracy urządzenia. w programie należy zrobić zmienną tablicową trzymającą twoj kod po klikaniu na pilocie i wykorzystać dodatkowy przycisk "z kluczykiem". Po kliknięciu kluczyka program będzie łapał klawisz i zapisywał do tablicy, gdy klikniesz "kluczyk" drugi raz kod zostanie porównany z poprawnym i wykonane zostanie odpowiednie działanie.

Ps. musisz trochę sam nad tym pokombinować, bo teraz pracuję całymi dniami i ie mam kiedy tego napisać.

-

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

Ten odbiornik (attiny2313)

Ten odbiornik (attiny2313) przy pierwszym kliknięciu załącza a przy drugim rozłącza. Co trzeba zmienić w kodzie aby zwierał do GND tylko podczas trzymania przycisku? A gdy przycisk się puści to rozwiera.

Portret użytkownika mirley

Re: Rc5

Należy program napisać od początku na przerwaniach.... Podczas trzymania klawisza wysyłany jest cały czas jego kod. Wystarczy zrobić licznik który odlicza czas po impulsie od klawisza i gdy czas zostanie przekroczony to stan logiczny na odbiorniku opadnie. Ciągłe trzymanie klawisza będzie resetowało ten licznik więc stan logiczny będzie sie trzymał. Da to pewne opóźnienie ale innaczej nie da się tego zrobić.

-

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

a nie wystarczylo dodac na

a nie wystarczylo dodac na poczatku petli 'do while' ustawienie portow w stan wysoki ,natomiast niski przy wykryciu i odebraniu odpowiedniego rozkazu ? przeciez takie cos powinno dzialac ?

Portret użytkownika mirley

Rc5

Ale będzie to dawało impulsy a nie ciągły stan, chyba że źle zrozumiałem o co Ci chodzi. podaj jakiś fragment kodu.

-

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

Do ... Getrc5(adres ,

Do
...
Getrc5(adres , Komenda)
Komenda = Komenda And &B01111111
If Adres = 0 Then
'stan niski odpowiedniego portu
else
'stan wysoki odpowiedniego portu
end if
...
Loop

Wiec jezeli bede trzymal przycisniety przycisk bede mial stan niski a jezeli puszcze stan wysoki.
chyba ze getrc5 nie wykrywa trzymania przycisku ?

Portret użytkownika mirley

Re: Rc5

Faktycznie prosty sposób, bez opóźnienie po odczycie. Trzeba to sprawdzić bo sam nie znam wszystkich sczegółó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

Mi się wydaje że ten fragment

Mi się wydaje że ten fragment kodu będzie dawał stan niski tylko chwilami (na przemian z wysokim) podczas przyciskania przycisku. A i jeszcze jedno pytanie czy układ ma szanse działać bez kwarcu. Zamierzam zrobić sterowanie oświetleniem (1kanał) a mam kilka zbędnych attiny13. Jak nie to jaki układ proponujecie Myślałem też o attiny 10/11 lub 12.

Portret użytkownika mirley

Re: Tiny13

Układ powinien działać bez kwarcu, więc na tiny13 powinno śmigać. Tylko nie zrobisz zbyt skomplikowanego programu :) (jeśli chciałbyś go rozbudować)

-

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

Do rozbudowy to mam trochę

Do rozbudowy to mam trochę inny projekt. To ma być zminiaturyzowane bo chciałbym umieścić to w wyłączniku światła. (sprawdzałem że nawet zasilacz od telefonu, jakiś mały kiedyś widziałem w sklepie zmieści się w obudowie wyłącznika.)

Portret użytkownika Badowsky

Sterowanie swiatlem - przekaznik

Chciałbym ten układ wykorzystać do sterowania światłem w pokoju. Czy mógłbyś mi pokazać jakie i jak podłączyć tranzystory aby na wyjściu sterować przekaźnikami 5v? Tak jak to pokazałeś "kubus1203".

Ps. Wiem iż to jest proste ale zabierałem się za czytanie na ten temat i zrozumienie różnicy tranzystorów pnp i npn ale ciągle nie do końca łapie. Jeżeli znasz ciekawe strony/książki na ten temat to mógłbyś zapodać. Elektronika to moje hobby więc w szkole się nie dowiem za dużo.
--
Lub może łatwiej będzie wykorzystać układ/y wykonawcze z triakiem?

-

mBadowsky

Portret użytkownika mirley

Re: Odbiornik Rc5

DO sterowania żarówką zastosuj układ wykonawczy z triakiem. na wejście ukł. wykonawczego podłącz port procesora poprzez rezystor 330R.

Zapoznaj sie z kursem "ośla łączka" z czasopisma Elektronika dla wszystkich... tam sie dużo dowiesz

-

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

ATMEGA 168

Czy na atmega168 będzie to działać? bo nie mogę przekompilować wychodzi bląd w tym miejscu
Getrc5(adres , Komenda)
Komenda = Komenda And &B01111111
Chyba że ma być inaczej dla tego procesorka?

Portret użytkownika mirley

Re: M168

Niestaty nie odpowiem na to pytanko bo nie mam tego jak sprawdzić a tego procesora nigdy nie programowałem. Zakomentuj te linijki i sprawdź czy bład występuje. Bascom czasami dziwnie pokazuje błędy

-

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

Czy jest to mozliwe??

Witam!
Czy istnieje możliwość zaprogramowania tak mikrokontrolera aby 3 guziki na pilocie działaly w sposób typu włącz/wyłącz odbowiedni moduł wykonawczy oraz 2 dodatkowe przyciski które działalyby w sposób typu włącz\wyłącz ale uruchamiały wszystkei 3 moduły wykonawcze jednocześnie??
Z góry dziękuję za odpowiedź!
Pozdrawiam!