Universele RC5/RC6 transceiver

Dit project is een uitbreiding van een ander project van deze site.
Het project is globaal in twee delen te beschrijven, enerzijds kun je er de RC5, RC5X en RC6 codes van afstandsbedieningen mee uitlezen op een LCD en anderzijds kun je alle denkbare RC5, RC5X en RC6 codes verzenden naar een apparaat.
Bovendien is er voor dit project een print layout getekend om het nog makkelijker te maken.


De universele RC5/RC6 transceiver.
 

De IR ontvanger:
Als de TSOP1736 (IR ontvanger) een infrarood (IR) signaal van een RC5 of RC6 afstandsbediening (o.a. Philips) ontvangt dan brandt LED1 (groen).
Het LCD laat bij ieder nieuw ontvangen code voor één seconde zien welk protocol is ontvangen (RC5, RC5X of RC6).
Daarna laat het LCD de RC5 of RC6 systeem- en command code zien, zowel decimaal als binair.
De toggle-waarde wordt door LED3 (geel) weergegeven.
LED2 (rood) brandt als het geen RC5, RC5X of RC6 signaal is, of als de ontvangst slecht is.
Om alleen de bijbehorende code van een toets uit te zoeken kun je natuurlijk ook de RC5 tabellen bekijken van deze website (zie hier en hier).
 

De IR zender:
Met de IR-zender kan elke mogelijke code van het RC5 en RC6 protocol worden verzonden, zoals een afstandsbediening doet.
Met behulp van het LCD is in te stellen welke RC5, RC5X of RC6 systeem- en command code er verzonden kan gaan worden.
Bij opstart moet eerst met 'INSTEL' (S2) een keus tussen het RC5 of RC6 protocol worden gemaakt, na de juiste keuze op 'ZEND' (S3) drukken.
Om de command waarde in te stellen moet op 'INSTEL' (S2) worden gedrukt.
Als deze toets langer word ingedrukt verandert de teller van richting.
Wordt deze 'INSTEL' toets nog langer vastgehouden dan loopt de teller automatisch en steeds sneller.
Door PORTA.5 laag te maken (S1 ingedrukt houden) wordt op bovenstaande manier niet de command code, maar het RC5 of RC6 systeem-adres ingesteld, dit systeem-adres wordt opgeslagen in EEPROM.
De aldus ingestelde RC5 of RC6 code wordt verzonden als op 'ZEND' (S3) wordt gedrukt.
Als de 'INSTEL' en 'ZEND' toets allebei ingedrukt worden, start het programma opnieuw en is opnieuw de keus tussen RC5 en RC6 te maken.


Onderdelenlijst print 110820:


De componenten.

PCB Print 110820 (of zelf etsen natuurlijk)
LCD HD44780 (of compatibel) 2x16 karakters
IC1 PIC16F628(A)
VR1 78L05 spanningsregelaar
IR ontvanger TSOP1736
LED1,LED2,LED3 Groene, rode en gele LED, Ø3mm
LED4,LED5 Infrarood (IR) LED, Ø5mm (bv. LD274)
T1 BC547 NPN transistor
D1 1N4007 diode
X1 Kristal 10MHz (zo mogelijk het lage type)
R1...R3 1k
R4 33k
R5 4k7
R6 27Ω
R7 470Ω
R8 0,0Ω (of gewoon een draad) of een weerstand voor LCD achtergrondverlichting
P1 Instelpotmeter 10k...47k, 6mm, liggend
C1 100µF
C2 1µF (tantaal)
C3,C4 22pF
C5 100n, SMD (of axiaal) (komt onder IC1, aan de soldeerzijde)
S1,S2,S3 Maakcontact pulsschakelaar
Conn1 Voedingsconnector 3,5mm
IC-voet Eigen keus


Bouwtips:
Als een LC-Display voorhanden is hoeft dit project niet veel te kosten.
Lees als je dit project gaat bouwen ook de andere twee projecten even door voor de duidelijkheid:

Display RC5/RC6 codes op een LCD
Wat is RC5?

Gebruik voor aansluiting van het LCD soepel draad omdat het LCD weggeklapt moet worden als de PIC voor updates herprogrammeerd moet worden (ICSP).
Draden met een harde kern breken na een paar keer buigen af.

 

Dit prototype heeft nog geen 78L05 spanningsregelaar, op de originele print zit hij wel.
De "weerstand" van 0E0 kan vervangen worden door een echte weerstand als de achtergrond verlichting van het LCD geen voorschakelweerstand van zichzelf heeft.
De PIC heeft een ontkoppel condensator in SMD vorm, deze wordt dus aan de soldeerzijde onder de PIC gesoldeerd.
Is geen SMD voorhanden dan kan er een axiaal type worden gesoldeerd.
Neem een waarde van 100n...220n.

Na inschakeling van de spanning moet de groene LED gaan knipperen en moet er volgens het LCD eerst een keus gemaakt worden tussen RC5 en RC6.
Geeft het LCD niets aan dan staat waarschijnlijk P1 niet goed ingesteld.
Met P1 kan het contrast van het LCD ingesteld worden.


 

De binaire notatie heeft vanaf versie 2 (V-2) leidende nullen.
Display V-1: 101 (oude notatie)
Display V-2: 00000101
Versie 3 (V-3) heeft een verbeterde bediening en onthoudt bij uitschakelen van de voeding de laatste instellingen in EEPROM.
Deze laatste instelling moet dan wel minimaal een keer als infrarood signaal zijn verzonden (op de 'ZEND' toets drukken).

Versie 4 (V-4) geeft de binaire weergave van systeem in RC5X mode juist weer (vorige versies gaven maar 6-bits ipv. 7).
Het HEX bestand is nu ingesteld voor de 16F628A i.p.v. 16F628.
 

Download IR-TRC_N.HEX, V-4 bestand om in een 16F628A te programmeren
Download Transceiver_V-4_NL.bas, de broncode voor PIC Basic
Download schema als PDF bestand
Print layout 110820 als PDF bestand  82 × 66mm  >> Afdruk tips <<
Datasheet HD44780.pdf LCD (Liquid Crystal Display)
Datasheet TSOP1736.pdf infrarood ontvanger
Bestel geprogrammeerde PIC