ahi va el codigo de arduino (muy desprolijo) que estoy usando.
Copiar lo que sigue y grabar archivo de texto con extension .ino
/*
*
* es un codigo bajado de la web para ej de balanza con arduino
*
* mencionado en el foro
* modificado por mi seguramente tiene muchos errores
* para sensor por toque CNC palpador XYZ
*
*
https://naylampmechatronics.com/blog/25_tutorial-trasmisor-de-celda-de-carga-hx711-ba.html *
* Librería HX711 para Arduino
Estamos utilizando la librería HX711 de Bogde el cual lo pueden descargar desde Github:
-
https://github.com/bogde/HX711Una vez descargado hay que importarla a nuestro IDE de Arduino.
Explicaremos las funciones principales de esta librería.
begin(byte PinData, byte PinClock)
Inicializa el HX711, se puede trabajar con cualquiera de los pines.
tare(byte n);
Establece el peso actual como el peso de tara, n indica el número de lecturas que se realizan para obtener la tara, por defecto n=10;
set_scale(float scale);
Establece el valor de la escala, que es el factor de conversión para convertir valor de lectura en un valor con unidades de peso. Por defecto es scale=1;
read()
Espera hasta que el dispositivo esté listo y devuelve la lectura del ADC del HX711
read_average(byte n)
Realiza n veces la lectura del ADC y devuelve el promedio
get_value(byte n)
Devuelve el valor actual restando el peso de tara. Equivalente a (read_average() - OFFSET) . Si se especifica un valor de n, devuelve el promedio de n lecturas.
get_units(byte n)
Devuelve el valor actual restado del peso de tara y dividido por la escala. Es equivalente a (get_value()/SCALE). Si se especifica un valor de n, devuelve el promedio de n lecturas.
*/
#include "HX711.h"
const int DOUT=A1;
const int CLK=A0;
int touch = 0;
int tare = 0;
int ledPin = 13; // LED connected to digital pin 13 salida para entrada digitalizadora de mach3
HX711 balanza;
void setup() {
Serial.begin (115200);
balanza.begin(DOUT, CLK);
pinMode(ledPin, OUTPUT); // sets the digital pin as output
{Serial.print("Lectura del valor del ADC: ");
Serial.println(balanza.read());
Serial.println("No ponga ningun objeto sobre la balanza");
Serial.println("Destarando...");
Serial.println("...");}
balanza.set_scale(439430.25 ); // Establecemos la escala 439430.25
balanza.tare(20); //El peso actual es considerado Tara.
tare=balanza.read();
Serial.println("Listo para pesar");
}
void loop() {
//Serial.print("Peso: ");
touch=balanza.read()-tare; // restar o sumar offset necesario ;
Serial.println(touch); // poner esta linea para salida serie
// Serial.print(" gr ");
if ( touch <1000 && touch >-1000 )
{touch=0;
digitalWrite(ledPin, LOW); // sets the LED OFF
}
else
{
touch=1; digitalWrite(ledPin, HIGH); // sets the LED on
}
}