1
0
mirror of https://github.com/kidoman/embd synced 2024-06-06 19:17:49 +02:00
embd/samples/ina219.go
2016-05-22 09:33:55 -06:00

55 lines
755 B
Go

// +build ignore
package main
import (
"flag"
"fmt"
"time"
"github.com/kidoman/embd"
"github.com/kidoman/embd/sensor/ina219"
_ "github.com/kidoman/embd/host/all"
)
func main() {
flag.Parse()
if err := embd.InitI2C(); err != nil {
panic(err)
}
defer embd.CloseI2C()
bus := embd.NewI2CBus(1)
ina := ina219.New(bus, 0x40, 0.001)
defer ina.Close()
for {
sv, err := ina.ShuntVoltage()
if err != nil {
panic(err)
}
v, err := ina.Voltage()
if err != nil {
panic(err)
}
c, err := ina.Current()
if err != nil {
panic(err)
}
p, err := ina.Power()
if err != nil {
panic(err)
}
fmt.Printf("Shunt Voltage=%v Voltage=%v Current=%v Power=%v \n", sv, v, c, p)
time.Sleep(500 * time.Millisecond)
}
}