Aller au contenu


Photo
- - - - -

interpreter le signal de la telecommande


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 Ulmo

Ulmo

    Membre

  • Membres
  • 32 messages

Posté 08 septembre 2012 - 02:39

J'ai une Arduino uno depuis peu.

J'ai cherché en vain jusque là, mais
je ne trouve pas le truc pour pouvoir assigner une commande reçue par IR à une action (allumage led par exemple)
La télécommande fonctionne bien, j'ai un signal différent à chaque touche, en hexadécimal.

Une aide ?

#2 SRWieZ

SRWieZ

    Membre

  • Membres
  • PipPip
  • 231 messages
  • Gender:Male
  • Location:Evreux, Haute-Normandie, France

Posté 08 septembre 2012 - 10:33

Il faut d’abord apprendre à programmer en C/C++ pour programmer l'Arduino.
Si tu sais programmer ça ne devrais pas être difficile, un simple switch sur les valeurs retourner par le module infrarouge et le tour est joué.

#3 Ulmo

Ulmo

    Membre

  • Membres
  • 32 messages

Posté 08 septembre 2012 - 12:12

j'ai trouvé : pour interpreter un ordre de la telecommande IR, en HEX dans le programme, il faut écrire avant le chiffre HEX en question : 0x

exemple :

if (results.value ==0x10) // 10 étant le signal reçu et affiché sur le serial, pour la touche 1, (810 pour la touche 2 etc..)
{
digitalWrite(led, HIGH);
}


Par contre, tant que j'ai pas appuyé sur une autre touche, la commande reçue précédemment reste valide, et la led ne s'éteind pas, même en donnant l'instruction :

digitalWrite(led, LOW);


#4 SRWieZ

SRWieZ

    Membre

  • Membres
  • PipPip
  • 231 messages
  • Gender:Male
  • Location:Evreux, Haute-Normandie, France

Posté 08 septembre 2012 - 01:48

Ah, c'étais donc ça ton problème.

Pour qu'elle s’éteigne quand tu relâche tu peut rajouter un else à ta condition qui éteint la led.

#5 Ulmo

Ulmo

    Membre

  • Membres
  • 32 messages

Posté 09 septembre 2012 - 09:57

Oui, j'y avais pensé aussi mais non, la condition reste valide. Il ne faudrait que la detection du front montant.

#6 Hexa Emails

Hexa Emails

    Membre passionné

  • Membres
  • PipPipPip
  • 439 messages
  • Gender:Male

Posté 09 septembre 2012 - 10:23

Salut,

il faut que tu remettes results.value à 0. Si tu n'y a pas accès, passe par une valeur intermédiaire... c'est un peu lourd mais ça fonctionne.




0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users