*
Robotix 2019

Schéma de principe des commandes moteur
  • code1,2,3... : Codes héxadécimaux télécommande
  • value : variable contenant
    codes hexadécimaux
  • function_A(), B, C : fonctions contrôle moteur
  • 0x : défint une chanane de caractère en tant que valeur hexadécimale (ex: 0xA1B2)

 
Voici un schéma de principe pour la programmation d'un robot à deux moteurs, commandé par le circuit intégré L293D. Il suffit "d'ajouter" les programmes des contrôlant les mouvements des moteurs pour marche avant et arrière, tourner à gauche et à droite, puis arrêt.

Voir, en cliquant ici, comment programmer les commandes des moteurs
// Librairie lecteur infra rouge
#include IRremote.h

// Définition entrées et sorties
int signal_in = A5;
int output1 = 2;
int output2 = 4;
// etc...


// Déf. codes héxadécimaux pour "case"
#define code1 0x30CF
#define code2 0x18E7
#define code3 0x7A85

// Déf. lecteur infra rouge "IRremote"
IRrecv irrecv(signal_in);
decode_results results;

void setup()
{
// Initialisation lecture moniteur
Serial.begin(9600);
// Initialisatio signal infra rouge
irrecv.enableIRIn();
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
}
 

void loop() {
// Lecture du capteur
if (irrecv.decode(&results) ) {
unsigned int value = results.value;

switch(value) {
case code1:
function_A();
break;

case code2:
function_B();
break;

case code3:
function_C();
break;
} //switch
Serial.println(value, HEX); // Monitoring
irrecv.resume(); // retour boucle IR
} //if
} //loop

///////// Fonctions ci-dessous ///////////

void function_A()
{.....}

void function_B()
{.....}

void function_C()
{.....}