• Post category:Fort
  • Post comments:0 commentaire
  • Post last modified: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