mirror of
https://github.com/kidoman/embd
synced 2024-11-11 12:08:53 +01:00
44 lines
662 B
Go
44 lines
662 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/kid0m4n/go-rpi/i2c"
|
|
"github.com/kid0m4n/go-rpi/sensor/l3gd20"
|
|
)
|
|
|
|
func main() {
|
|
bus, err := i2c.NewBus(1)
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
gyro := l3gd20.New(bus, l3gd20.R250DPS)
|
|
defer gyro.Close()
|
|
|
|
x, y, z := 0.0, 0.0, 0.0
|
|
dt := 0.02
|
|
|
|
for {
|
|
dx, dy, dz, err := gyro.Orientation()
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
|
|
x += dx * dt
|
|
y += dy * dt
|
|
z += dz * dt
|
|
|
|
log.Printf("Orientation is (%v, %v, %v)", x, y, z)
|
|
|
|
temp, err := gyro.Temperature()
|
|
if err != nil {
|
|
log.Panic(err)
|
|
}
|
|
|
|
log.Printf("Temperature is %v", temp)
|
|
|
|
time.Sleep(time.Duration(dt*1000) * time.Millisecond)
|
|
}
|
|
}
|