Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed mbed-rtos 4180Final SDFileSystem
microphone.h
00001 #include "mbed.h" 00002 //Adafruit MEMs SPW2430 microphone demo - LEDs display audio level 00003 BusOut led_strip(p21,p22,p23, p24, p25, p26); 00004 PwmOut led1(p21); 00005 PwmOut led2(p22); 00006 PwmOut led3(p23); 00007 PwmOut led4(p24); 00008 PwmOut led5(p25); 00009 PwmOut led6(p26); 00010 00011 class microphone 00012 { 00013 public : 00014 microphone(PinName pin); 00015 float read(); 00016 operator float (); 00017 private : 00018 AnalogIn _pin; 00019 }; 00020 microphone::microphone (PinName pin): 00021 _pin(pin) 00022 { 00023 } 00024 float microphone::read() 00025 { 00026 return _pin.read(); 00027 } 00028 inline microphone::operator float () 00029 { 00030 return _pin.read(); 00031 } 00032 00033 microphone mymicrophone(p16); 00034 00035 int get_sound() 00036 { 00037 //while(1) { 00038 //read in, subtract 0.67 DC bias, take absolute value, and scale up .1Vpp to 15 for builtin LED display 00039 int val = int(abs((mymicrophone - (0.67/3.3)))*500.0); 00040 if(val <= 2.5){ 00041 led_strip = 0b100000; 00042 } else if (2.5 > val && val < 5){ 00043 led_strip = 0b110000; 00044 } else if (val > 5 && val < 7.5){ 00045 led_strip = 0b111000; 00046 } else if (val > 7.5 && val < 10){ 00047 led_strip = 0b111100; 00048 } else if (val > 10 && val < 12.5){ 00049 led_strip = 0b111110; 00050 } else if (val > 12.5 && val < 15){ 00051 led_strip = 0b111111; 00052 } else { 00053 led_strip = 0; 00054 } 00055 wait(0.2); 00056 //Use an 8kHz audio sample rate (phone quality audio); 00057 //wait(1.0/8000.0); 00058 // } 00059 return val; 00060 }
Generated on Sun Jul 17 2022 00:46:16 by
