Grove soundsensor lib
soundsensor.cpp
- Committer:
- math991e
- Date:
- 2019-01-23
- Revision:
- 7:6f0c583b4f54
- Parent:
- 6:fb51a4b71646
- Child:
- 8:5b4b258eb1da
File content as of revision 7:6f0c583b4f54:
#include "soundsensor.h" soundsensor::soundsensor(PinName pin){ soundsensor::setPin(pin); } void soundsensor::setPin(PinName pin){ this->_pin=pin; } PinName soundsensor::getPin(){ return this->_pin; } float soundsensor::convertToDb(float value){ return 16.801 * log(value/65535) + 9.872; } float soundsensor::revertFromDb(float value){ /** *CODE NEEDS TO BE IMPLEMENTED **/ return 0; } float soundsensor::listen(bool toDb){ AnalogIn sensor(this->getPin()); int values[] = {}; float sum; float average; for(int i=0;i<100;i++){ values[i] = soundSensor.read() * 3.3; wait(0.0001); } for(int j=0;j<100;j++){ sum += values[j]; } average = sum/100; if(toDb){ return this->convertToDb(average); }else{ return average; } }