- Notifications
You must be signed in to change notification settings - Fork231
TinyGo drivers for sensors, displays, wireless adaptors, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
License
tinygo-org/drivers
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This package provides a collection of over 100 different hardware drivers for devices such as sensors, displays, wireless adaptors, and actuators, that can be used together withTinyGo.
For the complete list, please see:https://tinygo.org/docs/reference/devices/
go get tinygo.org/x/drivers
Here is an example in TinyGo that uses the BMP180 digital barometer. This example should work on any board that supports I2C:
package mainimport ("time""machine""tinygo.org/x/drivers/bmp180")funcmain() {machine.I2C0.Configure(machine.I2CConfig{})sensor:=bmp180.New(machine.I2C0)sensor.Configure()connected:=sensor.Connected()if!connected {println("BMP180 not detected")return }println("BMP180 detected")for {temp,_:=sensor.ReadTemperature()println("Temperature:",float32(temp)/1000,"°C")pressure,_:=sensor.ReadPressure()println("Pressure",float32(pressure)/100000,"hPa")time.Sleep(2*time.Second) }}
If compiling these examples directly you are likely to need to make minor changes to the defined variables to map the pins for the board you are using. For example, this block in main.go:
var (spi=machine.SPI0csPin=machine.D5)
It might not be obvious, but you need to change these to match how you wired your specific board. Constants aredefined for each supported microcontroller.
For example, to change the definitions for use on a Raspberry Pi Pico using typical wiring, you might need to do this:
var (spi=machine.SPI0csPin=machine.GP17)
Your contributions are welcome!
Please take a look at ourCONTRIBUTING.md document for details.
This project is licensed under the BSD 3-clause license, just like theGo project itself.
About
TinyGo drivers for sensors, displays, wireless adaptors, and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.