top of page

LE MODULE ME INTERFACE MOTEUR

Le module "Me Interface moteur"  comporte un double pont en H, le TB6612 qui gère la vitesse et la direction de deux moteurs à courant continu.

La tension d'alimentation des moteurs doit être comprise  entre 6 et 12 V et le courant admissible est de 1,2 A. Le module accepte une pointe de courant de 3,2 A au démarrage des moteurs.

Les fonctions contenues dans la bibliothèque Makeblock sont :

  • MeDCMotor moteur(PORT_X) où PORT_X est le port sur lequel est branché le module. Cette fonction permet de créer l'objet.

  • moteur.run(vitesse) où vitesse représente la vitesse de rotation du moteur (compris entre -255 et 255). Cette fonction permet de contrôler la vitesse et la direction du moteur.

  • moteur.stop() permet d'arrêter le moteur.

Le tableau ci- dessous donne les ports des cartes "Me Orion" et "Me Auriga" pouvant être connectés à ce module.

Remarque :

Si nous utilisons l'interface de puissance intégrée aux cartes "Me Orion" ou "Me Auriga", le port de la fonction MeDCMotor moteur(PORT_X) est remplacé par M1 ou M2.

Exemple :

Nous souhaitons faire tourner un moteur en fonction de la position d'un potentiomètre et afficher la valeur de la vitesse sur un module "Me Afficheur LCD".

Programme :

/*Moteur_Makeblock est un programme qui affiche la vitesse de rotation d'un moteur sur un module "Me Afficheur LCD TFT".
La vitesse est proportionnelle à la tension issue d'un module "Me Potentiomètre"*/

#include "MeOrion.h"                                                    // appel des bibliothèques
#include <SoftwareSerial.h>

MeSerial serie(PORT_5);                                              // création de l'objet serie (module branché sur le port 5)
MePotentiometer potentiometre(PORT_6);                // création de l'objet potentiometre (module branché sur le port 6)
MeDCMotor moteur(PORT_1);                                     // création de l'objet moteur (module branché sur le port 1)

int valeur;
int vitesse;

void setup()
{
  serie.begin(9600);                                                      // initialisation de la liaison série à 9600 bit/s
  serie.print("DR0;");                                                      // configuration de l'écran dans le sens horizontal
}

void loop()
{  
 valeur=potentiometre.read();                                    // on fait la conversion A/N
 vitesse=map(valeur,0,973,0,255);                             // valeur varie de 0 à 973 (au lieu de 1023) et vitesse va varier de 0 à 255 (pour le moteur)
 valeur=map(valeur,0,973,0,100);                              // valeur varie de 0 à 973 (au lieu de 1023) et va varier de 0 à 100 (pour l'afficheur)
 serie.print("CLS(0);");                                                 // on efface l'écran
 serie.print("DS64(45,0,'Arduino Passion',1);");         // on écrit Arduino Passion en rouge avec la plus grande taille de caractère
 serie.print("DS32(0,70,'Vitesse : ");                          // on écrit Vitesse
 serie.print(valeur);                                                    // puis la valeur de la vitesse
 serie.println(" %',4);");                                               // et % en jaune
 moteur.run(vitesse);                                                 // on fait tourner le moteur
 delay(500);
}

bottom of page