Ultrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobot

Ultrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobot
Ultrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobotUltrasonic 9-in-1 RS485 Weather Sensor for Arduino (Wind Speed, Wind Direction, Temp, Humidity, Pressure, Light, Noise, PM2.5, PM10) - DFRobot
รหัสสินค้า AS30575
หมวดหมู่ วัดสภาพแวดล้อมและแก๊ส Environmental / Gas
ราคา 10,485.00 บาท
สถานะสินค้า พร้อมส่ง
จำนวน
ชิ้น
หยิบลงตะกร้า
หนังสือรับรองบริษัท
บุ๊คแบ๊งค์
คุ้มครองโดย LnwPay
ดูรายละเอียดการใช้งานได้ที่ Click

Introduction
Unlock comprehensive environmental insights with a single, robust device. The Ultrasonic RS485 9-in-1 Weather Station Sensor delivers precise data on nine critical meteorological parameters (wind speed, wind direction, air temperature, relative humidity, atmospheric pressure, light intensity, noise levels, PM2.5, and PM10), eliminating the need for multiple individual sensors. Ideal for Arduino projects, agricultural management, and smart city applications, it provides a complete picture of local weather conditions.
 
Comprehensive & Accurate Multi-Parameter Sensing
Obtain a complete and precise environmental overview with this all-in-one sensor. It simultaneously measures ultrasonic wind speed, wind direction, air temperature, relative humidity, atmospheric pressure, light intensity, noise levels, PM2.5, and PM10 particulate matter. The advanced ultrasonic technology for wind measurement ensures superior accuracy and durability with no moving parts, minimizing wear, eliminating on-site calibration needs, and offering reliable performance even in strong winds for lower maintenance and extended service life.
High Accuracy Optical Tipping Bucket Rain Gauge
Figure: High Accuracy Optical Tipping Bucket Rain Gauge
 
Robust Design for Reliable Outdoor Deployment
Engineered for resilience in diverse conditions, this sensor features a UV-resistant and waterproof ABS polymer plastic housing (IP54 rated). This durable construction ensures dependable operation in harsh outdoor environments. Coupled with a wide DC10~30V power supply input range, it offers significant installation flexibility across various applications, from agricultural fields to urban monitoring stations.
RS485 Weather Station with IP54 Waterproof ABS Housing
Figure: RS485 Weather Station with IP54 Waterproof ABS Housing
 
Seamless Integration & Data Communication
Benefit from stable, long-distance data transmission using the industry-standard RS485 interface and Modbus-RTU protocol. This allows for straightforward integration with PLCs, data loggers, and IoT platforms like LoRaWAN for remote cloud-based monitoring. Furthermore, an Arduino example tutorial is provided, simplifying setup and enabling rapid performance verification for quick project deployment.
RS485 Weather Station Detect 9 Critical Meteorological Parameters
Figure: RS485 Weather Station Detect 9 Critical Meteorological Parameters
Applications
  • Meteorological Observation & Research
  • Smart Agriculture & Greenhouse Management
  • Industrial Automation & Control Systems
  • Maritime & Ship Safety Monitoring
  • Urban Environmental & Air Quality Stations
  • Smart Building & Infrastructure Management
