#include "HX711.h"
#include <Stepper.h>
HX711 scale;
const int stepsPerRevolution = 1000;
float calibration_factor = 807;
float units;
float ounces;
int pos=0;
int x;
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup()
{
myStepper.setSpeed(60);
Serial.begin(9600);
Serial.println("HX711 kalibrasyon çizimi");
Serial.println("Tüm ağırlığı tartıdan kaldırın");
Serial.println("Okumalar başladıktan sonra bilinen ağırlığı tartıya koyun.");
Serial.println("Kalibrasyon faktörünü artırmak için + veya a'ya basın");
Serial.println("Kalibrasyon faktörünü azaltmak için - veya z'ye basın");
scale.begin(7,6);
scale.set_scale();
scale.tare();
}
void motorStop(){
Serial.println("Motor Durdu");
myStepper.step(0);
}
void motorStart(){
Serial.println("Motor Aktif");
myStepper.step(stepsPerRevolution);
}
void loop()
{
scale.set_scale(calibration_factor);
Serial.print("Okuma: ");
units = scale.get_units(), 10;
if (units < 0)
{
units = 0.00;
}
ounces = units * 0.035274;
Serial.print(units);
Serial.print(" gram");
Serial.print(" kalibrasyon_faktörü : ");
Serial.print(calibration_factor);
Serial.println();
if(units>x) motorStop();
if(units<=x) motorStart() ;
if(Serial.available())
{
char temp = Serial.read();
if(temp == '+' || temp == 'a')
calibration_factor += 1;
else if(temp == '-' || temp == 'z')
calibration_factor -= 1;
pos = Serial.read();
if(pos>0)
{
x=pos;
}
}
myStepper.step(x);
}