@libs-scripts-mep/motor-control

1.2.0 • Public • Published

MotorManager

Biblioteca para controle e gerenciamento de motores lineares

Instalando

Abra o terminal, e na pasta do script, rode:

npm i @libs-scripts-mep/motor-control

Desinstalando

Abra o terminal, e na pasta do script, rode:

npm uninstall @libs-scripts-mep/motor-control

Atualizando

Abra o terminal, e na pasta do script, rode:

npm update @libs-scripts-mep/motor-control

Features da biblioteca

  • Robustez ao configurar os motores:
    • Permite configurar o nome, as saídas e os tempos de cada motor;
    • Impede a criação de motores com o meso nome ou saídas do MBI.
  • Cada motor configurado é uma instância da classe LinearMotor:
    • Segurança ao movimentar os motores, um motor executa uma nova operação apenas depois de terminar a anterior;
    • Cada motor gerencia seu próprio movimento, dentro das configurações de tempo atribuídas a ele.
  • Métodos de recuo e avanço;
  • Abstração e flexibilidade para executar as operações, tanto individualmente quanto de forma simultânea.

Como utilizar

  • Realize a importação:
import MotorManager from "../node_modules/@libs-scripts-mep/motor-control/motor-control.js"
import MbiControl from "../node_modules/@libs-scripts-mep/mbi-control/mbi-control.js"
  • Estabeleça a comunicação com o MBI:
await MbiControl.connect()
  • Configure os motores:
MotorManager.addMotor(
    "myMotor", // Nome do motor
    0, // Saída do MBI que move o motor para frente
    1, // Saída do MBI que move o motor para trás
    { // Objeto opcional com tempos
        totalCourse: 2750, // Tempo que o motor precisa para movimentar o curso completo
        zeroPosition: 500, // O quanto o motor vai recuar após avançar completamente, setando assim a posição zero. Utiliza este tempo para avançar a partir dela e retornar para ela.
        extraTime: 0 // Tempo adicional para o motor avançar a partir da posição zero
    }
)
  • Movimente os motores conforme a necessidade:
// Avança os motores informados pelo tempo especificado
await MotorManager.forward(
    ["myMotor1", "myMotor2"], // Motores para movimentar
    1000 // Tempo opcional de avanço
)

// Recua os motores informados pelo tempo especificado
await MotorManager.backward(
    ["myMotor1", "myMotor2", "myMotor3"], // Motores para movimentar
    1000 // Tempo opcional de recuo
)

// Avança os motores informados e depois recua, setando na posição zero
await MotorManager.setZeroPosition(
    ["myMotor1", "myMotor2", "myMotor3"] // Motores para ajustar
)

// Avança os motores informados a partir da posição zero, chegando ao final do curso
await MotorManager.forwardFromZero(
    ["myMotor1"] // Motores para avançar
)

// Recua os motores informados a partir do final do curso, retornando à posição zero
await MotorManager.backwardToZero(
    ["myMotor1"] // Motores para recuar
)

// Avança todos os motores durante o tempo especificado
await MotorManager.allForward(
    1000 // Tempo de avanço
)

// Recua todos os motores durante o tempo especificado
await MotorManager.allBackward(
    1000 // Tempo de recuo
)

// Seta todos os motores na posição zero
await MotorManager.allSetZeroPosition()

// Avança todos os motores a partir da posição zero
await MotorManager.allForwardFromZero()

// Recua todos os motores para a posição zero
await MotorManager.allBackwardToZero()

Readme

Keywords

none

Package Sidebar

Install

npm i @libs-scripts-mep/motor-control

Weekly Downloads

0

Version

1.2.0

License

ISC

Unpacked Size

16.1 kB

Total Files

3

Last publish

Collaborators

  • oriannyna
  • inv-eduardo
  • inv-guilherme.matte
  • inv-thiagosantos
  • inv-rafaela.freitas
  • inv-lucas.kroth