Specification
  • Power Supply: DC 10~30V
  • Working Current: <10mA
  • Output Interface: RS485 (Modbus-RTU protocol)
  • Measured Parameters: Ultrasonic Wind Speed & Direction, Temperature, Humidity, Atmospheric Pressure, Light Intensity, Noise, PM2.5, PM10
  • Measurement Range:
         Wind Speed: 0~40 m/s (Startup: 0.5 m/s)
         Wind Direction: 0~359°
         Humidity: 0~99%RH
         Temperature: -40°C ~ 80°C
         Atmospheric Pressure: 0~120 kPa
         Light Intensity: 0~200,000 Lux
         Noise: 30~120 dB
         PM2.5: 0~1000 µg/m³
         PM10: 0~1000 µg/m³
  • Measurement Accuracy:
         Wind Speed: ±(0.5+2%FS) (Conditions: 60%RH, 25°C)
         Wind Direction: ±3° (Conditions: 60%RH, 25°C)
         Humidity: ±3%RH (Conditions: 60%RH, 25°C)
         Temperature: ±0.5°C (Conditions: 25°C)
         Atmospheric Pressure: ±0.15 kPa (Conditions: 101kPa, 25°C)
         Light Intensity: ±7% (Conditions: 25°C)
         Noise: ±0.5 dB (Reference: 94dB@1kHz)
         PM2.5: Particle Counting Efficiency: 50%@0.3µm, 98%@≥0.5µm; Accuracy: ±3%FS (@100µg/m³, 25°C, 50%RH)
  • Response Time:
         Wind Speed, Wind Direction, Humidity, Temperature, Noise: ≤1s
         Atmospheric Pressure, Light Intensity: ≤2s
         PM2.5, PM10: ≤90s
  • Long-Term Stability (per year):
         Humidity: ≤1%
         Temperature: ≤0.1°C
         Atmospheric Pressure: -0.1 kPa
         Light Intensity: ≤5%
         Noise: ≤3 dB
         PM2.5, PM10: ≤1%
  • Protection Level: IP54
  • Housing Material: ABS Polymer Plastic (UV-resistant, waterproof)
  • Sensor Cable Length: 14cm
  • Adapter Cable Length: 150cm
Documents
Shipping List
  • RS485 9-in-1 Weather Station Sensor x1
  • Adapter Cable x1

Tutorial

Requirements

Connection Diagram

If the power of the RS485 device is small and the required current is less than 12V-160mA, the RS485 to UART signal conversion module does not require a 12V external power supply, making wiring more convenient.

Sample Code

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
uint8_t Com[8] = { 0x01, 0x03, 0x01, 0xF4, 0x00, 0x04, 0x04, 0x07 }; //Wind speed and direction
uint8_t Com1[8] = { 0x01, 0x03, 0x01, 0xF8, 0x00, 0x03, 0x85, 0xC6 }; //Temperature, humidity, noise
uint8_t Com2[8] = { 0x01, 0x03, 0x01, 0xFE, 0x00, 0x02, 0xA4, 0x07 }; //Light
uint8_t Com3[8] = { 0x01, 0x03, 0x01, 0xFB, 0x00, 0x03, 0x75, 0xC6 }; //PM2.5, PM10, atmospheric pressure
float tem, hum, ws, ap, db;
int wd, wdangle, pm2_5, pm10;

void setup() {
Serial.begin(9600);
mySerial.begin(4800);
}
void loop() {
readHumiture_Noise();
Serial.print("TEM = ");
Serial.print(tem, 1);
Serial.print("°C ");
Serial.print("HUM = ");
Serial.print(hum, 1);
Serial.print("%RH ");
Serial.print("dbValue = ");
Serial.print(db, 1);
Serial.print("dB ");
uint32_t lux = readLight();
Serial.print("Lux = ");
Serial.print(lux);
Serial.println("(lux) ");

readPM2_5_10_AtmosphericPressure();
Serial.print("PM2.5 = ");
Serial.print(pm2_5);
Serial.print("ug/m³ ");
Serial.print("PM10 = ");
Serial.print(pm10);
Serial.print("ug/m³ ");
Serial.print("AP = ");
Serial.print(ap, 1);
Serial.println("kPa ");

readWindSpeed_WindDirection();
Serial.print("Wind Speed = ");
Serial.print(ws, 1);
Serial.print("m/s ");
Serial.print("Wind Direction = ");
Serial.print(wd);
Serial.print(" WindDirection_Angle = ");
Serial.print(wdangle);
Serial.println("° ");
Serial.println(" ");
delay(2000);
}

