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:64fe0ebc42c6, 2020-11-11 (annotated)
- Committer:
- yeongsookim
- Date:
- Wed Nov 11 22:04:30 2020 +0000
- Revision:
- 0:64fe0ebc42c6
distance sensor
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yeongsookim | 0:64fe0ebc42c6 | 1 | #include "mbed.h" |
yeongsookim | 0:64fe0ebc42c6 | 2 | #include "DistanceSensor.h" |
yeongsookim | 0:64fe0ebc42c6 | 3 | #include "Plotting.h" |
yeongsookim | 0:64fe0ebc42c6 | 4 | |
yeongsookim | 0:64fe0ebc42c6 | 5 | //To plot with usb, set as below. |
yeongsookim | 0:64fe0ebc42c6 | 6 | Serial pc(USBTX,USBRX); // Tx, Rx Pin |
yeongsookim | 0:64fe0ebc42c6 | 7 | Plotting plot; |
yeongsookim | 0:64fe0ebc42c6 | 8 | |
yeongsookim | 0:64fe0ebc42c6 | 9 | //Set each gpio to see the output of the psd sensor as a led |
yeongsookim | 0:64fe0ebc42c6 | 10 | DistanceSensor pir (p20); |
yeongsookim | 0:64fe0ebc42c6 | 11 | |
yeongsookim | 0:64fe0ebc42c6 | 12 | //Interrupt is generated every 1ms and degree is increased by 1 |
yeongsookim | 0:64fe0ebc42c6 | 13 | unsigned int uiFlag_50ms = 0; |
yeongsookim | 0:64fe0ebc42c6 | 14 | |
yeongsookim | 0:64fe0ebc42c6 | 15 | void counter_1ms () |
yeongsookim | 0:64fe0ebc42c6 | 16 | { |
yeongsookim | 0:64fe0ebc42c6 | 17 | uiFlag_50ms++; |
yeongsookim | 0:64fe0ebc42c6 | 18 | } |
yeongsookim | 0:64fe0ebc42c6 | 19 | |
yeongsookim | 0:64fe0ebc42c6 | 20 | // Plot distance sensor |
yeongsookim | 0:64fe0ebc42c6 | 21 | int main() |
yeongsookim | 0:64fe0ebc42c6 | 22 | { |
yeongsookim | 0:64fe0ebc42c6 | 23 | wait(1); |
yeongsookim | 0:64fe0ebc42c6 | 24 | |
yeongsookim | 0:64fe0ebc42c6 | 25 | //Set the 1ms thicker. |
yeongsookim | 0:64fe0ebc42c6 | 26 | Ticker ticker_1ms; |
yeongsookim | 0:64fe0ebc42c6 | 27 | ticker_1ms.attach(&counter_1ms,0.001); |
yeongsookim | 0:64fe0ebc42c6 | 28 | |
yeongsookim | 0:64fe0ebc42c6 | 29 | Timer time; |
yeongsookim | 0:64fe0ebc42c6 | 30 | time.start(); |
yeongsookim | 0:64fe0ebc42c6 | 31 | |
yeongsookim | 0:64fe0ebc42c6 | 32 | while(1) { |
yeongsookim | 0:64fe0ebc42c6 | 33 | // Every 50 ms, |
yeongsookim | 0:64fe0ebc42c6 | 34 | if(uiFlag_50ms>=50) { |
yeongsookim | 0:64fe0ebc42c6 | 35 | uiFlag_50ms=0; |
yeongsookim | 0:64fe0ebc42c6 | 36 | |
yeongsookim | 0:64fe0ebc42c6 | 37 | // clear plotting buffer |
yeongsookim | 0:64fe0ebc42c6 | 38 | plot.reset(); |
yeongsookim | 0:64fe0ebc42c6 | 39 | |
yeongsookim | 0:64fe0ebc42c6 | 40 | // put data to buffer |
yeongsookim | 0:64fe0ebc42c6 | 41 | plot.put(pir.getDistance_cm(),0); |
yeongsookim | 0:64fe0ebc42c6 | 42 | |
yeongsookim | 0:64fe0ebc42c6 | 43 | // send buffer |
yeongsookim | 0:64fe0ebc42c6 | 44 | plot.send(&pc); |
yeongsookim | 0:64fe0ebc42c6 | 45 | } |
yeongsookim | 0:64fe0ebc42c6 | 46 | } |
yeongsookim | 0:64fe0ebc42c6 | 47 | } |