Как создать функции, которые можно использовать повторно с экземпляром платы? - PullRequest
0 голосов
/ 28 апреля 2020

Я использую библиотеку jhonny-Five для создания проекта для брайлевского принтера, я использую шаговый двигатель и реле, приведенный ниже код является одной из функций принтера, но я не могу запустить двигатель и ни реле, как я его настраивал, мне нужны отдельные функции, но я не знаю, как использовать экземпляр Board таким образом, на данный момент этот код не выдает никакой ошибки, он подключается к Arduino, но не ' больше ничего не делай. Кто-нибудь знает, как настроить функции, которые запускают реле и степпер по отдельности, чтобы я мог вызывать определенные части кода?

// Пример кода

const five = require("johnny-five")
const board = new five.Board()
let text = [['1','0'],['0','0'],['0','0']]
let size = text.lenght

// This Loop will be executed several times, this is just an example

    for (let init = 0; init < text.length; init++) {
        mark(text[init][0], 0)
      }

    function next(direction, steps = 500) { // Change the steps number
      board.on("ready", () => {
        let stepperMotor = new five.Stepper({
          type: five.Stepper.TYPE.DRIVER,
          stepsPerRev: 200,
          pins: {
            step: 3,
            dir: 2
          }
        })

        stepperMotor.rpm(300).step({ steps: steps, direction: direction }, function () {
          console.log("jump to next mark")
        });
      })
      return
    }

    function mark(text, direction) {
      board.on("ready", () => {
        let relay = new five.Relay(4)

        if (text[0] === '0') {
          next(direction)
        }
        if (text[0] === '1') {
          relay.open()
          relay.close()
        }
        if (text[1] === '0') {
          next(direction)
        }
        if (text[1] === '1') {
          relay.open()
          relay.close()
        }
      })
    }
...