1. 서론
무게를 측정하기 위해 저울이 필요하여, 로드셀과 HX711 모듈을 사용한 저울을 제작하였다.
HX711 모듈은 AD컨버터 모듈로써, 무게에 대한 데이터를 아두이노에서 읽어 들이기 위해 필요한 모듈이다.
AD(Analog to Digital) 컨버터란?
쉽게 말해서 아날로그 신호를 디지털 신호로 변환해주는 것
앞으로도 수없이 센서를 다루기 위해서는 이부분에 대해서 별도로 알아보도록 해야겠다.
2-1. 본론(모듈 라이브러리 추가)
본격적으로 아두이노 코딩을 진행하기 앞서, 모듈을 사용하기 위한 헤더 파일을 아두이노 라이브러리에 추가한다.
아두이노를 활용하여 저울을 사용하는데 많은 시간이 소요되었다.
성격급한 나는 구글링해서 HX711 모듈을 사용한 다양한 사례들을 복붙하여 이렇게도 해보고 저렇게도 해봤다.
다양한 방법을 사용해본 이유는 최종적으로 내가 개발하기 위한 프로젝트에 적용할 가장 적합한 것을 찾기 위해서다.
하지만, 이런 주먹구구 형식의 방법은 시간이 많이 소요되고, 또한 현명한 방법이 아니기 때문에
지금부터라도 하나하나 요목조목 따져가며 한줄, 한줄 해석하는 능력을 갖춰야겠다.
어쨌든, 라이브러리에 알맞게 추가하고 선연결을 진행했다.
2-2. 본론(아두이노 선 연결)
1개의 로드셀을 연결하는 선 연결은 간단했다.
추후 8개의 로드셀을 사용하여 연결할때는 이것보다 복잡하지만, 2개,3개씩 차례대로 연결하다보니 어렵지 않았다.
일단, 1개의 로드셀로 코딩이 어떻게 진행되는지 정확하게 파악하기 위한 작업을 진행했다.
2-3. 본론(아두이노 코딩)
우선 라이브러리에 추가된 헤더 파일을 넣어주고,
#include "HX711.h"
그 다음, 선연결 정보를 정의한다.
#define DOUT1 A0
#define SCK1 A1
baudrate와 로드셀 고유의 캘리브레이션 값을 찾아서 입력하고 1초(1000ms)마다 저울의 무게를 나타내었다.
float val1;
void setup() {
Serial.begin(9600);
scale1.begin(DOUT1, SCK1);
Serial.println(scale1.read());
scale1.set_scale(484.88);
scale1.tare(5);
void loop() {
val1 = scale1.get_units();
Serial.print(val1);
delay(1000);
}
로드셀의 캘리브레이션의 값을 찾는 것은 구글에 검색하면 여러가지 방법이 있겠지만,
나는 직접 저 값을 찾는 방법을 구현하였다.
'코딩 > 프로젝트, 개발' 카테고리의 다른 글
[Arduino & Python]2-2 각 저울의 무게로 조합(Combination) 모듈을 사용하여 목표 무게에 가까운 값 찾기 (0) | 2022.09.27 |
---|---|
[Arduino & Python]2-1 Python 내장 모듈 Serial을 활용한 아두이노 시리얼 데이터 수신 (0) | 2022.09.23 |
[Arduino & Python]1-3 아두이노를 활용한 8개의 로드셀(HX711) 연결 (0) | 2022.09.21 |
[Arduino & Python]1-2 로드셀의 캘리브레이션(Calibration) (0) | 2022.09.16 |
[Arduino & Python]0-1 왕왕초보 개발자의 중량 선별기 제작 프로젝트(Weight Checker Project) (0) | 2022.09.14 |