CodeShare
Dependencies: mbed
Fork of SPW2430_Microphone_Hello_World by
main.cpp@0:1a0cc42c459d, 2015-11-28 (annotated)
- Committer:
- 4180_1
- Date:
- Sat Nov 28 01:48:05 2015 +0000
- Revision:
- 0:1a0cc42c459d
ver 1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
4180_1 | 0:1a0cc42c459d | 1 | #include "mbed.h" |
4180_1 | 0:1a0cc42c459d | 2 | //Adafruit MEMs SPW2430 microphone demo - LEDs display audio level |
4180_1 | 0:1a0cc42c459d | 3 | BusOut myleds(LED1,LED2,LED3,LED4); |
4180_1 | 0:1a0cc42c459d | 4 | |
4180_1 | 0:1a0cc42c459d | 5 | class microphone |
4180_1 | 0:1a0cc42c459d | 6 | { |
4180_1 | 0:1a0cc42c459d | 7 | public : |
4180_1 | 0:1a0cc42c459d | 8 | microphone(PinName pin); |
4180_1 | 0:1a0cc42c459d | 9 | float read(); |
4180_1 | 0:1a0cc42c459d | 10 | operator float (); |
4180_1 | 0:1a0cc42c459d | 11 | private : |
4180_1 | 0:1a0cc42c459d | 12 | AnalogIn _pin; |
4180_1 | 0:1a0cc42c459d | 13 | }; |
4180_1 | 0:1a0cc42c459d | 14 | microphone::microphone (PinName pin): |
4180_1 | 0:1a0cc42c459d | 15 | _pin(pin) |
4180_1 | 0:1a0cc42c459d | 16 | { |
4180_1 | 0:1a0cc42c459d | 17 | } |
4180_1 | 0:1a0cc42c459d | 18 | float microphone::read() |
4180_1 | 0:1a0cc42c459d | 19 | { |
4180_1 | 0:1a0cc42c459d | 20 | return _pin.read(); |
4180_1 | 0:1a0cc42c459d | 21 | } |
4180_1 | 0:1a0cc42c459d | 22 | inline microphone::operator float () |
4180_1 | 0:1a0cc42c459d | 23 | { |
4180_1 | 0:1a0cc42c459d | 24 | return _pin.read(); |
4180_1 | 0:1a0cc42c459d | 25 | } |
4180_1 | 0:1a0cc42c459d | 26 | |
4180_1 | 0:1a0cc42c459d | 27 | microphone mymicrophone(p16); |
4180_1 | 0:1a0cc42c459d | 28 | |
4180_1 | 0:1a0cc42c459d | 29 | int main() |
4180_1 | 0:1a0cc42c459d | 30 | { |
4180_1 | 0:1a0cc42c459d | 31 | while(1) { |
4180_1 | 0:1a0cc42c459d | 32 | //read in, subtract 0.67 DC bias, take absolute value, and scale up .1Vpp to 15 for builtin LED display |
4180_1 | 0:1a0cc42c459d | 33 | myleds = int(abs((mymicrophone - (0.67/3.3)))*500.0); |
4180_1 | 0:1a0cc42c459d | 34 | //Use an 8kHz audio sample rate (phone quality audio); |
4180_1 | 0:1a0cc42c459d | 35 | wait(1.0/8000.0); |
4180_1 | 0:1a0cc42c459d | 36 | } |
4180_1 | 0:1a0cc42c459d | 37 | } |