code: func NewGrovePiezoVibrationSensorDriver(a AnalogReader, pin string, v ...time.Duration) *GrovePiezoVibrationSensorDriver {
  	sensor := &GrovePiezoVibrationSensorDriver{
  		AnalogSensorDriver: NewAnalogSensorDriver(a, pin, v...),
  	}
  
  	sensor.AddEvent(Vibration)
  
  	sensor.On(sensor.Event(Data), func(data interface{}) {
  		if data.(int) > 1000 {
  			sensor.Publish(sensor.Event(Vibration), data)
  		}
  	})
  
  	return sensor
  }
docs: // NewGrovePiezoVibrationSensorDriver returns a new GrovePiezoVibrationSensorDriver with a polling interval of
  // 10 Milliseconds given an AnalogReader and pin.
  //
  // Optionally accepts:
  // 	time.Duration: Interval at which the AnalogSensor is polled for new information
  //
  // Adds the following API Commands:
  // 	"Read" - See AnalogSensor.Read