mirror of
https://github.com/hybridgroup/gobot.git
synced 2025-04-26 13:48:49 +08:00
Add GrovePiezoVibrationSensorDriver
This commit is contained in:
parent
81bc4d2374
commit
ae67df6562
@ -36,6 +36,8 @@ const (
|
||||
Error = "error"
|
||||
// Data event
|
||||
Data = "data"
|
||||
// Vibration event
|
||||
Vibration = "vibration"
|
||||
)
|
||||
|
||||
// PwmWriter interface represents an Adaptor which has Pwm capabilities
|
||||
|
@ -11,6 +11,7 @@ var _ gobot.Driver = (*GroveSoundSensorDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveButtonDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveBuzzerDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveLightSensorDriver)(nil)
|
||||
var _ gobot.Driver = (*GrovePiezoVibrationSensorDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveLedDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveRotaryDriver)(nil)
|
||||
var _ gobot.Driver = (*GroveRelayDriver)(nil)
|
||||
@ -31,6 +32,10 @@ type GroveLightSensorDriver struct {
|
||||
*AnalogSensorDriver
|
||||
}
|
||||
|
||||
type GrovePiezoVibrationSensorDriver struct {
|
||||
*AnalogSensorDriver
|
||||
}
|
||||
|
||||
type GroveBuzzerDriver struct {
|
||||
*BuzzerDriver
|
||||
}
|
||||
@ -89,6 +94,22 @@ func NewGroveLightSensorDriver(a AnalogReader, name string, pin string, v ...tim
|
||||
}
|
||||
}
|
||||
|
||||
func NewGrovePiezoVibrationSensorDriver(a AnalogReader, name string, pin string, v ...time.Duration) *GrovePiezoVibrationSensorDriver {
|
||||
sensor := &GrovePiezoVibrationSensorDriver{
|
||||
AnalogSensorDriver: NewAnalogSensorDriver(a, name, pin, v...),
|
||||
}
|
||||
|
||||
sensor.AddEvent(Vibration)
|
||||
|
||||
gobot.On(sensor.Event(Data), func(data interface{}) {
|
||||
if data.(int) == 1023 {
|
||||
gobot.Publish(sensor.Event(Vibration), data)
|
||||
}
|
||||
})
|
||||
|
||||
return sensor
|
||||
}
|
||||
|
||||
func NewGroveSoundSensorDriver(a AnalogReader, name string, pin string, v ...time.Duration) *GroveSoundSensorDriver {
|
||||
return &GroveSoundSensorDriver{
|
||||
AnalogSensorDriver: NewAnalogSensorDriver(a, name, pin, v...),
|
||||
|
Loading…
x
Reference in New Issue
Block a user