Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#1 Message par nondediode » ven. 21 déc. 2018 18:21

Bonjour tout le monde,

Pour complémenter mon projet d'ampli et particulièrement le programme avec l'afficheur LCD 4 X 40, je cherche à réaliser une télécommande 10 canaux en IR suivant le protocole RC5 ou RC6 .
Il s'agit de réaliser l’émetteur et le récepteur à partir d'un programme PIC. J'ai pas trouvé grand chose sur le net à part ce montage qui refuse de fonctionner. Je soupçonne le programme fourni par le site.
http://www.sonelec-musique.com/electron ... _004b.html
Quelqu'un a-t-il expérimenté quelque chose dans ce domaine?

En vous remerciant,

Télécommande IR à 10 canaux
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » ven. 21 déc. 2018 20:38

Bonsoir nondediode, et tout le forum,

J'ai déjà fait un récepteur infra rouge, Je me suis servi pour la réception d'un SBX1620-52

Il fonctionne avec la quasi totalité des émetteurs de télécommande infrarouge, il fonctionne parfaitement pour les codes RC5.

Tu utilises quoi comme récepteur infra rouge :?:

Attention à la porteuse qui est différent pour chaque modèle de récepteur(36Khz, 38Khz, 40Khz...)

A l'époque j'ai prie une veille télécommande, et je me suis amusé à décoder chaque touche, comme j'utilisais des Pic16Fxxxx j'avais des
soucis pour trouver les codes, car la Sdram n'était pas assez grande pour tout loger.

Maintenant avec les Pic18Fxxxx, quelle simplicité, car ils ont beaucoup de sdram, ce qui permet d'enregistrer tout le code.

Sinon il y a sur le site de paulfjujo ou il a fait plein d'essai sur le code RC5

http://paulfjujo.free.fr/IR_RC5/Decodage_IRC5_18F.htm

http://paulfjujo.free.fr/IR_RC5/Recepte ... es_RC5.htm

Voici quelque document que j'ai pu récupérer à cette époque

Protocole RC5.pdf

CODE RC5.pdf


==>A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#3 Message par nondediode » sam. 22 déc. 2018 09:40

Bonjour Temps-x, et bonjour à tout le forum,

Merci pour ta réponse, déjà ton expérience me sera précieuse.

Effectivement, le prg est relativement costaud et j'avoue ne pas être à la hauteur ni pour le créer, ni pour le comprendre. C'est donc un prg tout fait qu'il me faudra utiliser.
Des prg de télécommande ça foisonne pas mal sur le net et il y a de tout avec des 16F84 ou sur des 628 et celui de SONELEC que j'ai testé en vain.
Je vais quand même le refaire sur une carte veroboard car je pense que de tester ce montage directement sur ma Easypic3 peut peut-être poser certains pb de compatibilité.
J'utilise un Sharp GP1U521X, ces détecteurs IR sont très largement compatibles entres eux si ce n'est juste la porteuse qui différencie mais pour ce modèle il est bien en 38KHz . J'ai plein de récepteur récupérés sur les châssis, je suis le roi de la récup :wink:
https://pdf1.alldatasheet.com/datasheet ... U501X.html
A l'oscillo je récupère bien le signal des télécommandes (Philips, Marantz, Sony) mais rien en sortie du PIC ni même sur les Leds sur RA0 et RA1 qui devrait indiquer la prise en compte du signal. Tant que la Led sur RA0 ne s'allume pas cela indique que le prg ne prends rien en compte de ce qui rentre sur RB0.

Pour ce qui est des protocoles RC4, 5, et 6 j'ai le pdf parce qu'1 jour j'en ai réalisé une avec des circuits intégrés dédié aux télécommandes et notamment Siemens avec le circuit SAB 3209 sur lequel j'ai bcp bossé dans le cadre de mon boulot. Malheureusement tous ces circuits sont devenus obsolète.

C'est donc par les Pics qu'il faut que je me tourne et c'est pas si simple à trouver.

Je vais regarder le lien que tu m'a donné pour le tester

En te remerciant,

Télécommande IR à 10 canaux
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#4 Message par Temps-x » sam. 22 déc. 2018 17:14

Bonsoir nondediode, et tout le forum,

Si tu veux je peux te donner un coup de main, Je peux te fabriquer une porteuse de 38khz pour tes essais.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#5 Message par nondediode » sam. 22 déc. 2018 18:30

