Lecture code infrarouge

Salut a tous,
J'ai connecté un récepteur infrarouge sur l'arduino car je voudrais récupérer le code infrarouge d'une télécommande d'un objet radio commandé.
J'ai réussi à lire les codes de télécommandes tels que télécommande de télé,... Mais pas moyen, de lire le code de cet télécommande de cette objet.
J'ai des "0" à la place des codes.

#include <IRremote.h>
#include <IRremoteInt.h>


int RECV_PIN = 2;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Début du récepteur
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Recevoir la prochaine valeur
  }
}

Str8:
Salut a tous,
J'ai connecté un récepteur infrarouge sur l'arduino car je voudrais récupérer le code infrarouge d'une télécommande d'un objet radio commandé.
J'ai réussi à lire les codes de télécommandes tels que télécommande de télé,... Mais pas moyen, de lire le code de cet télécommande de cette objet.
J'ai des "0" à la place des codes.

bonsoir
c'est quoi exactement comme emetteur et recepteur IR ?
Il faut savoir que la porteuse l'IR est modulée.

et la porteuse de la telco que tu veux decoder est peut etre differente des telco de TV (souvent 38 KHz) .

Merci de ta réponse rapide ! .Le récepteur est un récepteur récupéré donc je ne peux t'en dire plus sur lui et l'émetteur serait une télécommande d'un hélico rc.
L’inconvénient, c'est que n'en sait pas plus, ni sur le récepteur et l'émetteur justement.

Str8:
Merci de ta réponse rapide ! .Le récepteur est un récepteur récupéré donc je ne peux t'en dire plus sur lui et l'émetteur serait une télécommande d'un hélico rc.
L’inconvénient, c'est que n'en sait pas plus, ni sur le récepteur et l'émetteur justement.

ton recepteur est surement un module 38KHz (les plus courants), ton soft reagit avec des telco TV de quelle marques ?
en revanche pour ton émetteur d'helico , il faut chercher et/ou tester avec de l'instrument de mesure.
Voir aussi si simplement ce n'est pas la librairie IRremote qui ne supporte pas le protocole.

Il réagit avec télécommande de marque Samsung et de décodeur de TV orange.
Le but serait de piloter l'hélicoptère via l'arduino . Mais effectivement, les codes de la télécommande sont apparament plutôt compliqué à récupérer. ( étant débutant )

Str8:
Il réagit avec télécommande de marque Samsung et de décodeur de TV orange.
Le but serait de piloter l'hélicoptère via l'arduino . Mais effectivement, les codes de la télécommande sont apparament plutôt compliqué à récupérer. ( étant débutant )

Tu n'es surement pas le premier à essayer de jouer avec ça !
voir déjà ça chez "la Lady"

Effectivement c'est ce que j'avais vu.
et d'après le "converts it to a 38 kHz Infrared signal that the S107 can understand." L'hélico et la télécommande serait du type 38 kHz. Cependant ce n'est pas le même hélico donc à voir !
Mais dans se cas là, ce serait le programme qui ne serait pas compatible et non le récepteur infrarouge ?

Str8:
Effectivement c'est ce que j'avais vu.
et d'après le "converts it to a 38 kHz Infrared signal that the S107 can understand." L'hélico et la télécommande serait du type 38 kHz. Cependant ce n'est pas le même hélico donc à voir !
Mais dans se cas là, ce serait le programme qui ne serait pas compatible et non le récepteur infrarouge ?

Ces petits helicos RC sont fabriqués en masse et l'industrie de masse va au plus court/moins cher pour les composants.
je pense la librairie IRremote n'est pas prevue pour les telco de H RC
c'est quoi exactement comme modele de H RC ? , acheté où ?

C'est celui-ci : http://www.ehirobo.com/shop/product_info.php?products_id=7564

Merci beaucoup de ton aide en tous cas !

tu pourrais brancher un oscilloscope sur la diode IR de l'émetteur afin de déterminer quelle est la fréquence de la porteuse, déjà. Ensuite il serait plus facile de trouver un récepteur adéquat.

Salut, merci de ta réponse.
Je ne possède malheureusement pas d'oscilloscope. J'ai peut être choisi un projet assez compliqué pour un débutant.
Si quelqu'un a une idée ? :~

Alors déja je trouve ton idée géniale ! Mais peut etre un peu difficile pour un debutant...

BREF ne te décourage surtout pas mais dans ton code tu n'essai pas de savoir quel type de télécommande cette émetteur envoi...

alors je te conseil ce code (il vient des exemple de la libraire IR mais un peu modifié pour cause d'erreur de compilation) mais lance ce code avec un récepeteur infrarouge placé sur le port digital 11 et le reste je pense que tu doit connaitre^^

si ça fonctionne tiens nous au courant :slight_smile:

/*
 * IRremote: IRrecvDump - dump details of IR codes with IRrecv
 * An IR detector/demodulator must be connected to the input RECV_PIN.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
 * LG added by Darryl Smith (based on the JVC protocol)
 */

#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
// void * to work around compiler issue
//void dump(void *v) {
//  decode_results *results = (decode_results *)v
void dump(decode_results *results) {
  int count = results->rawlen;
  if (results->decode_type == UNKNOWN) {
    Serial.print("Unknown encoding: ");
  } 
  else if (results->decode_type == NEC) {
    Serial.print("Decoded NEC: ");
  } 
  else if (results->decode_type == SONY) {
    Serial.print("Decoded SONY: ");
  } 
  else if (results->decode_type == RC5) {
    Serial.print("Decoded RC5: ");
  } 
  else if (results->decode_type == RC6) {
    Serial.print("Decoded RC6: ");
  }
  else if (results->decode_type == PANASONIC) {	
    Serial.print("Decoded PANASONIC - Address: ");
    Serial.print(results->panasonicAddress,HEX);
    Serial.print(" Value: ");
  }

  
  Serial.print(results->value, HEX);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
  Serial.print("Raw (");
  Serial.print(count, DEC);
  Serial.print("): ");

  for (int i = 0; i < count; i++) {
    if ((i % 2) == 1) {
      Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
    } 
    else {
      Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
    }
    Serial.print(" ");
  }
  Serial.println("");
}


void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    dump(&results);
    irrecv.resume(); // Receive the next value
  }
}