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.
main.cpp@0:d3f1f650e365, 2014-03-29 (annotated)
- Committer:
- Faridzaher
- Date:
- Sat Mar 29 04:15:35 2014 +0000
- Revision:
- 0:d3f1f650e365
First Version;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Faridzaher | 0:d3f1f650e365 | 1 | #include "mbed.h" |
| Faridzaher | 0:d3f1f650e365 | 2 | #include "SonicD.h" |
| Faridzaher | 0:d3f1f650e365 | 3 | |
| Faridzaher | 0:d3f1f650e365 | 4 | /*class SonicD{ |
| Faridzaher | 0:d3f1f650e365 | 5 | public: |
| Faridzaher | 0:d3f1f650e365 | 6 | InterruptIn nombre;//(sonicPW); |
| Faridzaher | 0:d3f1f650e365 | 7 | Timer t; |
| Faridzaher | 0:d3f1f650e365 | 8 | SonicD(PinName sonicPW) : nombre(sonicPW){ |
| Faridzaher | 0:d3f1f650e365 | 9 | nombre.rise(this, &SonicD::rise_int); |
| Faridzaher | 0:d3f1f650e365 | 10 | nombre.fall(this, &SonicD::get_uS); |
| Faridzaher | 0:d3f1f650e365 | 11 | } |
| Faridzaher | 0:d3f1f650e365 | 12 | |
| Faridzaher | 0:d3f1f650e365 | 13 | volatile float dcm; |
| Faridzaher | 0:d3f1f650e365 | 14 | volatile float din; |
| Faridzaher | 0:d3f1f650e365 | 15 | |
| Faridzaher | 0:d3f1f650e365 | 16 | float getIn(){ |
| Faridzaher | 0:d3f1f650e365 | 17 | din = uS/147.0; |
| Faridzaher | 0:d3f1f650e365 | 18 | return din; |
| Faridzaher | 0:d3f1f650e365 | 19 | } |
| Faridzaher | 0:d3f1f650e365 | 20 | float getCm(){ |
| Faridzaher | 0:d3f1f650e365 | 21 | dcm = (uS/147.0)*2.54; |
| Faridzaher | 0:d3f1f650e365 | 22 | return dcm; |
| Faridzaher | 0:d3f1f650e365 | 23 | } |
| Faridzaher | 0:d3f1f650e365 | 24 | void rise_int(){ |
| Faridzaher | 0:d3f1f650e365 | 25 | t.start(); |
| Faridzaher | 0:d3f1f650e365 | 26 | } |
| Faridzaher | 0:d3f1f650e365 | 27 | void get_uS(){ |
| Faridzaher | 0:d3f1f650e365 | 28 | uS = t.read_us(); |
| Faridzaher | 0:d3f1f650e365 | 29 | t.reset(); |
| Faridzaher | 0:d3f1f650e365 | 30 | } |
| Faridzaher | 0:d3f1f650e365 | 31 | |
| Faridzaher | 0:d3f1f650e365 | 32 | private: |
| Faridzaher | 0:d3f1f650e365 | 33 | volatile int uS; |
| Faridzaher | 0:d3f1f650e365 | 34 | }; |
| Faridzaher | 0:d3f1f650e365 | 35 | */ |
| Faridzaher | 0:d3f1f650e365 | 36 | //--------------------------------------------------------------------- |
| Faridzaher | 0:d3f1f650e365 | 37 | |
| Faridzaher | 0:d3f1f650e365 | 38 | Serial pc(USBTX, USBRX); |
| Faridzaher | 0:d3f1f650e365 | 39 | SonicD sensor(PTA12); |
| Faridzaher | 0:d3f1f650e365 | 40 | |
| Faridzaher | 0:d3f1f650e365 | 41 | int main() { |
| Faridzaher | 0:d3f1f650e365 | 42 | while(1){ |
| Faridzaher | 0:d3f1f650e365 | 43 | wait(0.2); |
| Faridzaher | 0:d3f1f650e365 | 44 | int x = sensor.getIn(); |
| Faridzaher | 0:d3f1f650e365 | 45 | int y = sensor.getCm(); |
| Faridzaher | 0:d3f1f650e365 | 46 | pc.printf("%i in\t%i cm\n", x, y); |
| Faridzaher | 0:d3f1f650e365 | 47 | } |
| Faridzaher | 0:d3f1f650e365 | 48 | } |