Cảm biến lưu lượng nước Hall YF-B5 DN20
Mã sản phẩm: (Đang cập nhật...)
Thương hiệu: cập nhật
Còn hàng
Liên hệ
Freeship đơn hàng từ 500k
Kiểm tra khi nhận hàng
Hỗ trợ khách hàng 24/7
- Thông tin sản phẩm
- Hướng dẫn
Cảm biến lưu lượng nước Hall YF-B5 DN20 phần ống được làm bằng Đồng chắc chắn, độ bền cao rất thích hợp lắp cho các loại máy dân dụng, bán công nghiệp…Ống phi 27 cho lưu lượng lên đến 30L/phút'

Thông số kỹ thuật Cảm biến lưu lượng nước Hall YF-B5 DN20
- Điện áp định mức: 5VDC
- Vật liệu: Đồng
- Áp lực nước kháng > 1,75MPa
- Chính xác : [trong 1 ~ 30L / phút] ± 10%
- Đặc tính xung dòng chảy (6.6 * Q) Q = L / Min ± 3%
- Chu kỳ nhiệm vụ xung đầu ra 50% ± 10%
- Phạm vi lưu lượng 1-30L / phút
Code tham khảo cho Cảm biến lưu lượng nước Hall YF-B5 DN20
/*
Dây đỏ kết nối nguồn 5V arduino
Dây đen nối GND arduino
Dây vàng (tín hiệu) kết nối chân số 2 arduino
Mở Serial Monitor chọn No line ending, baud 9600
Thổi cho cánh quạt trong cảm biến xoay để kiểm tra
*/
byte statusLed = 13;
byte sensorInterrupt = 0; // 0 = digital pin 2
byte sensorPin = 2; //--------------------------------------------------chân tín hiệu
float calibrationFactor = 4.5;
volatile byte pulseCount;
float flowRate;
unsigned int flowMilliLitres;
unsigned long totalMilliLitres;
unsigned long oldTime;
void setup()
{
// Initialize a serial connection for reporting values to the host
Serial.begin(9600);
// Set up the status LED line as an output
pinMode(statusLed, OUTPUT);
digitalWrite(statusLed, HIGH); // We have an active-low LED attached
pinMode(sensorPin, INPUT);
digitalWrite(sensorPin, HIGH);
pulseCount = 0;
flowRate = 0.0;
flowMilliLitres = 0;
totalMilliLitres = 0;
oldTime = 0;
// The Hall-effect sensor is connected to pin 2 which uses interrupt 0.
// Configured to trigger on a FALLING state change (transition from HIGH
// state to LOW state)
attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
}
void loop()
{
if ((millis() - oldTime) > 1000) // Only process counters once per second
{
detachInterrupt(sensorInterrupt);
flowRate = ((1000.0 / (millis() - oldTime)) * pulseCount) / calibrationFactor;
oldTime = millis();
flowMilliLitres = (flowRate / 60) * 1000;
totalMilliLitres += flowMilliLitres;
unsigned int frac;
// Print the flow rate for this second in litres / minute
Serial.print("Flow rate: ");
Serial.print(int(flowRate)); // Print the integer part of the variable
Serial.print("L/min");
Serial.print("\t"); // Print tab space
// Print the cumulative total of litres flowed since starting
Serial.print("Output Liquid Quantity: ");
Serial.print(totalMilliLitres);
Serial.println("mL");
Serial.print("\t"); // Print tab space
Serial.print(totalMilliLitres / 1000);
Serial.print("L");
// Reset the pulse counter so we can start incrementing again
pulseCount = 0;
// Enable the interrupt again now that we've finished sending output
attachInterrupt(sensorInterrupt, pulseCounter, FALLING);
}
}
/*
Insterrupt Service Routine
*/
void pulseCounter()
{
// Increment the pulse counter
pulseCount++;
}
Xem thêm
Thu gọn
Xin mời nhập nội dung tại đây