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.
Dependents: mbed-os-example-FinalReal_copy
Revision 1:0bb5e581bf1b, committed 2019-06-16
- Comitter:
- eunmango
- Date:
- Sun Jun 16 04:49:54 2019 +0000
- Parent:
- 0:0bda99bb39a4
- Commit message:
- s
Changed in this revision
| HCSR04.cpp | Show annotated file Show diff for this revision Revisions of this file |
| HCSR04.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 0bda99bb39a4 -r 0bb5e581bf1b HCSR04.cpp
--- a/HCSR04.cpp Tue Oct 18 14:32:12 2011 +0000
+++ b/HCSR04.cpp Sun Jun 16 04:49:54 2019 +0000
@@ -1,19 +1,12 @@
#include "HCSR04.h"
#include "mbed.h"
-
-HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {}
+Ultrasonic::Ultrasonic(PinName t, PinName e) : trig(t), echo(e) {
+ trig=0;
+}
-// Trigger Echo
-// _______ _____________,,,,,,,,,
-// ____| 10us |_________| 150us-25ms, or 38ms if no obstacle
-//
-
-//return echo duration in us (refer to digram above)
-long HCSR04::echo_duration() {
+int Ultrasonic::echo_duration() {
timer.reset();
- trig = 0;
- wait_us(2);
trig = 1;
wait_us(10);
trig = 0;
@@ -24,18 +17,8 @@
return timer.read_us();
}
-//return distance to nearest obstacle or returns -1
-//if no obstacle within range
-//set sys to cm or inch accordingly
-long HCSR04::distance(int sys){
+int Ultrasonic::distance(){
duration = echo_duration();
- if(duration > 30000)
- return -1;
- distacne_cm = duration /29 / 2 ;
- distance_inc = duration / 74 / 2;
- if (sys)
- return distacne_cm;
- else
- return distance_inc;
-}
-
+ _distance= duration /58 / 2 ;
+ return _distance;
+}
\ No newline at end of file
diff -r 0bda99bb39a4 -r 0bb5e581bf1b HCSR04.h
--- a/HCSR04.h Tue Oct 18 14:32:12 2011 +0000
+++ b/HCSR04.h Sun Jun 16 04:49:54 2019 +0000
@@ -1,39 +1,20 @@
-//Library for controlling ultrasonic module HCSR04
-//Ported by hiawoood from arduino library orgininally created by ITead studio.
-//Instantiate object by supplying the proper pin numbers of "trigger" and "echo"
-//e.g.
-/*
- int main() {
- Ultrasonic sensor(p5, p6);
- while(1){
- long distance = sensor.distance(CM);
- printf("Distance:%d\n");
- wait(0.1);
- }
- }
-*/
-
-
-
-#ifndef HCSR04_H
-#define HCSR04_H
+#ifndef Ultrasonic_H
+#define Ultrasonic_H
#include "mbed.h"
-#define CM 1
-#define INC 0
-
-class HCSR04 {
+class Ultrasonic {
public:
- HCSR04(PinName t, PinName e);
- long echo_duration();
- long distance(int sys);
+ Ultrasonic(PinName t, PinName e);
+ int echo_duration();
+ int distance();
+ int interval;
private:
DigitalOut trig;
DigitalIn echo;
Timer timer;
- long duration,distacne_cm,distance_inc;
+ int duration,_distance;
};
#endif
\ No newline at end of file