~
Dependencies: 4DGL-uLCD-SE SDFileSystem
main.cpp@5:151b0fa1fb44, 2016-09-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |