Skip to content

Commit 60135cd

Browse files
committed
update example
1 parent 88f3d1f commit 60135cd

File tree

4 files changed

+54
-67
lines changed

4 files changed

+54
-67
lines changed

examples/Blinker_SR04/SR04_BLE/SR04_BLE.ino

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
#include <modules/Ultrasonic.h>
77

8-
Ultrasonic SR04(9,8);
8+
Ultrasonic SR04(9, 8);// Trig, Echo
99

1010
void setup()
1111
{
@@ -31,9 +31,9 @@ void loop()
3131
Blinker.print("millis", BlinkerTime);
3232
}
3333

34-
BLINKER_LOG3("SR04: ", SR04.Ranging(CM), " cm");
34+
BLINKER_LOG3("SR04: ", SR04.cm(), " cm");
3535

36-
Blinker.print("SR04", SR04.Ranging(CM));
36+
Blinker.print("SR04", SR04.cm());
3737

3838
Blinker.delay(1000);
3939
}

examples/Blinker_SR04/SR04_WiFi/SR04_WiFi.ino

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ char pswd[] = "<Your WiFi network WPA password or WEP key>";
88

99
#include <modules/Ultrasonic.h>
1010

11-
Ultrasonic SR04(9,8);
11+
Ultrasonic SR04(9, 8);// Trig, Echo
1212

1313
void setup()
1414
{
@@ -34,9 +34,9 @@ void loop()
3434
Blinker.print("millis", BlinkerTime);
3535
}
3636

37-
BLINKER_LOG3("SR04: ", SR04.Ranging(CM), " cm");
37+
BLINKER_LOG3("SR04: ", SR04.cm(), " cm");
3838

39-
Blinker.print("SR04", SR04.Ranging(CM));
39+
Blinker.print("SR04", SR04.cm());
4040

4141
Blinker.delay(1000);
4242
}

src/modules/Ultrasonic.cpp

Lines changed: 37 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,52 @@
1-
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
2-
// GitHub: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04
3-
// #### LICENSE ####
4-
// This code is licensed under Creative Commons Share alike
5-
// and Attribution by J.Rodrigo ( http://www.jrodrigo.net ).
6-
71
#if ARDUINO >= 100
8-
#include "Arduino.h"
2+
#include "Arduino.h"
93
#else
10-
#include "WProgram.h"
4+
#include "WProgram.h"
115
#endif
126

137
#include "Ultrasonic.h"
148

15-
Ultrasonic::Ultrasonic(int TP, int EP)
9+
Ultrasonic::Ultrasonic(uint8_t TP, uint8_t EP, uint32_t TO)
1610
{
17-
pinMode(TP,OUTPUT);
18-
pinMode(EP,INPUT);
19-
Trig_pin=TP;
20-
Echo_pin=EP;
21-
Time_out=30000; // 3000 µs = 50cm // 30000 µs = 5 m
11+
pinMode(TP,OUTPUT);
12+
pinMode(EP,INPUT);
13+
Trig_pin = TP;
14+
Echo_pin = EP;
15+
Time_out = TO;
2216
}
2317

24-
Ultrasonic::Ultrasonic(int TP, int EP, long TO)
18+
uint32_t Ultrasonic::cm()
2519
{
26-
pinMode(TP,OUTPUT);
27-
pinMode(EP,INPUT);
28-
Trig_pin=TP;
29-
Echo_pin=EP;
30-
Time_out=TO;
31-
}
20+
uint32_t duration, distance_cm;
3221

33-
long Ultrasonic::Timing()
34-
{
35-
digitalWrite(Trig_pin, LOW);
36-
delayMicroseconds(2);
37-
digitalWrite(Trig_pin, HIGH);
38-
delayMicroseconds(10);
39-
digitalWrite(Trig_pin, LOW);
40-
duration = pulseIn(Echo_pin,HIGH,Time_out);
41-
if ( duration == 0 ) {
42-
duration = Time_out; }
43-
return duration;
22+
digitalWrite(Trig_pin, LOW);
23+
delayMicroseconds(2);
24+
digitalWrite(Trig_pin, HIGH);
25+
delayMicroseconds(10);
26+
digitalWrite(Trig_pin, LOW);
27+
duration = pulseIn(Echo_pin,HIGH,Time_out);
28+
if ( duration == 0 ) {
29+
duration = Time_out;
30+
}
31+
32+
distance_cm = duration /29 / 2 ;
33+
return distance_cm;
4434
}
4535

46-
long Ultrasonic::Ranging(int sys)
36+
uint32_t Ultrasonic::inch()
4737
{
48-
Timing();
49-
if (sys) {
50-
distance_cm = duration /29 / 2 ;
51-
return distance_cm;
52-
} else {
53-
distance_inc = duration / 74 / 2;
54-
return distance_inc; }
38+
uint32_t duration, distance_inc;
39+
40+
digitalWrite(Trig_pin, LOW);
41+
delayMicroseconds(2);
42+
digitalWrite(Trig_pin, HIGH);
43+
delayMicroseconds(10);
44+
digitalWrite(Trig_pin, LOW);
45+
duration = pulseIn(Echo_pin,HIGH,Time_out);
46+
if ( duration == 0 ) {
47+
duration = Time_out;
48+
}
49+
50+
distance_inc = duration / 74 / 2;
51+
return distance_inc;
5552
}

src/modules/Ultrasonic.h

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,24 @@
1-
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
2-
// GitHub: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04
3-
// #### LICENSE ####
4-
// This code is licensed under Creative Commons Share alike
5-
// and Attribution by J.Rodrigo ( http://www.jrodrigo.net ).
6-
71
#ifndef Ultrasonic_h
82
#define Ultrasonic_h
93

104
#if ARDUINO >= 100
11-
#include "Arduino.h"
5+
#include "Arduino.h"
126
#else
13-
#include "WProgram.h"
7+
#include "WProgram.h"
148
#endif
159

16-
#define CM 1
17-
#define INC 0
18-
1910
class Ultrasonic
2011
{
21-
public:
22-
Ultrasonic(int TP, int EP);
23-
Ultrasonic(int TP, int EP, long TO);
24-
long Timing();
25-
long Ranging(int sys);
12+
public:
13+
Ultrasonic(uint8_t TP, uint8_t EP, uint32_t TO = 30000);
14+
// 3000 µs = 50cm // 30000 µs = 5 m
15+
uint32_t cm();
16+
uint32_t inch();
2617

27-
private:
28-
int Trig_pin;
29-
int Echo_pin;
30-
long Time_out;
31-
long duration,distance_cm,distance_inc;
18+
private:
19+
uint8_t Trig_pin;
20+
uint8_t Echo_pin;
21+
uint32_t Time_out;
3222
};
3323

3424
#endif

0 commit comments

Comments
 (0)