gobot.io/x/gobot/v2@v2.1.0/examples/firmata_bme280.go (about)

     1  //go:build example
     2  // +build example
     3  
     4  //
     5  // Do not build by default.
     6  
     7  package main
     8  
     9  import (
    10  	"fmt"
    11  	"os"
    12  	"time"
    13  
    14  	"gobot.io/x/gobot/v2"
    15  	"gobot.io/x/gobot/v2/drivers/i2c"
    16  	"gobot.io/x/gobot/v2/platforms/firmata"
    17  )
    18  
    19  func main() {
    20  	firmataAdaptor := firmata.NewAdaptor(os.Args[1])
    21  	bme280 := i2c.NewBME280Driver(firmataAdaptor)
    22  
    23  	work := func() {
    24  		gobot.Every(1*time.Second, func() {
    25  			t, _ := bme280.Temperature()
    26  			fmt.Println("Temperature", t)
    27  
    28  			p, _ := bme280.Pressure()
    29  			fmt.Println("Pressure", p)
    30  
    31  			a, _ := bme280.Altitude()
    32  			fmt.Println("Altitude", a)
    33  
    34  			h, _ := bme280.Humidity()
    35  			fmt.Println("Humidity", h)
    36  		})
    37  	}
    38  
    39  	robot := gobot.NewRobot("bme280bot",
    40  		[]gobot.Connection{firmataAdaptor},
    41  		[]gobot.Device{bme280},
    42  		work,
    43  	)
    44  
    45  	robot.Start()
    46  }