Cảm Biến Lưu Lượng Nước Máy Pha Chế

80,000  70,000 

Cảm biến lưu lượng nước máy pha chế 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

Thông tin bổ sung

Trọng lượng50 g

Thông tin sản phẩm

Cảm biến lưu lượng nước máy pha chế 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.

———————CODE THAM KHẢO——————–

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