Robotique 1 STI2D
  • PILOTER UN ROBOT
    • Votre Travail
      • S1: Activité 1: Comment faire pour déplacer un Robot ?
      • S1: Activité 2: Comment se déplacer sur un parcours défini
      • Compléments
      • Synthèse
    • Vos Ressources
      • Chassis Robot
      • Motoréducteurs DG01D
      • Carte Motor Shield et Pont en H Moteur
      • Carte Base Shield Grove
      • Télécommande IR
        • Récepteur Infrarouge KY-022
        • Les codes Télécommande IR
      • Ressources Programmation Arduino
        • Notions de Base sur les programmes Arduino
        • Visualiser des données avec Arduino: Moniteur Série
        • Quelques fonctions utiles dans Arduino
        • Algorigramme (et Pseudo Code)
        • Installer la bibliothèque IRremote
        • Incompatibilité entre IRremote et Motor Shield
      • STRUCTURE DE LA CHAÎNE D'INFORMATION
Propulsé par GitBook
Sur cette page
  • Correspondance décimal <-> Binaire <-> Hexadécimal:
  • Spécification Fournisseur
  • Pour aller plus loin - Niveau Terminale STI2D SIN:
  • 1 - Commande Arduino:
  • 2 - Commande Arduino
  • 3 - Explication
  • 4- Un exemple de capture du signal transmis
  1. PILOTER UN ROBOT
  2. Vos Ressources
  3. Télécommande IR

Les codes Télécommande IR

PrécédentRécepteur Infrarouge KY-022SuivantRessources Programmation Arduino

Dernière mise à jour il y a 1 an

Chaque appui sur une touche de la télécommande IR envoie un signal lumineux modulé, qui est convertit par le récepteur en un signal électrique démodulé.

Pour chaque touche, le signal électrique démodulé correspond à une suite différente de 0 et de 1.

Voici les codes correspondants entre l'appui sur la touche et la suite de 0 et de 1, c'est le code binaire reçu.

Afin de lire avec plus de facilité ces codes, on utilise la notation hexadécimale

Nom Touche
Code Binaire
Code Hexadécimal

AVANT

0100 0110

0x46

ARRIERE

0001 0101

0x15

GAUCHE

0100 0100

0x44

DROITE

0100 0011

0x43

OK

0100 0000

0x40

0

0101 0010

0x52

1

0001 0110

0x16

2

0001 1001

0x19

3

0000 1101

0x0D

4

0000 1100

0x0C

5

0001 1000

0x18

6

0101 1110

0x5E

7

0000 1000

0x08

8

0001 1100

0x1C

9

0101 1010

0x5A

*

0100 0010

0x42

#

0100 1010

0x4A

L'écriture 0x18 signifie la valeur 1 et 8 en hexadécimal, c'est à dire en base 16. Dans la base 16, il y a 16 "chiffres" de 0 à F pour coder les nombres: 0 à 9 puis A à F avec A (=10), B(=11), C (=12), D(=13), E(=14) et F(=15).

Correspondance décimal <-> Binaire <-> Hexadécimal:

Spécification Fournisseur

Pour aller plus loin - Niveau Terminale STI2D SIN:

1 - Commande Arduino:

IrReceiver.printIRResultShort(&Serial);

Exemple de retour sur le moniteur Série si touche N°2 pressée:

Protocol=NEC Address=0x0 Command=0x19 Raw-Data=0xE619FF00 32 bits LSB first

2 - Commande Arduino

Serial.print("command = ");

Serial.println(IrReceiver.decodedIRData.command, HEX);

Exemple de retour sur le moniteur Série si touche N°2 pressée:

command = 19

3 - Explication

Raw-Data=0xE619FF00:

  • Octet 1: 0xE6 = 1110 0110 : Commande inversée bit à bit

  • Octet 2: 0x19 = 0001 1001 : Commande sur un octet

  • Octet 3: 0xFF = 1111 1111 : Non Utilisé, inverse de l'octet 4

  • Octet 4: 0x00 = 0000 0000 : Non Utilisé, inverse de l'octet 3

Le protocole NEC utilise des octets inversés pour fiabiliser la transmission de données. Les données utiles sont codées sur 16 bits et sont inclues dans un mot de 32 bits. Seuls les 16 premiers bits sont utilisées.

4- Un exemple de capture du signal transmis

Télécommande IR GT017GO TRONIC
Télécommande et Récepteur IR 38 KHz GT017
Logo