gobot.io/x/gobot@v1.16.0/examples/raspi_stepper_move.go (about)

     1  // +build example
     2  //
     3  // Do not build by default.
     4  
     5  package main
     6  
     7  import (
     8  	"fmt"
     9  
    10  	"gobot.io/x/gobot"
    11  	"gobot.io/x/gobot/drivers/gpio"
    12  	"gobot.io/x/gobot/platforms/raspi"
    13  )
    14  
    15  func main() {
    16  	r := raspi.NewAdaptor()
    17  	stepper := gpio.NewStepperDriver(r, [4]string{"7", "11", "13", "15"}, gpio.StepperModes.DualPhaseStepping, 2048)
    18  
    19  	work := func() {
    20  		//set spped
    21  		stepper.SetSpeed(15)
    22  
    23  		//Move forward one revolution
    24  		if err := stepper.Move(2048); err != nil {
    25  			fmt.Println(err)
    26  		}
    27  
    28  		//Move backward one revolution
    29  		if err := stepper.Move(-2048); err != nil {
    30  			fmt.Println(err)
    31  		}
    32  	}
    33  
    34  	robot := gobot.NewRobot("stepperBot",
    35  		[]gobot.Connection{r},
    36  		[]gobot.Device{stepper},
    37  		work,
    38  	)
    39  
    40  	robot.Start()
    41  }