• Post category:Fort
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 12, 2022
  • Temps de lecture :5 min de lecture

Moteur pas à pas bipolaire actionné par 3 boutons (sens horaire, anti-horaire, arret) avec un L298N et Arduino Uno *

Niveau APPRENTISSAGE :   Fort

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino Uno
  • 3 x Boutons
  • 1 x L298N
  • 1 x Moteur PAP bipolaire
  • 1 x Alimentation 12v
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

#include <Stepper.h>
const int stepsPerRevolution = 200;

const int boutonsensantihoraire = 2; // le numéro de la broche du bouton pour le sens horaire
const int boutonsenshoraire = 3; // le numéro de la broche du bouton pour le sens anti-horaire
const int boutonarret = 4; // le numéro de la broche du bouton arret

int senshoraire = 0; // variable pour automaintien du sens horaire
int sensantihoraire = 0; // variable pour automaintien du sens anti-horaire

// Initialise le moteur sur les broches 8 à 11
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
//Vitesse de rotation du moteur à 200
myStepper.setSpeed(200);

pinMode(boutonsenshoraire, INPUT_PULLUP);
pinMode(boutonsensantihoraire, INPUT_PULLUP);
pinMode(boutonarret, INPUT_PULLUP);
}

void loop() {

if (digitalRead(boutonsenshoraire) == LOW || senshoraire == 1) {
senshoraire = 1;
sensantihoraire = 0;
myStepper.step(1);
}

if (digitalRead(boutonsensantihoraire) == LOW || sensantihoraire == 1) {
senshoraire = 0;
sensantihoraire = 1;
myStepper.step(-1);
}

if (digitalRead(boutonarret) == LOW) {
senshoraire = 0;
sensantihoraire = 0;
// on met les sorties à 0 pour éviter que le moteur chauffe
digitalWrite (8, LOW);
digitalWrite (9, LOW);
digitalWrite (10, LOW);
digitalWrite (11, LOW);
}
}

 


+ Infos sur le langage utilisé :

1. Fonctions
2. Variables
3. Stucture

 

Laisser un commentaire