J'ai reconstruit le montage SONELEC sur une plaque veroboard.
Effectivement il devait y avoir conflit avec ma plateforme de développement, à présent y'a du mieux.
Les leds RX et OK répondent aux appels d'une télécommande Samsung (TV) et SONY.
Avec 2 autres télécommandes Marantz et Cambridge, aucunes ne fonctionnent même en changeant la polarité sur RA5.
Pour les LED Out0.......15, c'est très fantaisiste comme fonctionnement parfois j'en ai une qui s'allume sur un appel et qui reste allumée sans jamais pouvoir s'éteindre. Il n'y a pas vraiment de logique sur ces sorties. J'utilise le détecteur Sharp GP1U sans pb, il a une portée de 7 à 8 m voir +.

Il faudra que j'essaie l'autre montage
http://paulfjujo.free.fr/IR_RC5/Recepte ... es_RC5.htm

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#6 Message par nondediode » sam. 22 déc. 2018 18:48

Temps-x a écrit :Bonsoir nondediode, et tout le forum,

Si tu veux je peux te donner un coup de main, Je peux te fabriquer une porteuse de 38khz pour tes essais.

==> A+


C'est très sympa de ta part mais vu que le Sharp fonctionne c'est pas très utile. En revanche, si tu trouves des exemples de programmes ça peut m’intéresser :wink:

Je vais pas trop m'user avec le montage SONELEC, je vais chercher autre chose.
Déjà essayer le montage que tu m'a envoyé pour voir ce que ça donne.
C'est clair, il me faut trouver un montage à base de PIC pour décoder les appels d'une télécommande afin de pouvoir activer au moins 8 sorties. Ensuite ce sera facile pour moi de les exploiter pour mon ampli.

Sinon il me faudra regarder dans mes archives si il existe pas un montage analogique où j'aurai encore conservé quelques circuits pour réaliser cette télécommande.
Il y a aussi la solution de trouver un vieux châssis TV cathodique et de récupérer la carte avec le TDA et le récepteur IR mais c'est pas top comme solution :?

Télécommande IR à 10 canaux
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#7 Message par satinas » sam. 22 déc. 2018 19:13

Bonsoir,
Il faut un récepteur qui sort un signal propre, ensuite le RC5 c'est une trame de 14 bits. On peut détecter par interruption le premier pic, ensuite on lit 13 bits en utilisant une tempo de durée 1,778 ms, et on obtient le code 14 bits.
Pas la peine d'aller voir ailleurs, il faut quand même un oscillo pour pas faire cela en aveugle.

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#8 Message par nondediode » sam. 22 déc. 2018 21:14

Question matériel je suis bien équipé; 1 Gould 1604 (4 voies), 1 FLUKE PM97, 1 analyseur FFT, 1 géné Hameg, fréquencemètre, multimètres Fluke, Metrix, Chauvin Arnoux et je m'arrête sinon demain j'y suis encore :lol:
Le seul soucis c'est que je suis en appart de 60m2 et pour sortir tout ce beau matos il faut déménager la moitié su salon et j'ai une dame qui n'aime pas trop voir le fer à souder sur la table surtout qu'en ce moment elle sait qu'il y a un gros projet en étude :lol: :lol: :lol: :lol:

L'été ça va je vais sur le balcon mais en ce moment pas possible :cry:

Déjà avec la platine EasyPic, les 2 PC, les afficheurs et les câbles ça fait pas trop sapin de Noël :lol:

Maintenant vérifier un signal vite fait bien fait avec le Fluke comme ça été le cas cet am avec le montage IR ça passe encore mais je reconnais que c'est vite le foutoir.

Je suis tombé tout à l'heure sur un montage qui date des années 80 avec le MV500 et 601 mais ces très vieux.

Télécommande IR à 10 canaux
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#9 Message par Temps-x » sam. 22 déc. 2018 21:48

Bonsoir,

J'ai retrouver une routine ASM que j'avais écrit pour récupérer le code des télécommandes de pulses positives et négatives.

Code : Tout sélectionner

;**********************************************************************************************
;
                                       
;    _________________               _____     __    __________     _____       __    _____    
;   |                 |             |     |   |  |  |          |   |     |     |  |  |     |  
;   |                 |             |     |   |  |  |          |   |     |     |  |  |     |  
;   |                 |             |     |   |  |  |          |   |     |     |  |  |     |  
; ---                 ---------------     -----  ----          -----     -------  ----     ----
;
                                                                                    
