-
Notifications
You must be signed in to change notification settings - Fork 2
/
Ultra_US_100.ino
28 lines (26 loc) · 1.38 KB
/
Ultra_US_100.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// the US-100 module has jumper cap on the back.
unsigned int HighLen = 0;
unsigned int LowLen = 0;
unsigned int Len_mm = 0;
void setup() {
// connect RX (Pin 0 of Arduino digital IO) to Echo/Rx (US-100), TX (Pin 1 of Arduino digital IO) to Trig/Tx (US-100)
Serial.begin(9600); // set baudrate as 9600bps.
}
void loop() {
Serial.flush(); // clear receive buffer of serial port
Serial.write(0X55); // trig US-100 begin to measure the distance
delay(500); // delay 500ms to wait result
if(Serial.available() >= 2) // when receive 2 bytes
{
HighLen = Serial.read(); // High byte of distance
LowLen = Serial.read(); // Low byte of distance
Len_mm = HighLen*256 + LowLen; // Calculate the distance
if((Len_mm > 1) && (Len_mm < 10000)) // normal distance should between 1mm and 10000mm (1mm, 10m)
{
Serial.print("Present Length is: "); // output the result to serial monitor
Serial.print(Len_mm, DEC); // output the result to serial monitor
Serial.println("mm"); // output the result to serial monitor
}
}
delay(500); // wait 500ms
}