Dernière mise à jour :
06/10/2013
Présentation
Ce récepteur de télécommande permet de piloter à distance 1 à 16 appareils différents,
à partir d'une télécommande infrarouge
classique pour lecteur DVD ou TV. Il s'agit d'une extension de ma
télécommande 004 qui elle permet de ne piloter que 10 appareils.
Le système est équipé d'un récepteur infrarouge de type Sony SBX1620
qui comporte l'élement photosensible et le démodulateur,
sa sortie est directement raccordé à un microcontrôleur de type PIC 16F876A. Pour
éviter les risques de
déclenchement
intempestif des appareils pilotés par ce système, la télécommande doit être utilisée comme ceci :
- pression sur les touches 0 à 9 pour sélectionner la sortie
(0 à 15) à activer ou à désactiver;
- pression sur la touche Play, Next, Vol+ ou Prog+ (pour
mettre en route) ou sur la touche Stop, Prev, Vol- ou Prog- (pour
arrêter).
Lors
de l'appui sur une des touches 0 à 9, une LED rouge s'allume pour
signaler en même temps la bonne réception du code et l'attente d'une
validation (commande marche ou arrêt). Cette LED rouge
s'éteind dès que
la commande marche ou arrêt est reçue et c'est alors une LED verte qui
prend la relève pour confirmer la bonne prise en compte de l'ordre. Si
l'ordre de commande marche ou arrêt n'a pas été
réceptionné dans les trois secondes qui suivent la
sélection de voie, le système repasse en mode d'attente, la LED rouge s'éteint et la verte clignote pour
indiquer la "fin de transaction". Voir aussi les pages
Génération
d'un code RC5 pour simulation dans Proteus / Isis et
Télécommande
- IR - Codes RC5.
Remerciements
Un grand merci à Dany, qui a mis à disposition de tous un
ensemble de routines pour le traitement des données RC5 et RC6
sur
son
site,
routines que j'ai utilisées dans le présent projet
(fichiers RC5_decoder.mpas et RC6_decoder.mpas).
A big thank to Dany,
that made
available on his
site some
routines for RC5 / RC6 frames decoding
(RC5_decoder.mpas and RC6_decoder.mpas files),
routines I used in my "IR Remote receiver 004" and "IR Remote receiver 004b" projects.
Schéma
Ce
schéma ne montre que la partie qui permet la réception des signaux
infrarouge et leur décodage. Une interface de puissance devra éventuellement être
ajoutée, selon le type des appareils à commander (ce point sera vu plus
loin).
Fonctionnement général
Le
logiciel du PIC tourne en boucle en attendant l'arrivée de
signaux infrarouge. Dès qu'une transition
survient
sur l'entrée signal (RC5_In sur la broche RB0), le
logiciel stocke tous les changements d'états qui suivent et procède à
un échantillonage pour en extraire les informations (bits 0 ou 1).
Une fois
le silence revenu (plus de donnée reçue, fin de trame), il décode les
données enregistrées. Si les données réceptionnées sont
conformes à celles attendues (certaines touches de la télécommande),
alors la sortie concernée est activée
ou
desactivée. Les données reçues qui correspondent à un code non désiré
sont simplement ignorées. L'usage de cette télécommande est simple, il
suffit d'appuyer sur les touches qui correspondent à la voie à activer
ou désactiver, puis à valider par une touche de commande (volume, play,
stop, détails plus loin).
Décodage RC5 / RC6
Le choix du format de la trame à décoder (RC5 ou RC6) dépend de la position
du cavalier (jumper) JP1 :
-
si cavalier JP1 côté +Alim (RA5 = +5 V), décodage des trames RC5
-
si cavalier JP1 côté masse (RA5 = 0 V), décodage des trames RC6
La
lecture de la position du cavalier est assurée à l'initialisation
du programme, on ne peut pas changer en cours de fonctionnement. Je
ne saurais le certifier à 100%, mais il me semble que toutes les
télécommandes des appareils Philips sont désormais en RC6.
Touches reconnues
Les touches de télécommandes (codes envoyés) reconnues sont les
suivantes
En mode RC5-
pour sélection de la voie à activer ou à désactiver : touches 0 à 9
-
pour mise en route : touches Play, Vol+, Prg+, Next, Avance rapide
-
pour arrêt : touches Stop, Vol-, Prg-, Prev, Retour rapide
En mode RC6-
pour sélection de la voie à activer ou à désactiver : touches 0 à 9
-
pour mise en route : touches Play, Next, Flèche Haut, Flèche Droite
- pour arrêt
: touches Stop, Prev, Flèche Bas, Flèche Gauche
Remarque : d'autres touches pourraient être reconnues, ce n'est simplement pas prévu dans le logiciel.
Exemple N°1 -
Désactivation sortie Out13
- Appuyer sur la touche 1 de la télécommande
- Appuyer sur la touche 3 de la télécommande
- Appuyer sur la touche Stop | Exemple N°2 - Activation
sortie Out3
- Appuyer sur la touche 3 de la télécommande
- Appuyer sur la touche Play |
Etages de sortie
Les
sorties de ce récepteur de télécommande viennent directement du PIC, il s'agit de
sorties compatibles TTL capables de débiter quelques mA. La commande
d'appareils de forte consommation peut être
assurée grâce à une interface adéquate, tels que
relais ou triacs avec optos-triacs. Quelques exemples d'interfaces sont
données à la page
Interfaces
logique 001.
Si vous souhaitez utiliser des
relais, je vous conseille d'ajouter à cette télécommande,
deux circuits ULN2803 qui contiennent chacun 8 transistors.
Prototype
Prototype réalisé avec ma platine EasyPic 7 et avec le récepteur IR Sony SBX1620 positionné sur une plaque sans soudure.
Comme je ne voulais pas aller chercher de
résistance de 10 ohms au garage, j'en ai pris une de 100 ohms sous
le frigo de la cuisine. Et tant qu'à faire, j'ai pesé 100
condensateurs de 10 uF et ai gardé le moins lourd (j'aurais pu faire la
même chose avec 10 condensateurs de 100 uF). Tout a fonctionné du
premier coup, j'avoue que j'étais surpris (la résistance de 100 ohms était froide). Ah, il faut tout de même
que je vous parle d'un truc qui m'a un peu agacé. La télécommande
Philips utilisée ici (
celle
de mon lecteur
de DVD en panne) possède un mode répétition très efficace quand on
presse une
touche en continu. Du coup, j'étais obligé de presser les touches des
chiffres très brièvement pour un fonctionnement correct du récepteur.
J'ai trouvé cela tellement vexant que j'ai fini par modifier le
programme. Maintenant, il me laisse travailler à mon rythme.
Logiciel du PIC
Fichier compilé pour PIC (binaire *.hex).
Télécommande
004b - 16F876A - (06/10/2013)
Si
vous souhaitez recevoir par la poste un PIC préprogrammé
et prêt à utiliser, merci de consulter la page
PIC - Sources.
Circuit imprimé
Non réalisé, vue 3D uniquement là pour donner un aperçu de ce à quoi pourrait ressembler le montage.
Historique
06/10/2013
- Première mise à disposition.