Library to control Electret Microphone Amplifier - MAX9814 from adafruit. Allows: To sample analogue voltage to transform into rough sound level. Transfer sound level to visual indicator, volume bar such as 4 LEDs on LPC11U24.
Dependents: MAX9814_LED_Sound_Indicator
MAX9814.h@3:1a773fb0d7e7, 2014-11-02 (annotated)
- Committer:
- andcor02
- Date:
- Sun Nov 02 21:58:31 2014 +0000
- Revision:
- 3:1a773fb0d7e7
- Parent:
- 2:af2a48ef297c
REV 1.01
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andcor02 | 1:cf181e6a2ead | 1 | /* |
andcor02 | 1:cf181e6a2ead | 2 | MAX9814.h - MAX9814 sensor library |
andcor02 | 1:cf181e6a2ead | 3 | Developed by Andrea Corrado |
andcor02 | 1:cf181e6a2ead | 4 | */ |
andcor02 | 1:cf181e6a2ead | 5 | |
andcor02 | 3:1a773fb0d7e7 | 6 | /* |
andcor02 | 3:1a773fb0d7e7 | 7 | Example 'main.cpp' |
andcor02 | 2:af2a48ef297c | 8 | |
andcor02 | 3:1a773fb0d7e7 | 9 | #include "mbed.h" |
andcor02 | 3:1a773fb0d7e7 | 10 | #include "MAX9814.h" |
andcor02 | 3:1a773fb0d7e7 | 11 | Serial pc (USBTX, USBRX); |
andcor02 | 1:cf181e6a2ead | 12 | |
andcor02 | 1:cf181e6a2ead | 13 | |
andcor02 | 3:1a773fb0d7e7 | 14 | MAX9814 mic(p20); |
andcor02 | 3:1a773fb0d7e7 | 15 | |
andcor02 | 3:1a773fb0d7e7 | 16 | int main() |
andcor02 | 3:1a773fb0d7e7 | 17 | { |
andcor02 | 3:1a773fb0d7e7 | 18 | while (1) { |
andcor02 | 3:1a773fb0d7e7 | 19 | mic.volume_indicator(); |
andcor02 | 3:1a773fb0d7e7 | 20 | pc.printf("\n\r Level is %f", mic.sound_level()); |
andcor02 | 3:1a773fb0d7e7 | 21 | } |
andcor02 | 3:1a773fb0d7e7 | 22 | } |
andcor02 | 3:1a773fb0d7e7 | 23 | |
andcor02 | 3:1a773fb0d7e7 | 24 | */ |
andcor02 | 1:cf181e6a2ead | 25 | |
andcor02 | 0:49d2ee7cb020 | 26 | #ifndef MBED_MIC_H |
andcor02 | 0:49d2ee7cb020 | 27 | #define MBED_MIC_H |
andcor02 | 0:49d2ee7cb020 | 28 | |
andcor02 | 0:49d2ee7cb020 | 29 | #include "mbed.h" |
andcor02 | 0:49d2ee7cb020 | 30 | |
andcor02 | 0:49d2ee7cb020 | 31 | class MAX9814 { |
andcor02 | 0:49d2ee7cb020 | 32 | |
andcor02 | 0:49d2ee7cb020 | 33 | public: |
andcor02 | 0:49d2ee7cb020 | 34 | |
andcor02 | 0:49d2ee7cb020 | 35 | MAX9814(PinName pin); |
andcor02 | 0:49d2ee7cb020 | 36 | |
andcor02 | 0:49d2ee7cb020 | 37 | void led_array(float x); |
andcor02 | 0:49d2ee7cb020 | 38 | |
andcor02 | 0:49d2ee7cb020 | 39 | void volume_indicator(); |
andcor02 | 0:49d2ee7cb020 | 40 | |
andcor02 | 0:49d2ee7cb020 | 41 | float calibration(); |
andcor02 | 0:49d2ee7cb020 | 42 | |
andcor02 | 0:49d2ee7cb020 | 43 | float sound_level(); |
andcor02 | 0:49d2ee7cb020 | 44 | |
andcor02 | 0:49d2ee7cb020 | 45 | protected: |
andcor02 | 0:49d2ee7cb020 | 46 | AnalogIn _pin; |
andcor02 | 0:49d2ee7cb020 | 47 | BusOut _led1, _led2, _led3, _led4; |
andcor02 | 0:49d2ee7cb020 | 48 | float _value,_sum,_average; |
andcor02 | 0:49d2ee7cb020 | 49 | int _count; |
andcor02 | 0:49d2ee7cb020 | 50 | float _sample; |
andcor02 | 0:49d2ee7cb020 | 51 | Timer _t,_t1; |
andcor02 | 0:49d2ee7cb020 | 52 | }; |
andcor02 | 0:49d2ee7cb020 | 53 | |
andcor02 | 0:49d2ee7cb020 | 54 | #endif |