Tuesday 9 September 2014

measurement - How to connect bathroom scale (arduino+hx711+spark load connector)


Im a new user in the electronic world. I tried to hack my bathroom weight scale but no success. There is a great tutorial which I followed:


https://www.youtube.com/watch?v=iywsJB-T-mU


my parts:



Could somebody who has more experience take a look at my solution?


I checked with multimeter and all wires are ok.


enter image description here



to save place I showed only one connected load sensor but 3 next I connected in the same way.


Im getting only:


one reading:    0.0 | average:  0.0
0
one reading: 0.0 | average: 0.0
0

What can be a problem? Im trying to do a whole week with different arduinos and no success :(


code which Im using:


#include "HX711.h"

#include "soc/rtc.h"

HX711 scale;


void setup() {
Serial.begin(115200);
rtc_clk_cpu_freq_set(RTC_CPU_FREQ_80M);
Serial.println("Diska");


Serial.println("Initializing the scale");
// parameter "gain" is ommited; the default value 128 is used by the library
// HX711.DOUT - pin #A1
// HX711.PD_SCK - pin #A0
scale.begin(26, 25);


Serial.println("Before setting up the scale:");
Serial.print("read: \t\t");
Serial.println(scale.read()); // print a raw reading from the ADC


Serial.print("read average: \t\t");
Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC

Serial.print("get value: \t\t");
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight (not set yet)

Serial.print("get units: \t\t");
Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight (not set) divided
// by the SCALE parameter (not set yet)


scale.set_scale(233.82); // this value is obtained by calibrating the scale with known weights; see the README for details
scale.tare(); // reset the scale to 0

Serial.println("After setting up the scale:");

Serial.print("read: \t\t");
Serial.println(scale.read()); // print a raw reading from the ADC

Serial.print("read average: \t\t");

Serial.println(scale.read_average(20)); // print the average of 20 readings from the ADC

Serial.print("get value: \t\t");
Serial.println(scale.get_value(5)); // print the average of 5 readings from the ADC minus the tare weight, set with tare()

Serial.print("get units: \t\t");
Serial.println(scale.get_units(5), 1); // print the average of 5 readings from the ADC minus tare weight, divided
// by the SCALE parameter set with set_scale

Serial.println("Readings:");

}

void loop() {
Serial.print("one reading:\t");
Serial.print(scale.get_units(), 1);
Serial.print("\t| average:\t");
Serial.println(scale.get_units(10), 1);

int ww = (int)(scale.get_units(10) + 0.5);
Serial.println(ww);



scale.power_down(); // put the ADC in sleep mode
delay(100);
scale.power_up();
}


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...