hybridgroup/gobot

Stepper driver DRV8825

Opened this issue · 1 comments

Hi friends,

Is it posible to use DRV8825 stepper driver with gobot?

Thank you, very much.

YES, I answer myself. I'm happy that is something quite simple. I will try to write a Gobot driver for DRV8825 stepper controller. This is a sample code, that works for me on a RPI4 (If it doesn't work play with time on gobot.Every sentence):

package main

import (
	"time"
	"gobot.io/x/gobot/v2"
	"gobot.io/x/gobot/v2/platforms/raspi"
)

func main() {
	r := raspi.NewAdaptor()

	work := func() {
		// Direction Pin (DRV8825 DIR)
		r.DigitalWrite("37", 1)

		step := true
		gobot.Every(1*time.Millisecond, func() {
			if step {
                               // Step pin (DRV8825 STP)
				r.DigitalWrite("35", 1)
				step = false
			} else {
				r.DigitalWrite("35", 0)
				step = true
			}
		})

		return
	}

	robot := gobot.NewRobot("stepperBot",
		[]gobot.Connection{r},
		[]gobot.Device{},
		work,
	)

	robot.Start()
}