Published using Google Docs
CAT > PHOTO > TELECOMMANDE TEL1
Updated automatically every 5 minutes

L’électronique programmée ludo-éducative libre pour apprendre, s’amuser et progresser...


Adresse du document KTEL1L : https://docs.google.com/document/d/1asnhuVVqV31wxn4FVLxHjZ0au2fSsdJP-0md_fxjKLg/pub

Ouvrir KTEL1L comme un document - Demande de renseignements : staff@duinoedu.com

 KTEL1L VERIFIE

1 erreur corrigée le 09/05/2014

   Référence : KTEL1L : KIT Télécommande infra-rouges standard 20 touches (codage NEC-1)

KTEL1L = TEL1 + DRIRL

Acheter les produits de ce kit :

  • La télécommande infrarouges 
  • Le récepteur infrarouge (composant directement connectable sur une carte Arduino avec des câbles DUPONT)

  • Vous pourriez aussi avoir besoin de câbles de branchement

Voir des vidéos liées :

  • En prévision…


      Utilité et fonctionnement 


Utilité : Permet de recevoir des informations d’une télécommande compatible (38kHz)

Puces : Arduino, DuinoEDU…

Résultat attendu :

Utilisation courante :

Réglages :

Principe de fonctionnement :

  1. le module récepteur pour télécommande doit être alimenté avec une tension de 5 volts environ
  1. par exemple directement par Arduino
  2. ou par une autre source de tension
  1. il dispose d’un filtre réglé sur 38kHz le rendant insensible aux autres infrarouges
  2. lorsque qu’une touche est appuyée sur une télécommande infrarouges
  1. une série d'impulsions lumineuses est envoyée représentant la touche appuyée
  2. le filtre du récepteur laisse passer ces impulsions
  3. le récepteur convertit cette série d’impulsions lumineuses en signaux électriques
  4. le signal électrique est ensuite lu et traité par la carte Arduino
  1. si la librairie est correctement installée et exploitée :
  1. le signal électrique est converti en un nombre 
  2. l’utilisateur doit ensuite mettre en place des tests sur la valeur de ces nombres
  1. il est ensuite possible :
  1. d’allumer des LED
  2. de piloter des servomoteurs
  3. de changer de mode de fonctionnement d’un montage Arduino
  1. grâce à une télécommande infrarouges

Remarque : 38kHz (38000 hz) est une fréquence. Elle représente le nombre de flashs nécessaire par  seconde  pour transmettre un niveau logique haut (= 5 volts = 1 binaire). Le niveau logique bas étant souvent exprimé par une absence totale d’émission lumineuse.

Si pour transmettre un niveau logique haut il suffisait de laisser la LED émettrice allumée pendant un certain temps, toute source d’infrarouge serait susceptible de transmettre ce niveau. Même celles qui n’ont rien à voir avec votre montage.

Pour éviter que les sources infrarouges annexes viennent perturber le récepteur, la télécommande et le récepteur “savent” tous les 2 que seuls les flashs dont la fréquence est de 38kHz sont à prendre en compte. C’est pourquoi le récepteur dispose d’un filtre dont le rôle est justement de se “débarrasser” de tous les signaux parasites = tous les signaux dont la fréquence est trop différente de 38kHz.  

Codes des touches :

Touche

Image

Code (en décimal)

On/Off

16753245

MENU

16769565

TEST

16720605

+

16712445

Annuler

16761405

Retour rapide

16769055

Lecture

16754775

Avance rapide

16748655

0

16738455

Moins

16750695

C

16756815

1

16724175

2

16718055

3

16743045

4

16716015

5

16726215

6

16734885

7

16728765

8

16730805

9

16732845


      Branchement


Le branchement se fait au moyen de 3 fils

Une fois le branchement réalisé, il vous faut un programme. Ce programme doit être écrit dans le logiciel gratuit nommé Arduino.

Si vous n’avez pas encore le logiciel Arduino (=c’est le logiciel pour programmer), vous pouvez le télécharger gratuitement ici : http://duinoedu.com/store/index.php?id_product=19&controller=product. Cliquez ensuite sur “Lien de téléchargement” correspondant à votre situation.

DuinoEDU vous conseille d’utiliser le version d’Arduino disponible à cette adresse plutôt que sa version française qui semble ne pas être à jour (pour l’instant).


      Exemple de programme en langage Arduino


Voici le programme exemple que je vous propose. Il permet simplement :

Ce programme peut être copié/collé directement dans la zone de travail du logiciel Arduino comme représenté ci-dessous :

   Côté ÉMETTEUR

Il n’y a pas de programme à rédiger. Tout est déjà géré au niveau de la télécommande

   Côté RÉCEPTEUR

Voici le programme à copier/coller dans le logiciel Arduino

//************************************************************************//

//                  -- EXEMPLE : PILOTAGE PAR TÉLÉCOMMANDE --             //

//                         >> Partie RÉCEPTEUR <<                          //        //                                                                        //

//                   David Souder pour www.duinoedu.com                   //

//                               Version 0.1                              //

//                        Programme libre de droit                        //

//************************************************************************//

/*

UTILITE DU PROGRAMME :

Permet d’allumer une LED si la touche “+” de la télécommande TEL1 est appuyée.

Permet d’éteindre la même LED en appuyant sur la touche “-” de la même télécommande.

Ce programme est une amorce pour réaliser des montages plus complexes.

*/

/*

LIBRAIRIE UTILISEE : IRremote( Nous en parlerons plus tard. Ne téléchargez rien pour l’instant).

*/

/* BRANCHEMENT --------------------------------------------------------------

 1-BRANCHEMENT LED

      > POINTE LONGUE > TROU13

      > POINTE COURTE > TROU GND

      >

 2-BRANCHEMENT RECEPTEUR

      > POINTE GAUCHE > TROU3

      > POINTE MILIEU > TROU GND

      > POINTE DROITE > TROU 5V

*/

