Brennon Farmer / Mbed 2 deprecated 4180_Final_Project_Menu_Music

Dependencies:   mbed mbed-rtos 4180Final SDFileSystem

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers microphone.h Source File

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 }