0 đánh giá

Lập trình LoadCell (cân điện tử nguyên lý Áp điện) với HX711 và Arduino

Chúng ta thường thấy cân điện tử rồi, có khi nào bạn thắc mắc làm sao để tự tạo cho mình 1 cân theo yêu cầu không ?, bài này sẽ giúp bạn làm điều đó với Arduino và Cảm biến cân Áp điện

Bước 1: Chuẩn bị linh kiện
khoere_lap-trinh-loadcell-7633643550.jpg khoere_linh-kien-loadcell-4734322177.jpg

Trong hướng dẫn này, bạn sẽ cần:

1. Arduino Uno

2. Cảm biến cân bằng HX711

3. Load Cell (có thể chọn bất kỳ loại tế bào tải trọng nào 20kg, 60kg hoặc 100kg)

4. Jumpers

5. Dây nối

5. Arduino IDE

Bước 2: Sơ đồ chân HX711

Gồm 16 chân với sơ đồ như hình vẽ

Bước 3: Cách nối chân của Loadcell với Arduino
khoere_hx711-142521993.jpg khoere_noi-chan-load-cell-7782110520.jpg khoere_noi-day-8556905896.jpg

Bạn có thể đọc thêm hướng dẫn tại đây

Bước 4: Thư viện HX711

Tải về Thư viện HX711 và giải nén vào thư mục thư viện như trên hình nhé

Bước 5: Nạp chương trình
/*
 Setup your scale and start the sketch WITHOUT a weight on the scale
 Once readings are displayed place the weight on the scale
 Press +/- or a/z to adjust the calibration_factor until the output readings match the known weight
 Arduino pin 6 -> HX711 CLK
 Arduino pin 5 -> HX711 DOUT
 Arduino pin 5V -> HX711 VCC
 Arduino pin GND -> HX711 GND 
*/

#include HX711.h

HX711 scale(5, 6);

float calibration_factor = 2230; // this calibration factor is adjusted according to my load cell
float units;
float ounces;

void setup() {
  Serial.begin(9600);
  Serial.println(HX711 calibration sketch);
  Serial.println(Remove all weight from scale);
  Serial.println(After readings begin, place known weight on scale);
  Serial.println(Press + or a to increase calibration factor);
  Serial.println(Press - or z to decrease calibration factor);

  scale.set_scale();
  scale.tare();  //Reset the scale to 0

  long zero_factor = scale.read_average(); //Get a baseline reading
  Serial.print(Zero factor: ); //This can be used to remove the need to tare the scale. Useful in permanent scale projects.
  Serial.println(zero_factor);
}

void loop() {

  scale.set_scale(calibration_factor); //Adjust to this calibration factor

  Serial.print(Reading: );
  units = scale.get_units(), 10;
  if (units < 0)
  {
    units = 0.00;
  }
  ounces = units * 0.035274;
  Serial.print(units);
  Serial.print( grams); 
  Serial.print( calibration_factor: );
  Serial.print(calibration_factor);
  Serial.println();

  if(Serial.available())
  {
    char temp = Serial.read();
    if(temp == + || temp == a)
      calibration_factor += 1;
    else if(temp == - || temp == z)
      calibration_factor -= 1;
  }
}

 

Bước 6: Nạp chương trình vào Arduino và mở cổng Serial của mạch lên để xem giá trị đọc được

Nạp chương trình vào Arduino và mở cổng Serial của mạch lên để xem giá trị đọc được

(!) Nếu có bất kỳ thắc mắc nào cần hỏi vui lòng đặt câu hỏi tại HỏiHay.Net, Cộng đồng Hỏi đáp Hỏi Hay sẽ trả lời bạn.
3,039 lượt xem ^tháng ^ngày, ^năm
admin 2,030 điểm

Please log in or register to Comment this Media.