Advertisement
Nusa_Techno

Ultrasonik A01NYUB

Mar 17th, 2025
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | Source Code | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. SoftwareSerial mySerial(11, 10); // RX, TX
  4. unsigned char data[4] = {};
  5. float distance;
  6.  
  7. void setup()
  8. {
  9.   Serial.begin(57600);
  10.   mySerial.begin(9600);
  11. }
  12.  
  13. void loop()
  14. {
  15.   do {
  16.     for (int i = 0; i < 4; i++)
  17.     {
  18.       data[i] = mySerial.read();
  19.     }
  20.   } while (mySerial.read() == 0xff);
  21.  
  22.   mySerial.flush();
  23.  
  24.   if (data[0] == 0xff)
  25.   {
  26.     int sum;
  27.     sum = (data[0] + data[1] + data[2]) & 0x00FF;
  28.     if (sum == data[3])
  29.     {
  30.       distance = (data[1] << 8) + data[2];
  31.       if (distance > 280)
  32.       {
  33.         Serial.print("distance=");
  34.         Serial.print(distance / 10);
  35.         Serial.println("cm");
  36.       } else
  37.       {
  38.         Serial.println("Below the lower limit");
  39.       }
  40.     } else Serial.println("ERROR");
  41.   }
  42.   delay(150);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement