- Các thành phần bắt buộc để xây dựng một Thang trọng lượng Arduino:
- Cảm biến lực và mô-đun cảm biến trọng lượng HX711:
- Giải thích mạch:
- Giải thích làm việc:
- Mã quy mô cân Arduino:
Hôm nay chúng ta sẽ xây dựng một cỗ máy Arduino bằng cách kết nối Load Cell và Cảm biến trọng lượng HX711 với Arduino. Chúng tôi đã nhìn thấy máy cân ở nhiều cửa hàng, nơi máy hiển thị trọng lượng chỉ bằng cách đặt một món hàng lên bệ cân. Vì vậy, ở đây chúng tôi đang xây dựng cùng một máy Cân bằng cách sử dụng Arduino và Cảm biến lực, có công suất đo lên đến 40kg. Có thể tăng thêm giới hạn này bằng cách sử dụng Load cell có dung lượng cao hơn.
Thành phần chính cần có để xây dựng chiếc cân Arduino này là một bộ cảm biến có thể chuyển đổi trọng lượng thành tín hiệu điện tương đương. Cảm biến này được gọi là cảm biến lực, vì vậy trong dự án này, chúng tôi sẽ sử dụng cảm biến tải này làm cảm biến trọng lượng Arduino của chúng tôi. Chúng tôi cũng đã sử dụng cùng một cảm biến lực trong một số dự án khác, chẳng hạn như Máy cân bán lẻ Arduino di động, cân Raspberry pi, v.v., bạn cũng có thể kiểm tra chúng nếu quan tâm.
Các thành phần bắt buộc để xây dựng một Thang trọng lượng Arduino:
- Arduino Uno
- Cảm biến lực (40kg)
- Mô-đun Khuếch đại cảm biến lực HX711
- LCD 16x2
- Kết nối dây
- cáp USB
- Breadboard
- Bu lông đai ốc, khung và đế
Cảm biến lực và mô-đun cảm biến trọng lượng HX711:
Cảm biến lực là một bộ chuyển đổi biến đổi lực hoặc áp suất thành điện năng. Độ lớn của công suất điện này tỷ lệ thuận với lực tác dụng. Cảm biến lực có một máy đo biến dạng, biến dạng khi có áp lực tác động lên nó. Và sau đó máy đo biến dạng tạo ra một tín hiệu điện về biến dạng khi điện trở hiệu dụng của nó thay đổi khi biến dạng. Một cảm biến lực thường bao gồm bốn đồng hồ đo biến dạng trong cấu hình cầu Wheatstone. Cảm biến lực có nhiều loại như 5kg, 10kg, 100kg và hơn thế nữa, ở đây chúng tôi đã sử dụng Cảm biến lực, có thể nặng đến 40kg.
Bây giờ các tín hiệu điện được tạo ra bởi Cảm biến lực có kích thước bằng vài milivôn, vì vậy chúng cần được khuếch đại thêm bằng một số bộ khuếch đại và do đó Cảm biến cân HX711 xuất hiện trong hình. Mô-đun cảm biến cân HX711 có chip HX711, là bộ chuyển đổi A / D 24 độ chính xác cao (Bộ chuyển đổi tương tự sang kỹ thuật số). HX711 có hai kênh đầu vào tương tự và chúng ta có thể tăng lên tới 128 bằng cách lập trình các kênh này. Vì vậy, mô-đun HX711 khuếch đại sản lượng điện thấp của Cảm biến lực và sau đó tín hiệu được khuếch đại & chuyển đổi kỹ thuật số này được đưa vào Arduino để lấy ra trọng lượng.
Cảm biến lực được kết nối với Bộ khuếch đại cảm biến lực HX711 bằng bốn dây. Bốn dây này là Đỏ, Đen, Trắng và Xanh lục / Xanh lam. Có thể có một chút thay đổi về màu sắc của dây từ mô-đun này sang mô-đun khác. Dưới đây là chi tiết và sơ đồ kết nối:
- Dây RED được kết nối với E +
- Dây BLACK được kết nối với E-
- Dây WHITE được kết nối với A-
- Dây XANH được kết nối với A +
Sửa lỗi Load Cell với Nền tảng và Đế:
Bước này là tùy chọn và bạn có thể trực tiếp đặt các quả nặng lên Cảm biến lực mà không cần Bệ đỡ và có thể chỉ cần kẹp nó mà không cần cố định bằng bất kỳ đế nào, nhưng tốt hơn hết bạn nên gắn một bệ để đặt những thứ lớn lên đó và cố định trên Giá đỡ để nó đứng yên. Vì vậy, ở đây chúng ta cần làm một khung hoặc bệ để đặt những thứ để đo trọng lượng. Cũng cần có một đế để cố định cảm biến lực trên nó bằng cách sử dụng đai ốc và bu lông. Ở đây, chúng tôi đã sử dụng các tông cứng cho khung để đặt mọi thứ trên nó và một tấm gỗ làm đế. Bây giờ, thực hiện các kết nối như được hiển thị trong sơ đồ mạch và bạn đã sẵn sàng.
Giải thích mạch:
Kết nối cho dự án này rất dễ dàng và sơ đồ được đưa ra bên dưới. Các chân LCD 16x2 RS, EN, d4, d5, d6 và d7 được kết nối với các chân số 8, 9, 10, 11, 12 và 13 của Arduino tương ứng. Các chân DT và SCK của Mô-đun HX711 được kết nối trực tiếp với các chân A0 và A1 của Arduino. Kết nối cảm biến lực với mô-đun HX711 đã được giải thích trước đó và cũng được hiển thị trong sơ đồ mạch bên dưới.
Giải thích làm việc:
Nguyên lý hoạt động của dự án Đo lường trọng lượng Arduino này rất dễ dàng. Trước khi đi vào chi tiết, đầu tiên, chúng ta phải hiệu chỉnh hệ thống này để đo trọng lượng chính xác. Khi người dùng bật nguồn, hệ thống sẽ tự động bắt đầu hiệu chỉnh. Và nếu người dùng muốn hiệu chỉnh bằng tay thì hãy nhấn nút nhấn. Chúng tôi đã tạo một hàm void calibrate () cho mục đích hiệu chuẩn, hãy kiểm tra mã bên dưới.
Để hiệu chuẩn, hãy đợi chỉ báo LCD để đưa 100 gram lên cảm biến lực như trong hình bên dưới. Khi màn hình LCD hiển thị “đặt 100g” thì hãy đặt quả nặng 100g lên cảm biến lực và chờ. Sau vài giây, quá trình hiệu chuẩn sẽ kết thúc. Sau khi hiệu chuẩn, người dùng có thể đặt bất kỳ trọng lượng nào (tối đa 40kg) lên cảm biến lực và có thể nhận giá trị trên màn hình LCD tính bằng gam.
Trong dự án này, chúng tôi đã sử dụng Arduino để kiểm soát toàn bộ quá trình. Load cell cảm nhận trọng lượng và nguồn cung cấp một điện áp analog điện để HX711 tải Amplifier Mô-đun. HX711 là một ADC 24bit, khuếch đại và chuyển đổi kỹ thuật số đầu ra của Cảm biến lực. Sau đó, giá trị khuếch đại này được cấp cho Arduino. Bây giờ Arduino tính toán đầu ra của HX711 và chuyển đổi nó thành giá trị trọng lượng theo gam và hiển thị trên màn hình LCD. Một nút nhấn được sử dụng để hiệu chỉnh hệ thống. Chúng tôi đã viết một chương trình Arduino cho toàn bộ quá trình, hãy kiểm tra Mã và Video demo ở cuối hướng dẫn này.
Mã quy mô cân Arduino:
Phần lập trình của dự án này hơi phức tạp đối với người mới bắt đầu. Trong dự án này, chúng tôi không sử dụng bất kỳ thư viện nào để giao tiếp cảm biến tải HX711 với Arduino. Chúng tôi vừa theo dõi biểu dữ liệu của HX711 và ghi chú ứng dụng. Mặc dù có một số thư viện hiện diện cho mục đích này, nơi bạn chỉ cần bao gồm thư viện đó và bạn có thể nhận được trọng số bằng cách sử dụng một dòng mã.
Trước hết, chúng tôi đã bao gồm một tệp tiêu đề cho LCD và xác định các chân cho cùng. Và đối với nút nhấn cũng vậy. Sau đó khai báo một số biến cho mục đích tính toán.
#include
Sau đó, chúng tôi đã tạo hàm bên dưới để đọc dữ liệu từ mô-đun HX711 và trả về đầu ra của nó.
unsigned long readCount (void) {unsigned long Count; char không dấu tôi; pinMode (DT, OUTPUT); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); Đếm = 0; pinMode (DT, INPUT); while (digitalRead (DT)); for (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Count = Count << 1; digitalWrite (SCK, LOW); if (digitalRead (DT)) Đếm ++; } digitalWrite (SCK, HIGH); Đếm = Đếm ^ 0x800000; digitalWrite (SCK, LOW); return (Đếm); }
Sau đó, chúng tôi đã khởi tạo LCD và đưa ra hướng dẫn đến các chân đầu vào và đầu ra trong void setup ().
void setup () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Trọng lượng"); lcd.setCursor (0,1); lcd.print ("Phép đo"); chậm trễ (1000); lcd.clear (); hiệu chỉnh (); }
Tiếp theo trong hàm void loop () , chúng tôi đã đọc dữ liệu từ mô-đun HX711 và chuyển đổi dữ liệu này thành trọng lượng (gam) và gửi nó đến màn hình LCD.
void loop () {count = readCount (); int w = (((đếm-mẫu) / val) -2 * ((đếm-mẫu) / val)); Serial.print ("trọng lượng:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Trọng lượng"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; mẫu = 0; w = 0; đếm = 0; hiệu chỉnh (); }}
Trước đó, chúng tôi đã tạo một chức năng hiệu chuẩn trong đó chúng tôi đã hiệu chỉnh hệ thống bằng cách đặt trọng lượng 100gm lên trên Cảm biến lực.
void hiệu chỉnh () {lcd.clear (); lcd.print ("Đang hiệu chỉnh…"); lcd.setCursor (0,1); lcd.print ("Vui lòng đợi…"); for (int i = 0; i <100; i ++) {count = readCount (); mẫu + = đếm; Serial.println (số lượng); }……………….
Vì vậy, ở đây chúng ta đã tìm hiểu Giao diện cơ bản của Cảm biến lực và Cảm biến trọng lượng HX11 với Arduino để đo trọng lượng. Trong hướng dẫn bằng văn bản của chúng tôi, chúng tôi sẽ tạo một số ứng dụng dựa trên việc đo trọng lượng như Thùng thông minh, Cổng tự động, v.v.