#include "HX711.h"
#include "RTClib.h"
#define M1 6
const int broche_DT = 2;
const int broche_SCK = 3;
RTC_DS1307 rtc;
HX711 balance;
int Th;
int Th1;
int Th2;
int Tmin;
int Tmin1;
int Tmin2;
int P;
int A;
int B;
int C;
int a;
int b;
int c;
int T;
int M;
void setup() {
pinMode(M1, OUTPUT);
Serial.begin(57600);
Serial.println("Initialisation de la balance...");
balance.begin(broche_DT, broche_SCK);
Th1 = 49; //48=0; 49=1; 50=2; 51=3; 52=4; 53=5; 54=6; 55=7; 56=8; 57=9
Th2 = 54;
Tmin1 = 50;
Tmin2 = 48;
a = 48;
b = 53;
c = 48;
Th = (Th1-48)*10+Th2-48;
Tmin = (Tmin1-48)*10+Tmin2-48;
A = (a-48)*100;
B = (b-48)*10;
C = c-48;
P = A+B+C;
while (!balance.is_ready())
{
;
}
balance.set_scale(254.93);
balance.tare();
Serial.println("La balance est prete!");
#ifndef ESP8266
while (!Serial);
#endif
if (! rtc.begin()) {
Serial.println("RTC is NOT connected!");
abort();
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running, let's set the time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
DateTime time = rtc.now();
Serial.println(String("DateTime::TIMESTAMP_TIME:\t")+time.timestamp(DateTime::TIMESTAMP_TIME));
Serial.print(balance.get_units(10));
Serial.println(" grammes");
delay(50);
T = time.hour();
M = time.minute();
if (T == Th && M == Tmin) {
if(balance.get_units(3) <= P){
digitalWrite(M1, HIGH);
}
if(balance.get_units(3) >= P){
digitalWrite(M1, LOW);
}
}
}