Page 92 - Microcontrolere - Indrumator de laborator
P. 92

myStepper.setSpeed(10);
                 myStepper.step(-stepsPerRevolution);
                 delay(1000);
               }

               Pentru  funcționarea  codului  vom  avea  nevoie  de  o  librărie  arduino,  numită
          Arduino Stepper Library, care este inclusă în pachetul de instalare Arduino IDE.
               Primul fragment de cod din cadrul buclei Loop face ca motorul să se rotească
          foarte încet în sensul acelor de ceasornic, în timp ce al doilea îl face să se rotească
          foarte repede în sens invers acelor de ceasornic.
               De notat este că funcția step() este o funcție de blocare. Aceasta înseamnă că
          Arduino  va  aștepta  până  când  motorul  se  oprește  din  mers  înainte  de  a  trece  la
          următoarea linie din program. De exemplu, la un motor cu 100 de pași, dacă setăm
          viteza  la 1  RPM și apelăm step(100), această funcție  va  dura un  minut pentru a se
          termina.
               Biblioteca Arduino Stepper este perfectă pentru aplicații simple, cu un singur
          motor. Cu toate acestea, dacă dorim să controlăm mai multe motoare, avem nevoie de
          o altă librărie.
               Pentru  exemplul  următor  vom  instala  și  utiliza  librăria  AccelStepper,  care
          suportă  accelerare  și  decelerare,  comandă  half-step  și  poate  comanda  mai  multe
          motoare deodată.
               Pentru instalarea librăriei trebuie să deschidem mediul de dezvoltare Arduino
          IDE și să urmăm calea Sketch>Include Library>Manage libraries...
               În continuare găsiți codul corespunzător, care accelerează motorul pas cu pas
          într-o  direcție  și  apoi  îl  decelerează  pentru  a  se  opri.  După  o  revoluție,  motorul  își
          inversează direcția de rotație și se repetă procesul [11].

               #include <AccelStepper.h>

               #define MotorInterfaceType 4

               AccelStepper myStepper(MotorInterfaceType, 8, 10, 9, 11);

               void setup() {
                 myStepper.setMaxSpeed(1000.0);
                 myStepper.setAcceleration(50.0);
                 myStepper.setSpeed(200);
                 myStepper.moveTo(2038);

                                              89
   87   88   89   90   91   92   93   94   95   96   97