/*

MODULES :

Nous allons utiliser le récepteur pour télécommande disponible ici :

http://duinoedu.com/store/index.php?id_product=119&controller=product

Nous allons utiliser la télécommande infrarouge TEL1 disponible ici :

http://duinoedu.com/store/index.php?id_product=109&controller=product

*/

//--- Pour éviter de manipuler des nombres, nous allons leur donner des noms

#define TOUCHE_PLUS  16712445     // Pas de “;” car c’est une directive !

#define TOUCHE_MOINS 16750695     // Pas de “;” car c’est une directive !

//--- Ne fait que contenir le n° du trou utilisé par le récepteur

int brocheRecepteur = 3;

//--- Ne fait que contenir le n° du trou utilisé par la LED

int brocheLED = 13;

//A-- Vérifiez ensuite que vous avez bien la librairie “IRremote”. Pour cela, dans votre logiciel Arduino, faites : “Croquis” puis “Importer bibliothèque”. Si dans la liste vous trouvez “IRremote”, alors vous pouvez passer l’étape de téléchargement et aller directement au “B”. Si au contraire vous n’avez pas ce fichier, faites ce qui suit de T1 à T4 puis passez au “B” :

/*

  T1 : cliquez sur ce lien de téléchargement :

      > http://www.pjrc.com/teensy/arduino_libraries/IRremote.zip

  T2 : sauvegardez le fichier sur votre bureau par exemple

  T2 : Dans Arduino, cliquez sur :

      > “Croquis” puis “Importer bibliothèque” puis “Add library”

  T3 : allez chercher le fichier xxx.zip précédent (a priori sur votre bureau)

  T4 : votre librairie est maintenant connue d’Arduino.

*/

//B-- Nous allons ajouter la bibliothèque à notre programme

#include <IRremote.h>

//C-- Nous allons ensuite créer un “objet” représentant virtuellement le récepteur que nous venons de brancher. Ainsi, il nous sera possible de le manipuler. Cet objet est bien sûr lié au trou sur lequel est branché le récepteur.

IRrecv monRecepteur(brocheRecepteur);

//D-- Appuyer sur une simple touche génère déjà une “série d’impulsions” ne pouvant pas se réduire à un simple nombre. Malgré tout, il faut la stocker dans un “conteneur” spécial de “type” decode_results sous peine de perdre immédiatement toute information. Nous allons donc créer cette “boîte spéciale” et lui donner le nom de “serieImpulsions” comme ceci :

decode_results serieImpulsions; // Cette boîte est remplie automatiquement

//E-- La boîte spéciale contient de nombreuses informations et toutes ne nous sont pas utiles pour l’instant. Nous allons donc prévoir une autre boîte (variable) pour contenir ce code (= ce nombre)

unsigned long codeTouche = 0; // Unsigned = qui ne sera jamais négatif

 

//----- On va créer ou utiliser une partie dite d’initialisation = setup !
void setup() 

{ 

  //--- Nous allons configurer les entrées/sorties utilisées

    //--Le récepteur “donne” des informations => Il faut donc une ENTREE

    pinMode(brocheRecepteur, INPUT);

    //--La LED doit être “pilotée” => Il faut donc une SORTIE

    pinMode(brocheLED, OUTPUT);

  //--- Nous allons ensuite activer la réception

    monRecepteur.enableIRIn();

  //--- Nous allons activer le port série

    Serial.begin(9600);

  //--- Tout est enfin initialisé. Passons au corps de programme

   

} 



//----- On va créer ou utiliser une partie dite boucle = loop
void loop() 
{ 

  //--- Le conteneur (= objet) serieImpulsions se “remplit” tout seul. Pour savoir si quelque chose a été reçu, il suffit d’essayer de “décoder” cette “série d’impulsions” en utilisant la méthode “.decode”. Si le décodage s’est bien déroulé (donc si une série d’impulsions a bien été enregistrée dans le buffer), alors on peut extraire le code de la touche. En cas contraire, il est inutile de chercher à extraire un code de touche. Voici le test :

 

    if ( monRecepteur.decode( &serieImpulsions ) )

    {

      //-- A ce stade, on sait qu’il y a une série d'impulsions valide

        //-Nous allons donc récupérer le code de touche

        // Notez que value ici n’est qu’1 valeur contenue dans serieImpulsions

        codeTouche = serieImpulsions.value ; // codeTouche contient 1 nombre

     

      //-- La valeur de la touche étant récupérée, nous préparons la prochaine

        monRecepteur.resume();

    }

  //--- Nous pouvons maintenant piloter la LED en comparant le code de la touche récupéré avec les valeurs des 2 touches qui nous intéressent

    if ( codeTouche == TOUCHE_PLUS )

    {

       //-- On allume alors la LED

       digitalWrite( brocheLED, HIGH );

    }

    if ( codeTouche == TOUCHE_MOINS )

    {

       //-- On éteint alors la LED

       digitalWrite( brocheLED, LOW );

    }

       

  //----- N’oubliez pas de fermer les “crochets” “{......}

  // Comme c’est une boucle, le programme va revenir tout seul au début

  // Mais attention ! le setup() n’est exécuté qu’une seule fois

 

}

// Cet exemple n’est pas clair ? Contactez-nous : staff@duinoedu.com 

      Données techniques


Acheter ces produits sur DuinoEDU.com

Télécommande TEL1 :

 http://duinoedu.com/store/index.php?id_product=109&controller=product

Récepteur infrarouge pour télécommande DRIRL: http://duinoedu.com/store/index.php?id_product=119&controller=product

htp://duinoedu.com - Informations légales - Mail : staff@duinoedu.com

/