ARDUINO HX711 계량 센서 ADC 모듈 사용 설명서
응용 프로그램 예ampArduino Uno를 사용한 le:
대부분 로드 셀에는 빨간색, 검은색, 초록색, 흰색의 네 개의 와이어가 있습니다. HX711 보드에는 E+/E-, A+/A- 및 B+/B 연결이 있습니다. 다음 표에 따라 로드 셀을 HX711 센서 보드에 연결합니다.
HX711 부하 센서 보드 | 로드셀 와이어 |
E+ | 빨간색 |
E- | 검은색 |
A+ | 녹색 |
A- | 하얀색 |
B- | 사용하지 않음 |
B+ | 사용하지 않음 |
HX711 센서 | 아두이노 우노 |
접지 | 접지 |
DT | D3 |
SCK | D2 |
(주)비씨씨 | 5V |
HX711 모듈은 5V에서 작동하며 통신은 직렬 SDA 및 SCK 핀을 사용하여 이루어집니다.
로드셀의 어디에 무게를 적용해야 하나요?
로드 셀에 화살표가 표시된 것을 볼 수 있습니다. 이 화살표는 로드 셀에 작용하는 힘의 방향을 보여줍니다. 금속 스트립을 사용하여 그림과 같이 배열할 수 있습니다. 볼트를 사용하여 로드 셀에 금속 스트립을 부착합니다.
Arduino UNO를 프로그래밍하여 KG 단위의 무게를 측정:
위의 그림 1과 같이 회로도를 연결하세요.
이 센서 모듈이 Arduino 보드와 작동하려면 HX711 라이브러리가 필요합니다. 이 라이브러리는 다음에서 다운로드할 수 있습니다. https://github.com/bogde/HX711.
HX711을 사용하여 물체의 무게를 정확하게 측정하려면 먼저 교정해야 합니다. 아래 단계에서는 교정을 수행하는 방법을 보여줍니다.
1단계: 교정 스케치
아래 스케치를 Arduino Uno 보드에 업로드하세요
/* 핸슨 테크놀로지 www.handsontec.com
* 29년 2017월 XNUMX일
* Arduino와 함께 로드셀 HX711 모듈 인터페이스로 kg 단위의 무게를 측정
아두이노
핀
2 -> HX711 클록
3 -> 도우
5V -> VCC
접지 -> 접지
Arduino Uno의 대부분 핀은 DOUT/CLK와 호환됩니다.
HX711 보드는 2.7V~5V까지 전원을 공급할 수 있으므로 Arduino 5V 전원이면 충분할 것입니다.
*/
#include “HX711.h” // Arduino 라이브러리 폴더에 이 라이브러리가 있어야 합니다.
#DOUT 3을 정의합니다.
#CLK 2를 정의합니다.
HX711 스케일(DOUT, CLK);
//로드 셀에 따라 이 보정 계수를 변경해야 할 수도 있습니다.
수천 개로 다양화하다
float 보정 계수 = -96650; //-106600은 내 최대 40Kg 스케일 설정에 적합했습니다.
//================================================ ========================================
// 설정
//================================================ ========================================
무효 설정() {
직렬.시작(9600);
Serial.println(“HX711 교정”);
Serial.println("저울에서 모든 무게를 제거합니다");
Serial.println("측정이 시작되면 알려진 무게를 저울 위에 올려놓습니다");
Serial.println("a,s,d,f를 눌러 교정 계수를 10,100,1000,10000만큼 증가시키세요.
각기");
Serial.println("z,x,c,v를 눌러 교정 계수를 10,100,1000,10000만큼 감소시킵니다.
각기");
Serial.println("t를 눌러 용기를 설정하세요");
스케일.set_scale();
scale.tare(); // 저울을 0으로 재설정
long zero_factor = scale.read_average(); //기준선 판독값 얻기
Serial.print("0점 요소: "); //이것을 사용하면 저울의 테어링 필요성을 없앨 수 있습니다.
영구적인 규모의 프로젝트에 유용합니다.
Serial.println(제로_인자);
}
//================================================ ========================================
// 루프
//================================================ ========================================
void 루프() {
scale.set_scale(calibration_factor); // 이 보정 계수에 맞게 조정
Serial.print(“읽는 중: “);
Serial.print(scale.get_units(), 3);
Serial.print(” kg”); // 이것을 kg으로 변경하고 교정 계수를 다시 조정합니다.
제정신인 사람처럼 SI 단위를 따르세요
Serial.print(”교정_계수: “);
Serial.print(교정 계수);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(온도 == '+' || 온도 == 'a')
교정 계수 += 10;
그렇지 않으면 if(temp == '-' || temp == 'z')
교정 계수 -= 10;
그렇지 않으면 if(temp == 's')
교정 계수 += 100;
그렇지 않으면 if(temp == 'x')
교정 계수 -= 100;
그렇지 않으면 if(temp == 'd')
교정 계수 += 1000;
그렇지 않으면 if(temp == 'c')
교정 계수 -= 1000;
그렇지 않으면 if(temp == 'f')
교정 계수 += 10000;
그렇지 않으면 if(temp == 'v')
교정 계수 -= 10000;
그렇지 않으면 if(temp == 't')
scale.tare(); // 저울을 0으로 재설정
}
}
//================================================ ======================================
부하 센서에서 모든 부하를 제거합니다. 직렬 모니터를 엽니다. 아래 창이 열리고 모듈이 Arduino Uno에 성공적으로 연결되었음을 보여줍니다.
로드 셀에 알려진 무게의 물체를 놓습니다. 이 경우 저자는 191KG 로드 셀을 사용하여 알려진 무게 10그램을 사용했습니다. 직렬 모니터는 아래와 같이 무게 수치를 표시합니다.
여기서 교정을 해야 합니다:
- 직렬 모니터 명령 공간에 문자 "a, s, d, f"를 입력하고 "보내기" 버튼을 눌러 보정 계수를 각각 10, 100, 1000, 10000씩 증가시킵니다.
- 직렬 모니터 명령 공간에 "z, x, c, v" 문자를 입력하고 "보내기" 버튼을 눌러 보정 계수를 각각 10, 100, 1000, 10000씩 감소시킵니다.
로드 셀에 실제로 놓인 무게가 표시될 때까지 조정을 계속합니다. 239250KG 로드 셀을 사용하여 저자의 무게 191g 참조에서 "-10"인 "calibration_factor" 값을 기록합니다. 실제 측정을 위해 두 번째 스케치에 이 값을 삽입해야 합니다.
2단계: 실제 무게 측정을 위한 최종 코드
스케치를 업로드하기 전에 1단계에서 얻은 "보정 계수"를 플러그인해야 합니다.
스케일 인자를 수정한 후 아래 스케치를 Arduino Uno 보드에 업로드하세요.
/* 핸슨 테크놀로지 www.handsontec.com
* 29년 2017월 XNUMX일
* Arduino와 함께 로드셀 HX711 모듈 인터페이스로 kg 단위의 무게를 측정
아두이노
핀
2 -> HX711 클록
3 -> 도우
5V -> VCC
접지 -> 접지
Arduino Uno의 대부분 핀은 DOUT/CLK와 호환됩니다.
HX711 보드는 2.7V~5V까지 전원을 공급할 수 있으므로 Arduino 5V 전원이면 충분할 것입니다.
*/
#include “HX711.h” // Arduino 라이브러리 폴더에 이 라이브러리가 있어야 합니다.
#DOUT 3을 정의합니다.
#CLK 2를 정의합니다.
HX711 스케일(DOUT, CLK);
// 로드 셀에 따라 이 보정 계수를 변경하면 수천 단위로 변경해야 할 수도 있습니다.
float 보정 계수 = -96650; //-106600은 내 최대 40Kg 스케일 설정에 적합했습니다.
//================================================ ============================================
// 설정
//================================================ ============================================
무효 설정() {
직렬.시작(9600);
Serial.println("T를 눌러서 테어링하세요");
scale.set_scale(-239250); //첫 번째 스케치에서 얻은 보정 계수
scale.tare(); // 저울을 0으로 재설정
}
//================================================ ============================================
// 루프
//================================================ ============================================
void 루프() {
Serial.print("무게: ");
Serial.print(scale.get_units(), 3); //소수점 3자리까지
Serial.println(” kg”); // lbs를 따르는 경우 이것을 kg으로 변경하고 보정 계수를 다시 조정합니다.
if(Serial.available())
{
char temp = Serial.read();
온도 == 't' || 온도 == 'T'인 경우
scale.tare(); // 저울을 0으로 재설정
}
}
//================================================ ============================================
스케치를 성공적으로 업로드한 후, 직렬 모니터를 엽니다. 아래 창이 나타나 실제 측정 값을 보여줍니다.
명령 공간에 "t" 또는 "T"를 입력하고 "Send" 버튼을 누르면 판독값을 0.000kg(무부하)으로 재설정할 수 있습니다. 아래 디스플레이는 측정 값이 0.000kg이 되었음을 보여줍니다.
로드 셀에 물체를 올려놓으면 실제 무게가 표시되어야 합니다. 아래는 191그램의 물체를 올려놓았을 때의 무게 표시입니다(1단계 교정에 사용).
만세! 소수점 셋째 자리까지 정확한 무게 측정 저울을 만들어냈습니다!
문서 / 리소스
![]() |
ARDUINO HX711 계량 센서 ADC 모듈 [PDF 파일] 사용자 매뉴얼 HX711 무게 센서 ADC 모듈, HX711, 무게 센서 ADC 모듈, 센서 ADC 모듈, ADC 모듈, 모듈 |