Example Code for Arduino-Distance Measurement
Last revision 2025/12/20
This article offers an in-depth guide to setting up and coding for distance measurement using an Arduino UNO and A01NYUB ultrasonic sensor, including hardware requirements, software preparation, wiring instructions, sample code, and expected output results.
Hardware Preparation
- Arduino UNO
- UNO IO Sensor Expansion Board
- A01NYUB Ultrasonic Sensor
- 4P Connector
Software Preparation
- Arduino IDE (download from Arduino Official Website)
- SoftwareSerial library (included with Arduino IDE)
Wiring Diagram

Sample Code
/*
@File : DFRobot_Distance_A01.ino
@Brief : This example use A01NYUB ultrasonic sensor to measure distance
With initialization completed, We can get distance value
@Copyright [DFRobot](https://www.dfrobot.com),2016
GUN Lesser General Pulic License
@version V1.0
@data 2019-8-28
*/
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // RX, TX
unsigned char data[4] = {};
float distance;
void setup()
{
Serial.begin(57600);
mySerial.begin(9600);
}
void loop()
{
do {
for (int i = 0; i < 4; i++)
{
data[i] = mySerial.read();
}
} while (mySerial.read() == 0xff);
mySerial.flush();
if (data[0] == 0xff)
{
int sum;
sum = (data[0] + data[1] + data[2]) & 0x00FF;
if (sum == data[3])
{
distance = (data[1] << 8) + data[2];
if (distance > 280)
{
Serial.print("distance=");
Serial.print(distance / 10);
Serial.println("cm");
} else
{
Serial.println("Below the lower limit");
}
} else Serial.println("ERROR");
}
delay(150);
}
Result
- When the measured distance is above 28cm, the serial monitor will output "distance=X cm" (X is the measured distance in centimeters).
- When the measured distance is below 28cm, the serial monitor will output "Below the lower limit".
- If the checksum is incorrect, the serial monitor will output "ERROR".
Was this article helpful?
