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