รหัสสินค้า | AS00348 |
หมวดหมู่ | LIDAR / เซ็นเซอร์วัดระยะทาง / ความเร็ว Distance / Speed |
ราคา | 2,185.00 บาท |
สถานะสินค้า | พร้อมส่ง |
จำนวน | ชิ้น |
Introduction
Ultrasonic distance sensor determines the distance to a target by measuring time lapses between the sending and receiving of the ultrasonic pulse. A01NYUB is an waterproof ultrasoinic sensor module with 7.5m effective ranging distance. It is compatible with 3.3V~5V device like Arduino, Raspberry Pi, etc. The average current of A01NYUB is only 15mA so it can be powered by most controllers' IO port.
The ultrasonic sensor adopts closed probe of transmitter & receiver, waterproof and dustproof, which could be well suitable for harsh and moist measuring environment. It reserves 2.54-4P interface and adopts UART communication. ME007YS ultrasonic sensor has experienced long-term test and constant optimization so it can offer a pretty fast response time, high stability and sensitivity, and low power consumption.
Use the sensor with Arduino controller to build up your projects, such as backing car annunciator, obstacle avoidance robot, object approaching detection etc.
Specification
Features
Installation Dimension
Label | Name | Description |
---|---|---|
1 | VCC | Power Input |
2 | GND | Ground |
3 | RX | Processed Value/Real-time Value Output Selection |
4 | TX | UART Output |
Output Communication
When "RX" floats or input High level, the module outputs processed value, the data is more steady, response time: 150-300ms; when input Low level, the module outputs real-time value, response time: 150ms.
UART | Data bit | Stop bit | Parity | Band rate |
---|---|---|---|---|
TTL level | 8 | 1 | none | 9600bps |
UART Output Form
Frame Data | Description | Byte |
---|---|---|
Header | 0xFF | 1 byte |
DATA_H | Distance Data High 8-bits | 1 byte |
DATA_L | Distance Data Low 8-bits | 1 byte |
SUM | Checksum | 1 byte |
UART Output
Header | DATA_H | DATA_L | SUM |
---|---|---|---|
0xFF | 0x07 | 0xA1 | 0xA7 |
Note: checksum only reserves the low 8-bits of the accumulated value.
SUM=(Header+Data_H+Data_L)&0x00FF
=(0XFF + 0X07 + 0XA1)&0x00FF
=0XA7;
Distance= Data_H*256+ Data_L=0X07A1;
Equal to 1953 when converted into decimal;
Represent the current measured distance is 1953mm.
Preparation
Connection
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 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);
}
Preparation
Raspberry Pi Connection
Sample Code
Download the Ultrasonic Sensor Library
# -*- coding:utf-8 -*-
'''
# demo_get_distance.py
#
# Connect board with raspberryPi.
# Run this demo.
#
# Connect A01 to UART
# get the distance value
#
# Copyright [DFRobot](https://www.dfrobot.com), 2016
# Copyright GNU Lesser General Public License
#
# version V1.0
# date 2019-8-31
'''
import time
from DFRobot_RaspberryPi_A02YYUW import DFRobot_A02_Distance as Board
board = Board()
def print_distance(dis):
if board.last_operate_status == board.STA_OK:
print("Distance %d mm" %dis)
elif board.last_operate_status == board.STA_ERR_CHECKSUM:
print("ERROR")
elif board.last_operate_status == board.STA_ERR_SERIAL:
print("Serial open failed!")
elif board.last_operate_status == board.STA_ERR_CHECK_OUT_LIMIT:
print("Above the upper limit: %d" %dis)
elif board.last_operate_status == board.STA_ERR_CHECK_LOW_LIMIT:
print("Below the lower limit: %d" %dis)
elif board.last_operate_status == board.STA_ERR_DATA:
print("No data!")
if __name__ == "__main__":
dis_min = 0 #Minimum ranging threshold: 0mm
dis_max = 7500 #Highest ranging threshold: 7500mm
board.set_dis_range(dis_min, dis_max)
while True:
distance = board.getDistance()
print_distance(distance)
time.sleep(0.3) #Delay time < 0.6s
ชำระเงินค่าสินค้าโดยการโอนเงินเข้าบัญชีธนาคาร KBANK, SCB, BBL,TMB
กรุณาเก็บหลักฐานการโอนเงินของท่านไว้เพื่อแจ้งการชำระเงินด้วยค่ะ
ท่านสามารถแจ้งการชำระเงินผ่านระบบอัตโนมัติได้โดย Click Link ข้างล่างค่ะ
https://www.arduitronics.com/informpayment
หน้าที่เข้าชม | 15,375,197 ครั้ง |
ผู้ชมทั้งหมด | 5,878,275 ครั้ง |
เปิดร้าน | 21 พ.ค. 2556 |
ร้านค้าอัพเดท | 5 ก.ย. 2568 |