README ¶
Digispark
The Digispark is an Attiny85 based microcontroller development board similar to the Arduino line, only cheaper, smaller, and a bit less powerful. With a whole host of shields to extend its functionality and the ability to use the familiar Arduino IDE the Digispark is a great way to jump into electronics, or perfect for when an Arduino is too big or too much.
This package provides the Gobot adaptor for the Digispark ATTiny-based USB development board with the Little Wire protocol firmware installed.
How to Install
This package requires libusb
.
OSX
To install libusb
on OSX using Homebrew:
$ brew install libusb && brew install libusb-compat
Ubuntu
To install libusb on linux:
$ sudo apt-get install libusb-dev
Now you can install the package with
go get -d -u gobot.io/x/gobot/...
How to Use
package main
import (
"time"
"gobot.io/x/gobot"
"gobot.io/x/gobot/drivers/gpio"
"gobot.io/x/gobot/platforms/digispark"
)
func main() {
digisparkAdaptor := digispark.NewAdaptor()
led := gpio.NewLedDriver(digisparkAdaptor, "0")
work := func() {
gobot.Every(1*time.Second, func() {
led.Toggle()
})
}
robot := gobot.NewRobot("blinkBot",
[]gobot.Connection{digisparkAdaptor},
[]gobot.Device{led},
work,
)
robot.Start()
}
How to Connect
If your Digispark already has the Little Wire protocol firmware installed, you can connect right away with Gobot.
Otherwise, you must first flash your Digispark with the Little Wire firmware.
The easiest way to flash your Digispark is to use Gort https://gort.io.
Download and install Gort, and then use the following commands:
Then, install the needed Digispark firmware.
gort digispark install
OSX
Important: 2012 MBP The USB ports on the 2012 MBPs (Retina and non) cause issues due to their USB3 controllers, currently the best work around is to use a cheap USB hub (non USB3).
Plug the Digispark into your computer via the USB port and run:
gort digispark upload littlewire
Ubuntu
Ubuntu requires an extra one-time step to set up the Digispark for communication with Gobot. Run the following command:
gort digispark set-udev-rules
You might need to enter your administrative password. This steps adds a udev rule to allow access to the Digispark device.
Once this is done, you can upload Little Wire to your Digispark:
gort digispark upload littlewire
Windows
We need instructions here, because it supposedly works.
Manual instructions
For manual instructions on how to install Little Wire on a Digispark check out http://digistump.com/board/index.php/topic,160.0.html
Thanks to @bluebie for these instructions! (https://github.com/Bluebie/micronucleus-t85/wiki/Ubuntu-Linux)
Now plug the Digispark into your computer via the USB port.
Documentation ¶
Overview ¶
Package digispark provides the Gobot adaptor for the Digispark ATTiny-based USB development board.
Installing:
This package requires installing `libusb`. Then you can install the package with:
go get -u -d gobot.io/x/gobot/platforms/digispark
Example:
package main import ( "time" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" "gobot.io/x/gobot/platforms/digispark" ) func main() { digisparkAdaptor := digispark.NewAdaptor() led := gpio.NewLedDriver(digisparkAdaptor, "0") work := func() { gobot.Every(1*time.Second, func() { led.Toggle() }) } robot := gobot.NewRobot("blinkBot", []gobot.Connection{digisparkAdaptor}, []gobot.Device{led}, work, ) robot.Start() }
For further information refer to digispark README: https://github.com/hybridgroup/gobot/blob/master/platforms/digispark/README.md
Index ¶
- Variables
- func NewDigisparkI2cConnection(adaptor *Adaptor, address uint8) (connection *digisparkI2cConnection)
- type Adaptor
- func (d *Adaptor) Connect() (err error)
- func (d *Adaptor) DigitalWrite(pin string, level byte) (err error)
- func (d *Adaptor) Finalize() (err error)
- func (d *Adaptor) GetConnection(address int, bus int) (connection i2c.Connection, err error)
- func (d *Adaptor) GetDefaultBus() int
- func (d *Adaptor) Name() string
- func (d *Adaptor) PwmWrite(pin string, value byte) (err error)
- func (d *Adaptor) ServoWrite(pin string, angle uint8) (err error)
- func (d *Adaptor) SetName(n string)
Constants ¶
This section is empty.
Variables ¶
var ErrConnection = errors.New("connection error")
ErrConnection is the error resulting of a connection error with the digispark
Functions ¶
func NewDigisparkI2cConnection ¶ added in v1.12.0
func NewDigisparkI2cConnection(adaptor *Adaptor, address uint8) (connection *digisparkI2cConnection)
NewDigisparkI2cConnection creates an i2c connection to an i2c device at the specified address
Types ¶
type Adaptor ¶ added in v1.0.0
type Adaptor struct {
// contains filtered or unexported fields
}
Adaptor is the Gobot Adaptor for the Digispark
func NewAdaptor ¶ added in v1.0.0
func NewAdaptor() *Adaptor
NewAdaptor returns a new Digispark Adaptor
func (*Adaptor) DigitalWrite ¶ added in v1.0.0
DigitalWrite writes a value to the pin. Acceptable values are 1 or 0.
func (*Adaptor) GetConnection ¶ added in v1.12.0
GetConnection returns an i2c connection to a device on a specified bus. Only supports bus number 0
func (*Adaptor) GetDefaultBus ¶ added in v1.12.0
GetDefaultBus returns the default i2c bus for this platform
func (*Adaptor) ServoWrite ¶ added in v1.0.0
ServoWrite writes the 0-180 degree val to the specified pin.