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:832c213480a8, 2017-02-16 (annotated)
- Committer:
- fjwats
- Date:
- Thu Feb 16 15:19:30 2017 +0000
- Revision:
- 1:832c213480a8
- Parent:
- 0:6bf5faf294b7
- Child:
- 2:7cb9c966a781
Frank, first commit, no major change
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| iainsc0574 | 0:6bf5faf294b7 | 1 | #include "mbed.h" |
| iainsc0574 | 0:6bf5faf294b7 | 2 | |
| fjwats | 1:832c213480a8 | 3 | #define MAX 0x0A |
| iainsc0574 | 0:6bf5faf294b7 | 4 | |
| iainsc0574 | 0:6bf5faf294b7 | 5 | DigitalOut led_1(LED1); //program running. |
| iainsc0574 | 0:6bf5faf294b7 | 6 | DigitalOut led_2(LED2); //sensors operating. |
| iainsc0574 | 0:6bf5faf294b7 | 7 | DigitalOut led_3(LED3); //is moving. |
| iainsc0574 | 0:6bf5faf294b7 | 8 | DigitalOut led_4(LED4); //is complete. |
| fjwats | 1:832c213480a8 | 9 | |
| fjwats | 1:832c213480a8 | 10 | DigitalOut Bit1(p25); // mux/ pins |
| fjwats | 1:832c213480a8 | 11 | DigitalOut Bit2(p24); // |
| fjwats | 1:832c213480a8 | 12 | DigitalOut Bit3(p23); // |
| iainsc0574 | 0:6bf5faf294b7 | 13 | |
| iainsc0574 | 0:6bf5faf294b7 | 14 | int rawUS_data[5]={0,0,0,0,0}; //raw data{chan1,chan2,chan3,chan4,chan5} |
| fjwats | 1:832c213480a8 | 15 | |
| fjwats | 1:832c213480a8 | 16 | int US1_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; // Structures holding recently recorded distances for each respective |
| fjwats | 1:832c213480a8 | 17 | int US2_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; // ultrasonic sensor. |
| iainsc0574 | 0:6bf5faf294b7 | 18 | int US3_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; |
| iainsc0574 | 0:6bf5faf294b7 | 19 | int US4_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; |
| iainsc0574 | 0:6bf5faf294b7 | 20 | int US5_mean[MAX]={0,0,0,0,0,0,0,0,0,0}; |
| iainsc0574 | 0:6bf5faf294b7 | 21 | |
| iainsc0574 | 0:6bf5faf294b7 | 22 | void setActiveUS(int chan); |
| fjwats | 1:832c213480a8 | 23 | |
| iainsc0574 | 0:6bf5faf294b7 | 24 | int getPing(void); |
| iainsc0574 | 0:6bf5faf294b7 | 25 | |
| iainsc0574 | 0:6bf5faf294b7 | 26 | int main() { |
| iainsc0574 | 0:6bf5faf294b7 | 27 | int iCount = 0; |
| iainsc0574 | 0:6bf5faf294b7 | 28 | int measured = 0; |
| fjwats | 1:832c213480a8 | 29 | |
| iainsc0574 | 0:6bf5faf294b7 | 30 | while(iCount <= 5){ |
| iainsc0574 | 0:6bf5faf294b7 | 31 | setActiveUS(iCount); |
| iainsc0574 | 0:6bf5faf294b7 | 32 | measured = getPing(); |
| iainsc0574 | 0:6bf5faf294b7 | 33 | rawUS_data[iCount] = measured; |
| fjwats | 1:832c213480a8 | 34 | } |
| fjwats | 1:832c213480a8 | 35 | |
| iainsc0574 | 0:6bf5faf294b7 | 36 | US1_mean[0]=rawUS_data[0]; |
| iainsc0574 | 0:6bf5faf294b7 | 37 | US2_mean[0]=rawUS_data[1]; |
| iainsc0574 | 0:6bf5faf294b7 | 38 | US3_mean[0]=rawUS_data[2]; |
| iainsc0574 | 0:6bf5faf294b7 | 39 | US4_mean[0]=rawUS_data[3]; |
| iainsc0574 | 0:6bf5faf294b7 | 40 | US5_mean[0]=rawUS_data[4]; |
| fjwats | 1:832c213480a8 | 41 | |
| iainsc0574 | 0:6bf5faf294b7 | 42 | } |
| iainsc0574 | 0:6bf5faf294b7 | 43 | |
| iainsc0574 | 0:6bf5faf294b7 | 44 | void setActiveUS(int chan){ |
| iainsc0574 | 0:6bf5faf294b7 | 45 | switch(chan){ |
| iainsc0574 | 0:6bf5faf294b7 | 46 | case 0: |
| iainsc0574 | 0:6bf5faf294b7 | 47 | //ultrasonic 1 |
| iainsc0574 | 0:6bf5faf294b7 | 48 | break; |
| iainsc0574 | 0:6bf5faf294b7 | 49 | |
| iainsc0574 | 0:6bf5faf294b7 | 50 | case 1: |
| iainsc0574 | 0:6bf5faf294b7 | 51 | //ultrasonic 2 |
| iainsc0574 | 0:6bf5faf294b7 | 52 | break; |
| iainsc0574 | 0:6bf5faf294b7 | 53 | |
| iainsc0574 | 0:6bf5faf294b7 | 54 | case 2: |
| iainsc0574 | 0:6bf5faf294b7 | 55 | //ultrasonic 3 |
| iainsc0574 | 0:6bf5faf294b7 | 56 | break; |
| iainsc0574 | 0:6bf5faf294b7 | 57 | |
| iainsc0574 | 0:6bf5faf294b7 | 58 | case 3: |
| iainsc0574 | 0:6bf5faf294b7 | 59 | //ultrasonic 4 |
| iainsc0574 | 0:6bf5faf294b7 | 60 | break; |
| iainsc0574 | 0:6bf5faf294b7 | 61 | |
| iainsc0574 | 0:6bf5faf294b7 | 62 | case 4: |
| iainsc0574 | 0:6bf5faf294b7 | 63 | //ultrasonic 5 |
| iainsc0574 | 0:6bf5faf294b7 | 64 | break; |
| iainsc0574 | 0:6bf5faf294b7 | 65 | |
| iainsc0574 | 0:6bf5faf294b7 | 66 | } |
| fjwats | 1:832c213480a8 | 67 | } |
| iainsc0574 | 0:6bf5faf294b7 | 68 | |
| iainsc0574 | 0:6bf5faf294b7 | 69 | int getPing(void){ |
| iainsc0574 | 0:6bf5faf294b7 | 70 | int result=0; |
| iainsc0574 | 0:6bf5faf294b7 | 71 | //write ultrasonic code |
| iainsc0574 | 0:6bf5faf294b7 | 72 | //return measured value |
| iainsc0574 | 0:6bf5faf294b7 | 73 | |
| iainsc0574 | 0:6bf5faf294b7 | 74 | |
| fjwats | 1:832c213480a8 | 75 | return result; //should just do "return [operation that gives result];" for efficiency |
| fjwats | 1:832c213480a8 | 76 | } |
| fjwats | 1:832c213480a8 | 77 |