# I am trying to use two US100 ultrasonic sensors for collision detection in Serial mode but I am only getting reading for "distance2"

**URL:** <https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762>\
**Category:** Sensors\
**Created:** [March 17, 2024, 8:58pm UTC](https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762 "2024-03-17T20:58:53Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![sumitkumar2801](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@sumitkumar2801](https://forum.arduino.cc/u/sumitkumar2801)\
**Post date:** [March 17, 2024, 8:58pm UTC](https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762/1 "2024-03-17T20:58:53Z")

</div>

#include \<SoftwareSerial.h\>

SoftwareSerial mySerial1(3, 2);  
SoftwareSerial mySerial2(5, 4);

unsigned int HighByte1 = 0;  
unsigned int LowByte1 = 0;  
unsigned int Len1 = 0;

unsigned int HighByte2 = 0;  
unsigned int LowByte2 = 0;  
unsigned int Len2 = 0;

void setup() {  
Serial.begin(9600);  
mySerial1.begin(9600);  
mySerial2.begin(9600);

}

void loop() {  
mySerial1.flush();  
mySerial1.write(0X55); // trig US-100 begin to measure the distance  
delay(500);  
if (mySerial1.available() \>= 2) // check receive 2 bytes correctly  
{  
HighByte1 = mySerial1.read();  
LowByte1 = mySerial1.read();  
Len1 = HighByte1 \* 256 + LowByte1; // Calculate the distance  
if ((Len1 \> 1) && (Len1 \< 10000))  
{  
Serial.print("Distance1: ");  
Serial.print(Len1, DEC);  
Serial.println("mm");  
}  
}

mySerial2.flush();  
mySerial2.write(0X55); // trig US-100 to begin measuring the distance  
delay(500);  
if (mySerial2.available() \>= 2)  
{  
HighByte2 = mySerial2.read();  
LowByte2 = mySerial2.read();  
Len2 = HighByte2 \* 256 + LowByte2; // Calculate the distance  
if ((Len2 \> 1) && (Len2 \< 10000))  
{  
Serial.print("Distance2: ");  
Serial.print(Len2, DEC);  
Serial.println("mm");  
}  
}  
}

---

<div class="post-metadata">

**Author:** ![groundFungus](https://avatars.discourse-cdn.com/v4/letter/g/73ab20/32.png) [@groundFungus](https://forum.arduino.cc/u/groundFungus)\
**Post date:** [March 17, 2024, 9:09pm UTC](https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762/2 "2024-03-17T21:09:31Z")

</div>

see here: [https://docs.arduino.cc/tutorials/communication/TwoPortReceive/](https://docs.arduino.cc/tutorials/communication/TwoPortReceive/)

---

<div class="post-metadata">

**Author:** ![sumitkumar2801](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@sumitkumar2801](https://forum.arduino.cc/u/sumitkumar2801)\
**Post date:** [March 19, 2024, 3:08pm UTC](https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762/3 "2024-03-19T15:08:31Z")

</div>

Thank you so much.. the problem is solved..

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [September 15, 2024, 3:08pm UTC](https://forum.arduino.cc/t/i-am-trying-to-use-two-us100-ultrasonic-sensors-for-collision-detection-in-serial-mode-but-i-am-only-getting-reading-for-distance2/1236762/4 "2024-09-15T15:08:58Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
