Danh sách sản phẩm

YF-S401 Cảm Biến Dòng Chảy/Lưu Lượng 0.3-6L/Phút

Mã sản phẩm: IMA462   |   Tình trạng: Còn 4 sản phẩm có sẵn
85.000₫

Mô tả sản phẩm

Cảm biến lưu lượng nước máy pha cafe là loại cảm biến có độ chính xác cao, có tiết diện ống vào và ra chỉ 6mm, chuyên dùng để đo đạc các lưu lượng nhỏ trong các máy như pha chế rượu, coffee,…

Thông số kỹ thuật:

  • Cảm biến lưu lượng nước máy pha coffee
  • Điện áp hoạt động: 3.5 – 12VDC
  • Dòng điện tiêu thụ: 15mA
  • Tín hiệu đầu ra: sử dụng hiệu ứng hall, tín hiệu đầu ra dạng xung.
  • Nhiệt độ hoạt động: <80 độ C
  • Áp suất tối đa: 1.75Mpa
  • Lưu lượng: 0.3 – 6 L/1 phút.

Sơ đồ chân:

  • Đỏ: Chân cấp nguồn 
  • Đen: Chân cấp GND
  • Vàng: Chân tín hiệu OUTPUT

Code tham khảo Arduino:

 

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++;
}

Video tham khảo:

Khách hàng nhận xét