void readWindSpeed_WindDirection(void) {
uint8_t Data[12] = { 0 };
uint8_t ch = 0;
bool flag = 1;
long timeStart = millis();
long timeStart1 = 0;
while (flag) {

if ((millis() - timeStart1) > 100) {
while (mySerial.available() > 0) {
mySerial.read();
}
mySerial.write(Com, 8);
timeStart1 = millis();
}

if ((millis() - timeStart) > 1000) {
Serial.println("Time out");
return -1;
}

if (readN(&ch, 1) == 1) {
if (ch == 0x01) {
Data[0] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x03) {
Data[1] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x08) {
Data[2] = ch;
if (readN(&Data[3], 10) == 10) {
if (CRC16_2(Data, 11) == (Data[11] * 256 + Data[12])) {
ws = (Data[3] * 256 + Data[4]) / 100.00;
wd = Data[7] * 256 + Data[8];
wdangle = Data[9] * 256 + Data[10];
flag = 0;
}
}
}
}
}
}
}
}
}
}


void readHumiture_Noise(void) {
uint8_t Data[12] = { 0 };
uint8_t ch = 0;
bool flag = 1;
long timeStart = millis();
long timeStart1 = 0;
while (flag) {

if ((millis() - timeStart1) > 100) {
while (mySerial.available() > 0) {
mySerial.read();
}
mySerial.write(Com1, 8);
timeStart1 = millis();
}

if ((millis() - timeStart) > 1000) {
Serial.println("Time out1");
return -1;
}

if (readN(&ch, 1) == 1) {
if (ch == 0x01) {
Data[0] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x03) {
Data[1] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x06) {
Data[2] = ch;
if (readN(&Data[3], 8) == 8) {
if (CRC16_2(Data, 9) == (Data[9] * 256 + Data[10])) {
hum = (Data[3] * 256 + Data[4]) / 10.00;
tem = (Data[5] * 256 + Data[6]) / 10.00;
db = (Data[7] * 256 + Data[8]) / 10.00;
flag = 0;
}
}
}
}
}
}
}
}
}
}


uint32_t readLight(void) {
uint8_t Data[15] = { 0 };
uint8_t ch = 0;
long timeStart = millis();
long timeStart1 = 0;
bool flag = 1;
uint32_t data = 0;
while (flag) {

if ((millis() - timeStart1) > 100) {
while (mySerial.available() > 0) {
mySerial.read();
}
mySerial.write(Com2, 8);
timeStart1 = millis();
}


if ((millis() - timeStart) > 1000) {
Serial.println("Time out2");
return -1;
}

if (readN(&ch, 1) == 1) {
if (ch == 0x01) {
Data[0] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x03) {
Data[1] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x04) {
Data[2] = ch;
if (readN(&Data[3], 6) == 6) {
if (CRC16_2(Data, 7) == (Data[7] * 256 + Data[8])) {
data = Data[3] << 24 | Data[4] << 16 | Data[5] << 8 | Data[6];
flag = 0;
}
}
}
}
}
}
}
}
}
return data;
}

float readPM2_5_10_AtmosphericPressure(void) {
uint8_t Data[12] = { 0 };
uint8_t ch = 0;
long timeStart = millis();
long timeStart1 = 0;
bool flag = 1;
float data;
while (flag) {

if ((millis() - timeStart1) > 100) {
while (mySerial.available() > 0) {
mySerial.read();
}
mySerial.write(Com3, 8);
timeStart1 = millis();
}


if ((millis() - timeStart) > 1000) {
Serial.println("Time out3");
return -1;
}

if (readN(&ch, 1) == 1) {
if (ch == 0x01) {
Data[0] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x03) {
Data[1] = ch;
if (readN(&ch, 1) == 1) {
if (ch == 0x06) {
Data[2] = ch;
if (readN(&Data[3], 8) == 8) {
if (CRC16_2(Data, 9) == (Data[9] * 256 + Data[10])) {
pm2_5 = Data[3] * 256 + Data[4];
pm10 = Data[5] * 256 + Data[6];
ap = (Data[7] * 256 + Data[8]) / 10.00;
flag = 0;
}
}
}
}
}
}
}
}
}
}



