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: burobo_reciverV2 Nucleo_Ultrasonic-HCSR4 Test_UltraSonic Ultrasonic2 ... more
Revision 0:86b2086be101, committed 2014-04-14
- Comitter:
- antoniolinux
- Date:
- Mon Apr 14 08:23:09 2014 +0000
- Commit message:
- Second version for ULTRASONIC RANGE, i try it , all work fine, i use an HC-SR04,
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 000000000000 -r 86b2086be101 hcsr04.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hcsr04.cpp Mon Apr 14 08:23:09 2014 +0000
@@ -0,0 +1,29 @@
+#include "hcsr04.h"
+#include "mbed.h"
+/*
+*HCSR04.cpp
+*/
+HCSR04::HCSR04(PinName t, PinName e) : trig(t), echo(e) {}
+ long HCSR04::echo_duration() {
+
+ timer.reset(); //reset timer
+ trig=0; // trigger low
+ wait_us(2); // wait
+ trig=1; // trigger high
+ wait_us(10);
+ trig=0; // trigger low
+ while(!echo); // start pulseIN
+ timer.start();
+ while(echo);
+ timer.stop();
+ return timer.read_us();
+
+}
+
+//return distance in cm
+long HCSR04::distance(){
+ duration = echo_duration();
+ distance_cm = (duration/2)/29.1 ;
+ return distance_cm;
+
+}
\ No newline at end of file
diff -r 000000000000 -r 86b2086be101 hcsr04.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hcsr04.h Mon Apr 14 08:23:09 2014 +0000
@@ -0,0 +1,50 @@
+/* File: HCSR04.h
+ * Author: Antonio Buonanno
+ *Board: STM NUCLEO F401RE,
+ *Hardware: Ultrasonic Range HC-SR04,
+ *
+ *This work derived from Arduino library,
+ *
+ * Desc: driver for HCSR04 Ultrasonic Range Finder. The returned range
+ * is in units of meters.
+ *
+ *
+ *
+*/
+
+/* EXAMPLE
+#include "mbed.h"
+#include "hcsr04.h"
+
+//D12 TRIGGER D11 ECHO
+ HCSR04 sensor(D12, D11);
+int main() {
+ while(1) {
+
+ long distance = sensor.distance();
+ printf("distanza %d \n",distance);
+ wait(1.0); // 1 sec
+
+ }
+}
+*/
+#ifndef hcsr04_H
+#define hcsr04_H
+#include "mbed.h"
+
+
+
+class HCSR04 {
+ public:
+ HCSR04(PinName t, PinName e);
+ long echo_duration();
+ long distance();
+
+ private:
+ DigitalOut trig;
+ DigitalIn echo;
+ Timer timer;
+ long duration,distance_cm;
+};
+
+#endif
\ No newline at end of file