From 721c5f9728ee0a0380e81c5e91cf4f09a1e3a785 Mon Sep 17 00:00:00 2001 From: KemoNine Date: Fri, 28 Aug 2020 17:45:34 -0400 Subject: [PATCH] Move lux sensor logic to own file while main ui is reworked --- cmd/ui/lux.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 cmd/ui/lux.go diff --git a/cmd/ui/lux.go b/cmd/ui/lux.go new file mode 100644 index 0000000..9a37955 --- /dev/null +++ b/cmd/ui/lux.go @@ -0,0 +1,50 @@ +package ui + +import ( + bh1750 "github.com/d2r2/go-bh1750" + i2c "github.com/d2r2/go-i2c" + logger "github.com/d2r2/go-logger" + "time" +) + +var lg = logger.NewPackageLogger("main", + logger.ErrorLevel, +) + +func main() { + defer logger.FinalizeLogger() + + logger.ChangePackageLogLevel("i2c", logger.ErrorLevel) + logger.ChangePackageLogLevel("bh1750", logger.ErrorLevel) + + // Create new connection to I2C to bh1750 + i2c, err := i2c.NewI2C(0x23, 1) + if err != nil { + lg.Fatal(err) + } + + // Free I2C connection on exit + defer i2c.Close() + + // Setup sensor + sensor := bh1750.NewBH1750() + + // Reset sensor prior to use + err = sensor.Reset(i2c) + if err != nil { + lg.Fatal(err) + } + + // Read sensor value over time + for { + resolution := bh1750.HighResolution + lux, err := sensor.MeasureAmbientLight(i2c, resolution) + if err != nil { + lg.Fatal(err) + } + + println("Illuminance:", lux, "lx") + + time.Sleep(500 * time.Millisecond) + } +}