uint8_t readN(uint8_t *buf, size_t len) {
size_t offset = 0, left = len;
int16_t Tineout = 500;
uint8_t *buffer = buf;
long curr = millis();
while (left) {
if (mySerial.available()) {
buffer[offset] = mySerial.read();
offset++;
left--;
}
if (millis() - curr > Tineout) {
break;
}
}
return offset;
}

unsigned int CRC16_2(unsigned char *buf, int len) {
unsigned int crc = 0xFFFF;
for (int pos = 0; pos < len; pos++) {
crc ^= (unsigned int)buf[pos];
for (int i = 8; i != 0; i--) {
if ((crc & 0x0001) != 0) {
crc >>= 1;
crc ^= 0xA001;
} else {
crc >>= 1;
}
}
}

crc = ((crc & 0x00ff) << 8) | ((crc & 0xff00) >> 8);
return crc;
}

Expected Results

Print the collected ultrasonic wind speed and direction values, temperature values, humidity values, atmospheric pressure values, light values, noise values, PM2.5, PM10

Installation Instructions

When measuring wind speed and direction, the N-shaped direction on the weather station sensor should be installed facing due north to avoid errors.
The applicable range of the bottom mounting bar: 46-51mm

The following installation methods are recommended (the bracket needs to be purchased or built by yourself)

FAQ

  1. The computer has multiple COM ports, and the selected port is incorrect.
  2. The device address is wrong, or there are devices with duplicate addresses (all factory defaults are 1).
  3. Baud rate, check mode, data bit, stop bit error.
  4. Host polling interval and waiting response time are too short, both need to be set above 200ms.
  5. 485 bus is disconnected, or A and B lines are connected in reverse.
  6. Too many devices or too long wiring, power supply should be provided nearby, 485 enhancer should be added, and 120Ω terminal resistance should be added.
  7. USB to 485 driver is not installed or damaged.
  8. Equipment is damaged.

Note: To ensure the accuracy of the equipment, please clean the lower surface of the measuring area of the equipment regularly to keep it clean and free of dust or other foreign matter.

วิธีการชำระเงิน

ชำระเงินค่าสินค้าโดยการโอนเงินเข้าบัญชีธนาคาร KBANK, SCB, BBL,TMB

กรุณาเก็บหลักฐานการโอนเงินของท่านไว้เพื่อแจ้งการชำระเงินด้วยค่ะ

 

ท่านสามารถแจ้งการชำระเงินผ่านระบบอัตโนมัติได้โดย Click Link ข้างล่างค่ะ

https://www.arduitronics.com/informpayment

 

บมจ. ธนาคารกสิกรไทย สาขาเซ็นทรัล แจ้งวัฒนะ ออมทรัพย์
ธนาคารไทยพาณิชย์ จำกัด (มหาชน) สาขาเซ็นทรัล แจ้งวัฒนะ ออมทรัพย์
ธนาคารกรุงเทพ จำกัด (มหาชน) สาขาเซนทรัล พระราม 3 สะสมทรัพย์
ธนาคารทหารไทยธนชาต จำกัด (มหาชน) สาขาเซนทรัล พระราม 3 กระแสรายวัน

เพิ่มเพื่อน

@rfm0967y

ติดต่อสอบถาม

เพิ่มเพื่อน

CATEGORY

Sensors / Modules [1702]

CONTACT US

มือถือ 0887823467 แฟกซ์ 02-0153201

Join เป็นสมาชิกร้านค้า

ร้านArduitronics
ร้านArduitronics
/www.arduitronics.com/
Join เป็นสมาชิกร้าน
2129
สมัครสมาชิกร้านนี้ เพื่อรับสิทธิพิเศษ

STATISTICS

หน้าที่เข้าชม15,393,408 ครั้ง
ผู้ชมทั้งหมด5,896,486 ครั้ง
เปิดร้าน21 พ.ค. 2556
ร้านค้าอัพเดท16 ก.ย. 2568

MEMBER

พูดคุย-สอบถาม