Moteur pas à pas avec carte drivers

    Moteur pas à pas avec carte drivers ULN2003 pour Arduino
    OPEN401
    Disponible
    5,64 € TTC
    4,70 € HT

    Dont 0,01 € d'eco-participation déjà incluse dans le prix

    Ce moteur pas à pas 5 VDC est livré avec un mini module drivers basé sur un contrôleur CMS ULN2003. Il pourra être commandé par une plateforme Arduino® ou compatible.

    Reprise 1 pour 1         Frais de port à partir de 7.90 €   infos

     

    Ce module Drivers à base d'un ULN2003 livré avec un moteur pas-à-pas 5Vcc se raccordera facilement sur 4 entrées digitales d'un module Arduino ou compatible (non livrés) et vous permettra de réaliser des applications robotique, automate, etc...



    Caractéristiques :

    • Alimentation: 5 Vcc
    • Moteur pas-à-pas 28BYJ48 (4 phases)
    • Avec led d'état CMS pour chaque phase
    • Nombre de pas: 64
    • Drivers ULN2003
    • Dimensions moteur Ø 28 mm
    • Dimensions module: 23 x 17 x 10 mm




    Exemple de raccordement et code source:


    Exemple de raccordement du module Drivers moteur pas-à-pas OPEN401 base ULN2003 sur un Arduino




    **** DEBUT DE CODE ****
    // Déclaration des broches du module Drivers sur les GPIO de l'Arduino
    int motorIn1 = 11;   // IN1 fil rose sur GPIO 11 de l'Arduino
    int motorIn2 = 10;   // IN2 fil jaune sur GPIO 10 de l'Arduino
    int motorIn3 = 9;    // IN3 fil vert sur GPIO 9 de l'Arduino
    int motorIn4 = 8;    // IN4 fil bleu sur GPIO 8 de l'Arduino
                                 
    // Déclaration des variable pour le moteur
    int motorSpeed = 1200;  // Vitesse
    int count = 0;  // Compteur de pas initialiser à 0
    int countsperrev = 512;  // Variable pas max par révolution
    int lookup[8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};

    void setup()
    {
    // Déclaration des branchements du moteur en tant que sortie
    pinMode(motorIn1, OUTPUT);
    pinMode(motorIn2, OUTPUT);
    pinMode(motorIn3, OUTPUT);
    pinMode(motorIn4, OUTPUT);
    Serial.begin(9600);
    }

    void loop()
    { if(count < countsperrev )
    clockwise();
    else if (count == countsperrev * 2)
    count = 0;
    else anticlockwise();
    count++;
    }

    void anticlockwise()
    {
    for(int i = 0; i < 8; i++)
    {
    setOutput(i);
    delayMicroseconds(motorSpeed);
    }
    }
    void clockwise()
    {
    for(int i = 7; i >= 0;
    i--)
    {
    setOutput(i);
    delayMicroseconds(motorSpeed);
    }
    }
    void setOutput(int out)
    {
    digitalWrite(motorIn1, bitRead(lookup[out], 0));
    digitalWrite(motorIn2, bitRead(lookup[out], 1));
    digitalWrite(motorIn3, bitRead(lookup[out], 2));
    digitalWrite(motorIn4, bitRead(lookup[out], 3));
    }
    **** FIN DE CODE **** 

    Aucun avis
    Il est nécessaire d'être connecté pour laisser un avis

    Produits associés

    Produit ajouté à ma liste