Catégories
Arduino automatique capteur

GRAFCET | Arduino #31: La Commande IR d’un Curseur de Caméra Multimodes – Test liaison IR II

Objectifs

  • Savoir faire la commande multimodes d’un automate
  • Savoir utiliser le module IR
  • Savoir lire le code d’une télécommande IR
  • Comprendre le principe de fonctionnement de la commande IR
  • Savoir commander un curseur à moteur pas à pas
  • Savoir mesurer la distance avec un capteur à US
  • Etc.

L’objectif du tuto est de valider le fonctionnement du module IR. Il sera utilisé pour la sélection du mode du fonctionnement du curseur. Voir le tuto pour les détails techniques.

Schéma synoptique

schéma de principe arduino commande IR - Test liaison IR

Programme Arduino

#include "IRremote.h"
#define Rx_pin 11

IRrecv irrecv(Rx_pin);
decode_results results;

void setup()
{
irrecv.enableIRIn(); // Init du Rx
Serial.begin(115200); // Affichage
}

void loop()
{
// Tst Télécommande
int touche= getMode(Rx_pin);
if (touche!=100)Serial.println(touche);
delay(100);
}

int getMode(int rx_pin)
{
// Déclaration d'un objet IRrecv
long int res_val=0;
int mode_out=100;

// Lecture de la télécommande
if (irrecv.decode(&results))
{
// Récupération du code
res_val = results.value;

// Décodage
switch(res_val)
{
case 0xFF30CF: // Touche 1
mode_out=1;break;

case 0xFF18E7: // Touche 2
mode_out=2;break;

case 0xFF7A85: // Touche 3
mode_out=3;break;

case 0xFF10EF: // Touche 4
mode_out=4;break;

case 0xFF38C7: // Touche 5
mode_out=5;break;

case 0xFF5AA5: // Touche 6
mode_out=6;break;

case 0xFF42BD: // Touche 7
mode_out=7;break;

case 0xFF4AB5: // Touche 8
mode_out=8;break;

default: // Autres
mode_out=100;
}
// Réception de la nouvelle valeur
irrecv.resume();
}
return mode_out;
}

Obtenir le livre « Codage en C du GRAFCET avec ARDUINO« 

Laisser un commentaire