Voici un composant RC5 pour Flowcode PIC, il s’agit d’un composant utilisateur car Flowcode n’a pas encore inclus cette fonction. Cela sera fait pour la prochaine version, d’après les ingénieurs de chez Matrix Multimedia.
Le fichier PIC_Custom.c doit remplacé celui qui est dans le répertoire Components de Flowcode. L’ancien peut être sauvegardé sous un autre nom.
Ce composant a été paramétré pour un PIC cadencé à 8MHz avec le récepteur IR sur l’entrée RB0. Si vous souhaitez une autre horloge, il faut recalculer les valeurs des tempos et le pré-diviseur du timer0.
Pour utiliser la fonction RC5 en décodage, il faut d’abord valider la fonction RC5_RX_Enable.
Puis dans une boucle, lire la fonction RC5_CheckRX que l’on enregistre dans une variable.
Enfin, en fonction du résultat de la fonction précédente, 0 ou 1, lire le code ou l’adresse de la télécommande RC5, avec la fonction RC5_Collect_Data (type, valeur). La valeur est le code si type = 0 ou l’adresse si type = 1.
Le code en C de ce composant utilise un algorithme robuste à variables d’états au lieu d’une interruption à intervalles de temps constant. Les infos résultantes, adresse, code et même bit de répétition sont très stables contrairement à l’autre technique.
Par contre, les fonctions TX qui génèrent une émission RC5 n’ont pas été modifiées, il est déconseillé de les utiliser, car elle ne fonctionneront pas.
Fichier : PIC_Custom.c
Vidéo du robot Mini Sumo programmé avec Flowcode 4 et ce composant:Video-MSP-RC5