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.
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.