Draadloze 10 kanalen ontvanger

Dit project kan 10 verschillende dingen draadloos aansturen met een normale TV-afstandsbediening van een Philips TV (= RC5 protocol).
Met de toetsen 0 t/m 9 van zo'n TV-afstandsbediening zijn de 10 uitgangen van de PIC hoog en/of laag te maken.
Er zijn twee verschillende programma's:


Programma 1, "Toggle"
Bij het indrukken van een toets 0 ... 9 op de TV-afstandsbediening, zal de bijbehorende uitgang HOOG worden.
Door nogmaals op de toets te drukken zal de uitgang weer LAAG worden.
Kortom, bij elke druk op een toets verandert de bijbehorende uitgang van niveau.


Programma 2, "Pulse"
Bij het indrukken van een toets 0 ... 9 op de TV-afstandsbediening, zal de bijbehorende uitgang HOOG worden.
Als de toets echter wordt losgelaten zal de uitgang meteen weer LAAG worden.
Kortom, kort indrukken van de toets zal een HOGE puls geven op de bijbehorende uitgang.


Systeem wijzigen:
De PIC reageert alleen op de toetsen 0 ... 9 als de afstandsbediening op systeem 'TV' is ingesteld.
Is er nog een systeem vrij op de afstandsbediening (bijv. SAT, AMP, DCC of VCR2) dan is de systeem-code in de PIC via de afstandsbediening te wijzigen op een ander systeem.

Dat gaat als volgt:
Schakel de spanning van de PIC uit.
Wees er zeker van dat de spanning echt 0V is (meten!), door elco's in de voeding kan de spanning er namelijk even opblijven waardoor de PIC zich niet meteen reset.
Elco's eventueel ontladen via een weerstand, niet door kortsluiten, de PIC kan hierdoor onherstelbaar worden beschadigd.

Selecteer nu een ongebruikt systeem op de afstandsbediening (bijv. SAT, AMP, DCC of VCR2).
Denk er aan dat de toetsen 0 ... 9 in systeem TAPE bij de meeste afstandsbedieningen niets uitzenden.
Richt de afstandsbediening naar de TSOP1736 infrarood ontvanger van de PIC en blijf een toets (0 ... 9) ingedrukt houden en schakel de spanning van de PIC weer in.
Als de LED na een paar keer knipperen continu blijft branden, kan het nieuwe systeem in de EEPROM van de PIC worden geprogrammeerd.
Laat de toets even los en zend opnieuw, de LED zal nu snel knipperen, het nieuwe systeem is in de PIC geprogrammeerd.
Nu reageert de PIC alleen op de toetsen 0 ... 9 als de afstandsbediening in de zojuist gekozen systeem-mode staat.
De LED brandt continu als er een geldige toets (0 ... 9 dus) van het gekozen systeem wordt ontvangen en knippert als er een ongeldige IR-code wordt ontvangen.


Onder Systeem worden apparaten als TV, VCR, TAPE, TUNER, SAT, enz. verstaan.
Onder Command wordt verstaan de toetsen op de afstandsbediening als 0 ... 9, P<P, I/II, Volume, enz.
Als op een toets wordt gedrukt zendt een RC5-afstandsbediening een header, een togglebit, een extended (7e) command bit, een 5 bits systeem-code en een 6 bits command-code uit.
Is de ontvangen systeem-code gelijk aan die in de EEPROM van de PIC dan wordt de command-code uitgevoerd.
De programma's zijn gebaseerd op de 14-pins 16F630, maar zijn natuurlijk voor vrijwel iedere PIC aan te passen en uit te breiden.

Om te bekijken wat voor systeem- en commando-code's je afstandsbediening uitzendt, is er een ander (makkelijk) project op deze site: RC5/RC6 codes op een display uitlezen
Dat project geeft de IR-codes op een LCD weer, zodat dit project is uit te breiden voor het aansturen van max. 127 uitgangen met behulp van bv. de 74HC595.



Let op: Bij de TSOP1736 (= 36kHz IR-ontvanger) moet over de + en - pin een tantaal van minimaal 4,7µF.
Dit geheel via een weerstand van 100Ω aan +5V aansluiten.
De tantaal en weerstand zo dicht mogelijk bij de TSOP1736 plaatsen!


Versie 3 (V-3) is een verbeterde versie.

Tegen een geringe vergoeding is een combinatie van programma 1 en programma 2 naar wens mogelijk.
Als het programma niet (goed) werkt zal waarschijnlijk de interne oscillator van de 16F630 gekalibreerd (= afgeregeld) moeten worden.
In PIC Basic gebeurt dat met OSCCAL.
Er zijn twee verschillende .HEX programma's te downloaden.

 
Programma 1:
De aangestuurde uitgang van het programma RC5TOGGL.HEX wisselt steeds van niveau, dus bijvoorbeeld een druk op toets '3' van de afstandsbediening zet uitgang 3 aan (HOOG) en deze blijft aan totdat er opnieuw op toets '3' wordt gedrukt.
Download RC5TOGGL.HEX, V-3 bestand om in een PIC16F630 te programmeren
Download RC5_Toggle_V-3_NL.bas, de broncode voor PIC Basic

 
Programma 2:
Het programma RC5PULSE.HEX pulseert de aangestuurde uitgang alleen, dus als de toets van de afstandsbediening weer wordt losgelaten dan gaat ook de uitgang weer uit (LAAG).
Download RC5PULSE.HEX, V-3 bestand om in een PIC16F630 te programmeren
Download RC5_Pulse_V-3_NL.bas, de broncode voor PIC Basic
 
Bestel geprogrammeerde PIC