mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-03 06:27:47 +00:00
bee7422c3a
Fix HTS221, LPS22HB and APDS9960 drivers and their examples for Arduino Nano 33 BLE: * Update hts221_nano_33_ble.go * Update lps22hb_nano_33_ble.go * Update apds9960_nano_33_ble.go
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"machine"
|
|
"time"
|
|
|
|
"tinygo.org/x/drivers/apds9960"
|
|
)
|
|
|
|
func main() {
|
|
|
|
// use Nano 33 BLE Sense's internal I2C bus
|
|
machine.I2C1.Configure(machine.I2CConfig{
|
|
SCL: machine.SCL1_PIN,
|
|
SDA: machine.SDA1_PIN,
|
|
Frequency: machine.TWI_FREQ_400KHZ,
|
|
})
|
|
|
|
sensor := apds9960.New(machine.I2C1)
|
|
|
|
sensor.Configure(apds9960.Configuration{}) // use default settings
|
|
|
|
if !sensor.Connected() {
|
|
println("APDS-9960 not connected!")
|
|
return
|
|
}
|
|
|
|
sensor.EnableGesture() // enable gesture engine
|
|
|
|
for {
|
|
|
|
// wave your hand (not too slow) about 10 cm above the sensor
|
|
if sensor.GestureAvailable() {
|
|
|
|
gesture := sensor.ReadGesture()
|
|
print("Detected gesture: ")
|
|
switch gesture {
|
|
case apds9960.GESTURE_UP: // the nRF52 chip is "up"
|
|
println("Up")
|
|
case apds9960.GESTURE_DOWN:
|
|
println("Down")
|
|
case apds9960.GESTURE_LEFT:
|
|
println("Left")
|
|
case apds9960.GESTURE_RIGHT:
|
|
println("Right")
|
|
}
|
|
}
|
|
// note: the delay shouldn't be too long, otherwise new gesture data might be lost
|
|
time.Sleep(time.Millisecond * 250)
|
|
}
|
|
|
|
}
|