Pojemność masy maks. 5 kg
Temperatura pracy Min -10 °C
Temperatura pracy maksymalna 40 °C
Wzmacniacz HX711 komunikuje się za pośrednictwem interfejsu dwukierunkowego. Można go podłączyć do dowolnego z cyfrowych pinów płyty Arduino. Podłączamy pin danych (DT) do pin 2 i pin zegara (CLK) do pin 3.
Wykonaj następującą tablicę lub schemat, aby podłączyć ogniwo obciążenia do deski Arduino.
Komórka obciążeniowa | RHX711 | RHX711 | Arduino |
Czerwony (E+) | E+ | GND | GND |
Czarny (E-) | E- | DT | Pin 2 |
Biały (A-) | A- | SCK | Pin 3 |
Zielony (A+) | A+ | Wpływ | 5V |
Przyjmujemy, że podłączyłeś komórkę obciążeniową do wzmacniacza HX711 i wzmacniacz do deski Arduino.
Zanim uzyskasz wagę obiektów, musisz najpierw skalibrować komórkę obciążenia, uzyskującwspółczynnik kalibracjiTwój współczynnik kalibracji będzie inny niż mój, więc nie powinieneś pomijać tej sekcji.
1)Przygotować przedmiot o znanej wadze.
2)Napisaliśmy następujący kod biorąc pod uwagę instrukcje kalibracji komórki obciążeniowej dostarczone przez dokumentację biblioteki.
/*
Rui Santos
Pełne szczegóły projektu na stronie https://RandomNerdTutorials.com/arduino-load-cell-hx711/
*/
// Kalibracja komórki obciążenia
#włączyć "HX711.h"
/ HX711 okablowanie obwodu
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
skalę HX711;
Wymagania w zakresie:
Serial.begin ((57600);
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}
puste pętle ((() {
if (scale.is_ready()) {
scale.set_scale();
Serial.println (("Tare... usunąć wszelkie ciężary z wagi. ");
opóźnienie ((5000);
skala.tare();
Serial.println ((("Ospóźnione zrobione"...);
Serial.print (("Umieść znany ciężar na wagie"...);
opóźnienie ((5000);
długie odczyty = scale.get_units(10);
Serial.print (("Wynik: ");
Serial.println ((czytanie);
}
{ inne
Serial.println (("HX711 nie znaleziono".);
}
opóźnienie ((1000);
}
// współczynnik kalibracji będzie (odczyt) / (znany ciężar)
Po przesłaniu, otwórzMonitor seryjny z częstotliwością 57600 baudówa następnie naciśnij przycisk RESET na Arduino.
4)Następnie umieść przedmiot o znanej masie na skali i poczekaj, aż otrzymasz wartość.
5)Oblicz współczynnik kalibracji za pomocą wzoru:
współczynnik kalibracyjny = (odczyt) / (znana masa)
W naszym przypadku odczyt wynosi -49171. znana masa wynosi 107 g, więc współczynnik kalibracji będzie: -49171/107 = -459.542.
współczynnik kalibracji = -49171/107 = -459.542
Zachowaj swój współczynnik kalibracji, bo będziesz go potrzebował później.
Teraz, gdy znasz współczynnik kalibracji, możesz użyć komórki obciążenia do ważenia obiektów.Zacznij od ważenia przedmiotów o znanej masie i powtórz proces kalibracji, jeśli wartości nie są dokładne.
Przed przesłaniem do deski pamięci pamiętaj o wstawieniu współczynnika kalibracji w wierszu 43/44 kodu.
/**
* Pełne szczegóły projektu na stronie https://RandomNerdTutorials.com/arduino-load-cell-hx711/
**/
#włączyć
#włączyć "HX711.h"
/ HX711 okablowanie obwodu
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
skalę HX711;
Wymagania w zakresie:
Serial.begin ((57600);
Serial.println (("HX711 Demo");
Serial.println (("Initializacja skali");
scale.begin ((LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
Serial.println (("Przed ustawieniem skali:");
Serial.print (("czytaj: tt");
Serial.println ((scale.read()); // wydrukować czytanie surowe z ADC
Serial.print (("przeciętna odczytność: tt");
Serial.println ((scale.read_average(20)); // wydrukować średnią 20 odczytów z ADC
Serial.print (("zdobądź wartość: tt");
Serial.println ((scale.get_value(5)); // wydrukuj średnią 5 odczytów z ADC minus wagę tary (jeszcze nie ustawiona)
Serial.print (("get units: tt");
Serial.println ((scale.get_units ((5), 1); // wydrukuj średnią 5 odczytów z ADC minus waga tary (nie ustawiona) podzielone
// przez parametr SCALE (jeszcze nie ustawiony)
scale.set_scale ((-459.542);
//scale.set_scale ((-471.497); // wartość ta uzyskuje się poprzez kalibrację skali z znanymi wagami; szczegółowe informacje znajdują się w README
scale.tare(); // zresetuj skalę do 0
Serial.println (("Po ustawieniu skali:");
Serial.print (("czytaj: tt");
Serial.println ((scale.read()); // wydrukować czytanie surowe z ADC
Serial.print (("przeciętna odczytność: tt");
Serial.println ((scale.read_average(20)); // wydrukować średnią 20 odczytów z ADC
Serial.print (("zdobądź wartość: tt");
Serial.println ((scale.get_value(5)); // wydrukuj średnią 5 odczytów z ADC minus wagę tara, ustawioną z tare()
Serial.print (("get units: tt");
Serial.println ((scale.get_units ((5), 1); // wydrukuj średnią 5 odczytów z ADC minus wagę tary, podzielonej
// przez parametr SCALE zestawiony z set_scale
Serial.println (("Odczyty:");
}
puste pętle ((() {
Serial.print (("jeden odczyt:t");
Serial.print ((scale.get_units ((), 1);
Serial.print (("tłuściowa średnia:t");
Serial.println ((scale.get_units ((10), 5);
opóźnienie ((5000);
}