BASIC4MCU | 질문게시판 | 아두이노 코딩 질문입니다 너무 급해요 ㅠㅠ
페이지 정보
작성자 전민결 작성일2019-08-12 19:08 조회25,570회 댓글3건본문
#include "HX711.h" //HX711로드셀 엠프 관련함수 호출
#define calibration_factor -7050.0 // 로드셀 스케일 값 선언
#define DOUT 3 //엠프 데이터 아웃 핀 넘버 선언
#define CLK 2 //엠프 클락 핀 넘버
HX711 scale(DOUT, CLK); //엠프 핀 선언#include <Servo.h>
int servoPin1 = 9;
int servoPin2 = 11;Servo servo1;
Servo servo2;
int angle = 0;void setup()
{
servo1.attach(servoPin1);
servo2.attach(servoPin2);
Serial.begin(9600); // 시리얼 통신 개방
Serial.println("HX711 scale TEST");
scale.set_scale(calibration_factor); //스케일 지정
scale.tare(); //스케일 설정
Serial.println("Readings:");
}
void loop()
{
int val = analogRead(scale.read);
int scale = map(val,0,1023,0,180);
for(scale*0.453592 = 1.5; angle < 180; angle++)
{
servo1.write(angle);
delay(15);
servo2.write(angle);
delay(15);
}
for(scale*0.453592 = 0; angle < 0; angle--)
{
servo1.write(angle);
delay(15);
servo2.write(angle);
delay(15);
}
}
무게센서가 값을 받으면 서보모터가 180도로 움직였다가 값이 0이 되면 서보모터가 다시 제자리로 오는 코딩을 하고 싶습니다. 이 코딩이 맞는건지도 잘 모르겠고 무게센서 값을 서보모터로 옮기는 것에 대해서 어려움을 겪고 있습니다. 제발 도와주세요 ㅠㅠ
댓글 3
조회수 25,570master님의 댓글
master 작성일
HX711을 사용하는데 어째서 아나로그 입력을 받을까요?
HX711.h 라이브러리 설치하고나면
아두이노/예제/HX711 예제가 자동으로 함께 설치됩니다.
HX711 예제를 먼저 공부하세요
master님의 댓글
master 작성일
https://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=316253129&qb=SFg3MTEuaA==&enc=utf8§ion=kin.qna&rank=2&search_sort=0&spq=0
예를들면 이 질문글에서는
scale.get_units() 이 함수로 값을 읽고 있습니다.
int scale = scale.get_units(); // int val = analogRead(scale.read); int scale = map(val,0,1023,0,180);
2라인대신 이렇게 작성하면 되겠죠
master님의 댓글
master 작성일
라이브러리는 여러사람이 만들기도 하므로 조금씩 다르기도 합니다.
반드시 설치된 라이브러리에 따라오는 예제로 공부하셔야합니다.
https://github.com/bogde/HX711/commit/83c9f5172694d1a0fb483bd407cf45eb8d163613
이 라이브러리 예제는 long reading = scale.read(); 함수가 다릅니다.
초기화 함수도 다르군요
https://www.arduinolibraries.info/libraries/hx711-arduino-library
라이브러리 선택에 문제가 생긴다면
아두이노 사이트의 라이브러리를 설치하셔도 됩니다.