~

Dependencies:   4DGL-uLCD-SE SDFileSystem

Committer:
kswanson31
Date:
Sun Sep 25 18:59:05 2016 +0000
Revision:
5:151b0fa1fb44
Parent:
4:f5bc5d9a790b
Child:
6:708e878d4374
Removed part 5, used independejnt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fkhan39 0:570683b2d0c9 1 #include "mbed.h"
fkhan39 0:570683b2d0c9 2
kswanson31 5:151b0fa1fb44 3 // serial com, print statements sent to pc now
kswanson31 5:151b0fa1fb44 4 Serial pc(USBTX, USBRX);
kswanson31 5:151b0fa1fb44 5
kswanson31 5:151b0fa1fb44 6 /* part 1
kswanson31 5:151b0fa1fb44 7 AnalogOut aout(p18);
kswanson31 5:151b0fa1fb44 8 AnalogIn ain(p15);
kswanson31 5:151b0fa1fb44 9 DigitalOut led1(LED1);
kswanson31 5:151b0fa1fb44 10 DigitalOut led2(LED2);
kswanson31 5:151b0fa1fb44 11 DigitalOut led3(LED3);
kswanson31 5:151b0fa1fb44 12 DigitalOut led4(LED4);
kswanson31 5:151b0fa1fb44 13 */
kswanson31 5:151b0fa1fb44 14
kswanson31 5:151b0fa1fb44 15 /* part 8
fkhan39 4:f5bc5d9a790b 16 BusOut myleds(LED1,LED2,LED3,LED4);
kswanson31 5:151b0fa1fb44 17
fkhan39 4:f5bc5d9a790b 18 class microphone
fkhan39 4:f5bc5d9a790b 19 {
fkhan39 4:f5bc5d9a790b 20 public :
fkhan39 4:f5bc5d9a790b 21 microphone(PinName pin);
fkhan39 4:f5bc5d9a790b 22 float read();
fkhan39 4:f5bc5d9a790b 23 operator float ();
fkhan39 4:f5bc5d9a790b 24 private :
fkhan39 4:f5bc5d9a790b 25 AnalogIn _pin;
fkhan39 4:f5bc5d9a790b 26 };
fkhan39 4:f5bc5d9a790b 27 microphone::microphone (PinName pin):
fkhan39 4:f5bc5d9a790b 28 _pin(pin)
fkhan39 4:f5bc5d9a790b 29 {
fkhan39 4:f5bc5d9a790b 30 }
fkhan39 4:f5bc5d9a790b 31 float microphone::read()
fkhan39 4:f5bc5d9a790b 32 {
fkhan39 4:f5bc5d9a790b 33 return _pin.read();
fkhan39 4:f5bc5d9a790b 34 }
fkhan39 4:f5bc5d9a790b 35 inline microphone::operator float ()
fkhan39 4:f5bc5d9a790b 36 {
fkhan39 4:f5bc5d9a790b 37 return _pin.read();
fkhan39 4:f5bc5d9a790b 38 }
fkhan39 4:f5bc5d9a790b 39
fkhan39 4:f5bc5d9a790b 40 microphone mymicrophone(p16);
kswanson31 5:151b0fa1fb44 41 */
fkhan39 0:570683b2d0c9 42
fkhan39 1:4ed94566512a 43 int main()
fkhan39 1:4ed94566512a 44 {
kswanson31 5:151b0fa1fb44 45 /* part 1
fkhan39 1:4ed94566512a 46 const double pi = 3.141592653589793238462;
fkhan39 1:4ed94566512a 47 const double amplitude = 1.0f;
fkhan39 1:4ed94566512a 48 const double offset = 65535/2; // 0xFFFF/2
fkhan39 1:4ed94566512a 49 double rads = 0.0;
fkhan39 1:4ed94566512a 50 uint16_t sample = 0;
kswanson31 5:151b0fa1fb44 51 */
kswanson31 3:99acbebbed6c 52
kswanson31 5:151b0fa1fb44 53 // while(1) {
kswanson31 5:151b0fa1fb44 54 //
kswanson31 5:151b0fa1fb44 55 // /* part 1
kswanson31 5:151b0fa1fb44 56 //
kswanson31 5:151b0fa1fb44 57 // // analog out
kswanson31 5:151b0fa1fb44 58 // for (int i = 0; i < 720; i++) {
kswanson31 5:151b0fa1fb44 59 // rads = (pi * i) / 180.0f;
kswanson31 5:151b0fa1fb44 60 // sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset);
kswanson31 5:151b0fa1fb44 61 // aout.write_u16(sample);
kswanson31 5:151b0fa1fb44 62 // }
kswanson31 5:151b0fa1fb44 63 //
kswanson31 5:151b0fa1fb44 64 // // analog in
kswanson31 5:151b0fa1fb44 65 // led1 = (ain > 0.2f) ? 1 : 0;
kswanson31 5:151b0fa1fb44 66 // led2 = (ain > 0.4f) ? 1 : 0;
kswanson31 5:151b0fa1fb44 67 // led3 = (ain > 0.6f) ? 1 : 0;
kswanson31 5:151b0fa1fb44 68 // led4 = (ain > 0.8f) ? 1 : 0;
kswanson31 5:151b0fa1fb44 69 // wait(.01);
kswanson31 5:151b0fa1fb44 70 // */
kswanson31 5:151b0fa1fb44 71 //
kswanson31 5:151b0fa1fb44 72 // /* part 8
kswanson31 5:151b0fa1fb44 73 // //read in, subtract 0.67 DC bias, take absolute value, and scale up .1Vpp to 15 for builtin LED display
kswanson31 5:151b0fa1fb44 74 // myleds = int(abs((mymicrophone - (0.67/3.3)))*500.0);
kswanson31 5:151b0fa1fb44 75 // //Use an 8kHz audio sample rate (phone quality audio);
kswanson31 5:151b0fa1fb44 76 // wait(1.0/8000.0);
kswanson31 5:151b0fa1fb44 77 // */
kswanson31 5:151b0fa1fb44 78 // }
kswanson31 5:151b0fa1fb44 79 return 0;
kswanson31 5:151b0fa1fb44 80 }