Como hacer código en arduino para una celda de carga

Hola! Buen día!

Necesito hacer un código en arduino el cual consiste en controlar una celda de carga para que me mande lecturas al display por el momento solammente lo estoy probando con el serial pero no me da datos lógicos aun no he colocado ningún peso en una celda de carga y ya me esta mandando los siguientes datos:

analogValue: 1023.00

Load: 51.14985

Tomando en cuenta que mi celda de carga es para un máximo de 40kg

El código utilizado es el siguiente:

// Load cells are linear. So once you have established two data pairs, you can interpolate the rest.

// Step 1: Upload this sketch to your arduino board

// You need two loads of well know weight. In this example A = 10 kg. B = 30 kg

// Put on load A 

// read the analog value showing (this is analogvalA)

// put on load B

// read the analog value B

// Enter you own analog values here

float loadA = 10; // kg

int analogvalA = 200; // analog reading taken with load A on the load cell

float loadB = 30; // kg 

int analogvalB = 600; // analog reading taken with load B on the load cell

// Upload the sketch again, and confirm, that the kilo-reading from the serial output now is correct, using your known loads

float analogValueAverage = 0;

// How often do we do readings?

long time = 0; // 

int timeBetweenReadings = 200; // We want a reading every 200 ms;

void setup() {

  Serial.begin(9600);

}

void loop() {

  int analogValue = analogRead(0);

  // running average - We smooth the readings a little bit

  analogValueAverage = 0.99*analogValueAverage + 0.01*analogValue;

  // Is it time to print? 

  if(millis() > time + timeBetweenReadings){

    float load = analogToLoad(analogValueAverage);

    Serial.print("analogValue: ");Serial.println(analogValueAverage);

    Serial.print("load: ");Serial.println(load,5);

    time = millis();

  }

}

float analogToLoad(float analogval){

  // using a custom map-function, because the standard arduino map function only uses int

  float load = mapfloat(analogval, analogvalA, analogvalB, loadA, loadB);

  return load;

}

float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)

{

  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;

}

Espero me puedan ayudar, gracias anexo info de los datos de la celda de carga .Saludos y de antemano gracias!

Modelo: PW6K

Capacidad: 40 Kg

Grado de protección: IP 65

Material: Aluminio

Limite de carga: 150 %

Resistencia de entrada: 420 ohms (+/- 20)

Resistencia de salida: 350 ohms +/- 5

Voltaje de excitación: 1-15 Vcc

Estoy utilizando un amplificador ina125P

Añade tu respuesta

Haz clic para o