You are on page 1of 4

Circuit imprimé de la carte Arduino

Datasheet SN754410

// Constantes

const int Validation = 2;

const int RotationSH = 3; //PWM

const int RotationSAH = 5; //PWM

// Variables

int Alimentation = 80; //Vitesse du moteur entre 0 et VCC (255) cf valeur moyenne d’une tension

1
void setup(){

pinMode(RotationSH,OUTPUT);

pinMode(RotationSAH,OUTPUT);

pinMode(Validation,OUTPUT);

void loop(){

digitalWrite(Validation,HIGH); // Active le pont en H

// Tourne dans le sens direct pendant 2 secondes

analogWrite(RotationSAH,0);

analogWrite(RotationSH,Alimentation);

delay(2000);

// Tourne dans le sens indirect pendant 3 secondes

analogWrite(RotationSH,0);

analogWrite(RotationSAH,Power);

delay(3000);

//Arrête le moteur pendant 1 seconde

analogWrite(RotationSH,0);

analogWrite(RotationSAH,0);

digitalWrite(Validation,LOW);

delay(1000);

Création de fonctions :

// Constantes

const int Validation = 2;

const int RotationSH = 3;

const int RotationSAH = 5;

// Variables

int Alimentation = 80; //Vitesse du moteur entre 0 et 255

void setup(){

MoteurInit(); // Fonction Initialisation du moteur

2
}

void loop(){

MoteurDirect(Alimentation); // Fonction rotation du moteur dans le sens direct

delay(2000);

MoteurIndirect(Alimentation); // Fonction rotation du moteur dans le sens indirect

delay(3000);

MoteurStop(); // Fonction arrêt moteur

delay(1000);

void MoteurInit(){

// Initialise les broches utilisées pour le moteur

pinMode(RotationSH,OUTPUT);

pinMode(RotationSAH,OUTPUT);

pinMode(Validation,OUTPUT);

void MoteurDirect(int P){

digitalWrite(Validation,HIGH); // Active pont en H

// Tourne dans le sens direct à la vitesse spécifiée par P

analogWrite(RotationSH,0);

analogWrite(RotationSAH,P);

void MoteurIndirect(int P){

digitalWrite(Validation,HIGH); // Active pont en H

// Tourne dans le sens inverse à la vitesse spécifiée par P

analogWrite(RotationSH,0);

analogWrite(RotationSAH,P);

void MoteurStop(){

// Arrête le moteur et désactive le pont en H

analogWrite(RotationSH,0);

analogWrite(RotationSAH,0);

3
digitalWrite(Validation,LOW);

You might also like