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« 

Click to rate this post!
[Total: 2 Average: 5]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

FPGA | Arduino | Matlab | Cours will use the information you provide on this form to be in touch with you and to provide updates and marketing.