;
;*******************************
 début du programme principal  ******************************** 
capture
      bsf PORTC
,0                         ; led verte allumé             
      call pause_1s
      bcf PORTC
,0                         ; led verte éteint
      call pause_1s
      
;************************************* efface la ram ******************************************

      call efface_ram                     ; on vide la ram de toutes les inpurtées pour le stockage du code
   
;********************************* préparation pour le début **********************************

      bcf INTCON,GIE                      ; interruptions général hors service
      bcf T1CON
,TMR1ON                    ; précausion on arrête le timer1       

      clrf    PORTA                       
; PORTA à 0          
      clrf    PORTB                       
; PORTB à 0
      clrf  PORTC                         
; PORTC à 0
      clrf  PORTE                         
; PORTE à 0                                                                                                                                                                                             
                                                       
      clrf TMR1H                          
; remettre à zéro TMR1H  
      clrf TMR1L                          
; remettre à zéro TMR1L

      clrf rec_adr
      clrf rec_pas

      movlw 0x20                          
; initialisation pointeur
      movwf FSR                           
; d'adressage indirect

;************************* attent un signal négatif pour le départ ****************************

      btfsc PORTC,4                       ; si le bit RC4 est à 1 on va à la ligne 1
      goto $-1                            ; on attend un signal positif pour le départ                                 

;********************************** attent un signal négatif ********************************** 

record

      bsf INTCON,GIE                      ; réautoriser les interruptions général                      
      bsf T1CON,TMR1ON                    ; réception ok, lancer le timer1  

      btfss PORTC,4                       ; si le bit RC4 est à 0 on va à la ligne 1 
      goto $-1                            ; remonte à la ligne 2 jusqu'
a ce que RC4 passe à 1   

      bcf INTCON
,GIE                      ; interruptions général hors service
      bcf T1CON
,TMR1ON                    ; fin réception, arrêter le timer1       

      movf TMR1H
,W                        ; transfère TMR1H dans W
      movwf INDF                          
; sauver dans la ram

        incf FSR
,F                        ; pointer sur suivant                        

      movf TMR1L
,W                        ; transfère TMR1L dans W
      movwf INDF                          
; sauver dans la ram

        incf FSR
,F                        ; pointer sur suivant                        

      incf rec_pas
,F                      ; ajouter 1 dans rec_pas

      clrf TMR1H                          
; remettre à zéro TMR1H  
      clrf TMR1L                          
; remettre à zéro TMR1L  
         
                                                                                                  
      bsf INTCON
,GIE                      ; réautoriser les interruptions général                 
      bsf T1CON
,TMR1ON                    ; lancer le timer1                                      
      
;********************************** attent un signal positif **********************************   

      btfsc PORTC
,4                       ; si le bit RC4 est à 1 on va à la ligne 1
      goto 
$-1                            ; remonte à la ligne 2 jusqu'a ce que le RC4 passe à 0  
 
      bcf INTCON,GIE                      ; interruptions général hors service
      bcf T1CON,TMR1ON                    ; fin réception, arrêter le timer1      

      movf TMR1H,W                        ; transfère TMR1H dans W
      movwf INDF                          ; sauver dans la ram

        incf FSR,F                        ; pointer sur suivant                        

      movf TMR1L,W                        ; transfère TMR1L dans W
      movwf INDF                          ; sauver dans la ram

        incf FSR,F                        ; pointer sur suivant                        

      incf rec_pas,F                      ; ajouter 1 dans rec_pas

   
      clrf TMR1H                          ; remettre à zéro TMR1H  
      clrf TMR1L                          ; remettre à zéro TMR1L  

      goto record                  



Regarde la simplicité, avec ça tu captures n'importe quelle code, ici j'ai utilisé un Quartz de 8 Mhz, ce qui fait 0.5µs par instruction.
Mais il ne faut pas dépasser un temps de 32767µs, pour les pulses positives et négatives.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Télécommande IR à 10 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#10 Message par nondediode » dim. 23 déc. 2018 12:10

Bonjour Temps-x et tout le monde,

Voici ce que j'ai trouvé
28645-1033308-16f628-84-decodeur-rc5-lcd-et-6-sorties.zip

ça m'a l'air pas mal je vais le tester
J'ai trouvé aussi dans mes fonds de tiroir un récepteur IR très ancien (TV probablement) avec un circuit SFC2748DC et un filtre RLC la cellule est une bpw34.
Sortie signal à mesurer.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 47 invités