#include "HX711.h"
#include "LiquidCrystal_I2C.h"
#define DT A1
#define SCK A2
#define I2C_ADDR 0x27
#define LCD_COLUMNS 16
#define LCD_LINES 2
const uint8_t buttonPins[] = { 1, 2 };
HX711 scale;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void tara(){
digitalWrite(12, LOW);
// digitalWrite(13, LOW);
// digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
Serial.begin(9600);
Serial.print("Leitura do Valor ADC: ");
Serial.println(scale.read()); // Aguarda até o dispositivo estar pronto
lcd.setCursor(0, 0);
lcd.print("Iniciando. ");
lcd.setCursor(0, 0);
scale.set_scale(419.98);
lcd.setCursor(0, 0);
lcd.print("Iniciando..");
scale.tare(10);
lcd.setCursor(0, 0);
lcd.print("Iniciando...");
lcd.setCursor(0, 0);
lcd.print("Efetuado Tara.");
delay(100);
lcd.print(" ");
delay(1000);
}
void le_botoes (){
if (digitalRead(buttonPins[0]) == HIGH){
Serial.print("TECLA PRESSIONADA 1");
}
if (digitalRead(buttonPins[1]) == HIGH){
Serial.print("TECLA PRESSIONADA 2");
}
}
void setup() {
scale.begin (DT, SCK);
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
digitalWrite(12, LOW);
digitalWrite(13, LOW);
lcd.init();
lcd.backlight();
tara();
}
void movimento(){
digitalWrite(12, LOW);
// digitalWrite(13, LOW);
// digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
lcd.setCursor(0, 0);
lcd.print(" Powersys ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
lcd.setCursor(0, 1);
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
lcd.setCursor(0, 1);
lcd.print("Movimentar \ ");
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
lcd.setCursor(0, 1);
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
lcd.setCursor(0, 1);
lcd.print("Movimentar \ ");
lcd.setCursor(0, 1);
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
lcd.setCursor(0, 1);
lcd.print("Movimentar | ");
lcd.setCursor(0, 1);
lcd.print("Movimentar / ");
lcd.setCursor(0, 1);
lcd.print("Movimentar -- ");
delay(100);
lcd.setCursor(0, 1);
lcd.print(" ");
delay(1000);
}
void pesagem(){
// digitalWrite(12, LOW);
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
// digitalWrite(13, HIGH);
lcd.setCursor(0, 0);
lcd.print(" Powersys ");
lcd.setCursor(0, 1);
lcd.print("Peso: ");
lcd.print(scale.get_units(10), 3);
lcd.println(" kg ");
delay(1000);
scale.power_down();
delay(5000);
scale.power_up();
}
void envio(){
digitalWrite(12, LOW);
// digitalWrite(13, LOW);
// digitalWrite(12, HIGH);
digitalWrite(13, HIGH);
lcd.setCursor(0, 0);
lcd.print(" Powersys ");
lcd.setCursor(0, 1);
lcd.print("Enviar Leitura.");
delay(1000);
Serial.print("Leitura Peso: ");
Serial.println(scale.get_units(10), 3);
lcd.setCursor(0, 1);
lcd.print("Enviando Leitura.");
delay(2000);
lcd.setCursor(0, 1);
lcd.print("Leitura Enviada.");
}
void loop() {
movimento();
pesagem();
envio();
le_botoes();
}