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
main.cpp@1:506c8ffad3d8, 2015-10-06 (annotated)
- Committer:
- ycai47
- Date:
- Tue Oct 06 19:17:32 2015 +0000
- Revision:
- 1:506c8ffad3d8
- Parent:
- 0:1dbc25c03bad
ECE4180 lab2 part 1
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| ldeng31 | 0:1dbc25c03bad | 1 | #include "mbed.h" |
| ycai47 | 1:506c8ffad3d8 | 2 | |
| ycai47 | 1:506c8ffad3d8 | 3 | DigitalOut dout1(LED1); |
| ycai47 | 1:506c8ffad3d8 | 4 | DigitalOut dout2(LED2); |
| ycai47 | 1:506c8ffad3d8 | 5 | DigitalOut dout3(LED3); |
| ycai47 | 1:506c8ffad3d8 | 6 | DigitalOut dout4(LED4); |
| ycai47 | 1:506c8ffad3d8 | 7 | AnalogIn ain(p15); |
| ldeng31 | 0:1dbc25c03bad | 8 | // The sinewave is created on this pin |
| ldeng31 | 0:1dbc25c03bad | 9 | AnalogOut aout(p18); |
| ycai47 | 1:506c8ffad3d8 | 10 | |
| ldeng31 | 0:1dbc25c03bad | 11 | int main() |
| ldeng31 | 0:1dbc25c03bad | 12 | { |
| ldeng31 | 0:1dbc25c03bad | 13 | const double pi = 3.141592653589793238462; |
| ldeng31 | 0:1dbc25c03bad | 14 | const double amplitude = 0.5f; |
| ldeng31 | 0:1dbc25c03bad | 15 | const double offset = 65535/2; |
| ldeng31 | 0:1dbc25c03bad | 16 | double rads = 0.0; |
| ldeng31 | 0:1dbc25c03bad | 17 | uint16_t sample = 0; |
| ldeng31 | 0:1dbc25c03bad | 18 | |
| ldeng31 | 0:1dbc25c03bad | 19 | while(1) { |
| ldeng31 | 0:1dbc25c03bad | 20 | // sinewave output |
| ldeng31 | 0:1dbc25c03bad | 21 | for (int i = 0; i < 360; i++) { |
| ldeng31 | 0:1dbc25c03bad | 22 | rads = (pi * i) / 180.0f; |
| ldeng31 | 0:1dbc25c03bad | 23 | sample = (uint16_t)(amplitude * (offset * (cos(rads + pi))) + offset); |
| ldeng31 | 0:1dbc25c03bad | 24 | aout.write_u16(sample); |
| ldeng31 | 0:1dbc25c03bad | 25 | } |
| ycai47 | 1:506c8ffad3d8 | 26 | |
| ycai47 | 1:506c8ffad3d8 | 27 | //Sharp IR sensor display |
| ycai47 | 1:506c8ffad3d8 | 28 | if (ain.read() > 0.9f) //less than 7 cm |
| ycai47 | 1:506c8ffad3d8 | 29 | { |
| ycai47 | 1:506c8ffad3d8 | 30 | dout1 = 1; |
| ycai47 | 1:506c8ffad3d8 | 31 | dout2 = 1; |
| ycai47 | 1:506c8ffad3d8 | 32 | dout3 = 1; |
| ycai47 | 1:506c8ffad3d8 | 33 | dout4 = 1; |
| ycai47 | 1:506c8ffad3d8 | 34 | } |
| ycai47 | 1:506c8ffad3d8 | 35 | else if (ain.read() > 0.68f && ain.read() <= 0.9f) //7-10 |
| ycai47 | 1:506c8ffad3d8 | 36 | { |
| ycai47 | 1:506c8ffad3d8 | 37 | dout1 = 0; |
| ycai47 | 1:506c8ffad3d8 | 38 | dout2 = 1; |
| ycai47 | 1:506c8ffad3d8 | 39 | dout3 = 1; |
| ycai47 | 1:506c8ffad3d8 | 40 | dout4 = 1; |
| ycai47 | 1:506c8ffad3d8 | 41 | } |
| ycai47 | 1:506c8ffad3d8 | 42 | else if (ain.read() > 0.53f && ain.read() <= 0.68f) //10-13 |
| ycai47 | 1:506c8ffad3d8 | 43 | { |
| ycai47 | 1:506c8ffad3d8 | 44 | dout1 = 0; |
| ycai47 | 1:506c8ffad3d8 | 45 | dout2 = 0; |
| ycai47 | 1:506c8ffad3d8 | 46 | dout3 = 1; |
| ycai47 | 1:506c8ffad3d8 | 47 | dout4 = 1; |
| ycai47 | 1:506c8ffad3d8 | 48 | } |
| ycai47 | 1:506c8ffad3d8 | 49 | else if (ain.read() > 0.45f && ain.read() <= 0.53f) //13-17 |
| ycai47 | 1:506c8ffad3d8 | 50 | { |
| ycai47 | 1:506c8ffad3d8 | 51 | dout1 = 0; |
| ycai47 | 1:506c8ffad3d8 | 52 | dout2 = 0; |
| ycai47 | 1:506c8ffad3d8 | 53 | dout3 = 0; |
| ycai47 | 1:506c8ffad3d8 | 54 | dout4 = 1; |
| ycai47 | 1:506c8ffad3d8 | 55 | } |
| ycai47 | 1:506c8ffad3d8 | 56 | else //greater than 17 |
| ycai47 | 1:506c8ffad3d8 | 57 | { |
| ycai47 | 1:506c8ffad3d8 | 58 | |
| ycai47 | 1:506c8ffad3d8 | 59 | dout1 = 0; |
| ycai47 | 1:506c8ffad3d8 | 60 | dout2 = 0; |
| ycai47 | 1:506c8ffad3d8 | 61 | dout3 = 0; |
| ycai47 | 1:506c8ffad3d8 | 62 | dout4 = 0; |
| ycai47 | 1:506c8ffad3d8 | 63 | } |
| ldeng31 | 0:1dbc25c03bad | 64 | } |
| ldeng31 | 0:1dbc25c03bad | 65 | } |