통합게시판

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

일정 무게이상 인식하면 서보모터가 동작하게 만들고 싶습니다
csd1230 | 2017-11-24

제가 지금 hx711과 서보모터를 이용해서 800파운드 이상일때 모터가 120도 회전했다가 원상태로 돌아가는 기능을 구현하려하는데요 중간에 오류가나는데 오류가어떤거인지 잘 모르겠어요 ㅠㅠ 무게가 입력된 함수가 어떤건가요? 저는 set.scale()에 저장되었다 생각해서

#include "HX711.h"
#include <Servo.h>

#define calibration_factor -7050.0 //This value is obtained using the SparkFun_HX711_Calibration sketch

#define DOUT  3
#define CLK  2

HX711 scale(DOUT, CLK);

Servo myservo;
int pos = 0;

void setup() {
  Serial.begin(9600);
  Serial.println("HX711 scale demo");

  scale.set_scale(calibration_factor); //This value is obtained by using the SparkFun_HX711_Calibration sketch
  scale.tare();   //Assuming there is no weight on the scale at start up, reset the scale to 0

  Serial.println("Readings:");
  myservo.attach(9);
}

void loop() {
  Serial.print("Reading: ");
  Serial.print(scale.get_units(), 1); //scale.get_units() returns a float
  Serial.print(" lbs"); //You can change this to kg but you'll need to refactor the calibration_factor
  Serial.println();
  if(scale.get_units()>800.0){
    for(pos = 0; pos < 120; pos += 1){
      myservo.write(pos);
      delay(15);
    }
    pos = 0;
    myservo.write(pos);
    delay(15);
  }
  delay(1000);
}

이런식으로 구현해봤는데 잘 안되네요...ㅠㅠ

어떤게 문제인지 알려주시면 감사하겠습니다

프로필사진

Klant 2017-11-27 13:16:12

scale.get_units() 인 것 같네요^^

이전글   |    라즈베리파이 응용하기, 날씨 관측기 만들기 질문있습니다.... 2017-11-24
다음글   |    Aurdino DUE 업로드 문제 2017-11-24