ARDUINO HX711 Weighing Sensors ADC Module User Manual
განაცხადი მაგample Arduino Uno-სთან ერთად:
ჩატვირთვის უჯრედების უმეტესობას აქვს ოთხი მავთული: წითელი, შავი, მწვანე და თეთრი. HX711 დაფაზე ნახავთ E+/E-, A+/A- და B+/Bკავშირებს. დააკავშირეთ დატვირთვის უჯრედი HX711 სენსორის დაფას შემდეგი ცხრილის მიხედვით:
HX711 დატვირთვის სენსორის დაფა | ჩატვირთვის უჯრედის მავთული |
E+ | წითელი |
E- | შავი |
A+ | მწვანე |
A- | თეთრი |
B- | გამოუყენებელი |
B+ | გამოუყენებელი |
HX711 სენსორი | არდუინო უნო |
GND | GND |
DT | D3 |
SCK | D2 |
VCC | 5V |
HX711 მოდული მუშაობს 5 ვ-ზე და კომუნიკაცია ხდება სერიული SDA და SCK პინების გამოყენებით.
სად მივიღოთ წონა დატვირთვის უჯრედზე?
თქვენ ხედავთ, რომ ისარი ნაჩვენებია ჩატვირთვის უჯრედზე. ეს ისარი გვიჩვენებს დატვირთვის უჯრედზე ძალის მიმართულებას. ფიგურაში ნაჩვენები განლაგება შეგიძლიათ ლითონის ზოლების გამოყენებით. მიამაგრეთ ლითონის ზოლები ჩატვირთვის უჯრედზე ჭანჭიკების გამოყენებით.
Arduino UNO-ს დაპროგრამება წონის კილოგრამებში გასაზომად:
შეაერთეთ სქემა, როგორც ეს ნაჩვენებია სურათზე 1 ზემოთ.
იმისათვის, რომ ამ სენსორულმა მოდულმა იმუშაოს Arduino დაფებთან, ჩვენ გვჭირდება HX711 ბიბლიოთეკა, რომელსაც შეუძლია ჩაიტვირთოს https://github.com/bogde/HX711.
სანამ HX711 შეიძლება გამოიყენებოდეს ობიექტის წონის ზუსტად გასაზომად, ჯერ უნდა მოხდეს მისი დაკალიბრება. ქვემოთ მოცემული ნაბიჯი გაჩვენებთ, თუ როგორ უნდა გააკეთოთ კალიბრაცია.
1 ნაბიჯი: კალიბრაციის ესკიზი
ატვირთეთ ქვემოთ მოცემული ესკიზი Arduino Uno Board-ზე
/* Handson Technology www.handsontec.com
* 29 წლის 2017 დეკემბერი
* ჩატვირთეთ Cell HX711 მოდულის ინტერფეისი Arduino-სთან წონის გაზომვისთვის კგ-ებში
არდუინო
ქინძისთავი
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno-ს ნებისმიერი პინი თავსებადი იქნება DOUT/CLK-თან.
HX711 დაფა შეიძლება იკვებებოდეს 2.7V-დან 5V-მდე, ამიტომ Arduino 5V სიმძლავრე კარგი უნდა იყოს.
*/
#include “HX711.h” //თქვენ უნდა გქონდეთ ეს ბიბლიოთეკა თქვენს arduino ბიბლიოთეკის საქაღალდეში
#define DOUT 3
#define CLK 2
HX711 მასშტაბი (DOUT, CLK);
//შეცვალეთ ეს კალიბრაციის ფაქტორი თქვენი დატვირთვის უჯრედის მიხედვით, როგორც კი აღმოაჩენთ, რომ ბევრი გჭირდებათ
იცვალეთ იგი ათასობით
float calibration_factor = -96650; //-106600 მუშაობდა ჩემი 40 კგ მაქსიმალური მასშტაბის დაყენებისთვის
//================================================= ========================================
// ᲐᲬᲧᲝᲑᲐ
//================================================= ========================================
void setup() {
Serial.begin(9600);
Serial.println (“HX711 Calibration”);
Serial.println („სასწორიდან ყველა წონის ამოღება“);
Serial.println („კითხვის დაწყების შემდეგ, მოათავსეთ ცნობილი წონა სასწორზე“);
Serial.println(„დააჭირეთ a,s,d,f კალიბრაციის კოეფიციენტის 10,100,1000,10000-ით გასაზრდელად
შესაბამისად“);
Serial.println(„დააჭირეთ z,x,c,v კალიბრაციის კოეფიციენტის შესამცირებლად 10,100,1000,10000-ით
შესაბამისად“);
Serial.println („დააჭირე t ტარისთვის“);
scale.set_scale();
scale.tare(); //გადააყენეთ მასშტაბი 0-მდე
long zero_factor = scale.read_average(); //მიიღეთ საბაზისო კითხვა
Serial.print(„ნულოვანი ფაქტორი:“); //ეს შეიძლება გამოყენებულ იქნას მასშტაბის ტარების საჭიროების მოსაშორებლად.
სასარგებლოა მუდმივი მასშტაბის პროექტებში.
Serial.println(ნულოვანი_ფაქტორი);
}
//================================================= ========================================
// LOOP
//================================================= ========================================
void loop() {
scale.set_scale(calibration_factor); //მორგება ამ კალიბრაციის კოეფიციენტზე
Serial.print ("კითხვა: ");
Serial.print(scale.get_units(), 3);
Serial.print (" კგ"); //შეცვალეთ ეს კგ-ზე და ხელახლა დაარეგულირეთ კალიბრაციის ფაქტორი თუ თქვენ
მიჰყევით SI ერთეულებს, როგორც საღი ადამიანი
Serial.print(" calibration_factor: ");
Serial.print(calibration_factor);
Serial.println ();
if(Serial.available())
{
char temp = Serial.read();
if(ტემპი == '+' || ტემპერატურა == 'a')
კალიბრაციის_ფაქტორი += 10;
else if(temp == '-' || temp == 'z')
კალიბრაციის_ფაქტორი -= 10;
else if(temp == 's')
კალიბრაციის_ფაქტორი += 100;
else if (ტემპი == 'x')
კალიბრაციის_ფაქტორი -= 100;
else if (ტემპ == 'd')
კალიბრაციის_ფაქტორი += 1000;
else if (ტემპ == 'c')
კალიბრაციის_ფაქტორი -= 1000;
else if (ტემპ == 'f')
კალიბრაციის_ფაქტორი += 10000;
else if(temp == 'v')
კალიბრაციის_ფაქტორი -= 10000;
else if (ტემპ == 't')
scale.tare(); // მასშტაბის გადატვირთვა ნულამდე
}
}
//================================================= =======================================
ამოიღეთ ნებისმიერი დატვირთვა დატვირთვის სენსორიდან. გახსენით სერიული მონიტორი. ქვემოთ მოცემული ფანჯარა უნდა გაიხსნას, სადაც ნაჩვენებია, რომ მოდული წარმატებით იყო დაკავშირებული Arduino Uno-სთან.
მოათავსეთ ცნობილი წონის ობიექტი დატვირთვის უჯრედზე. ამ შემთხვევაში ავტორმა გამოიყენა ცნობილი წონა 191 გრამი 10 კგ Load Cell-ით. სერიული მონიტორი აჩვენებს წონის გარკვეულ ფიგურას, როგორც ეს ნაჩვენებია ქვემოთ:
აქ უნდა გავაკეთოთ კალიბრაცია:
- შეიყვანეთ ასო "a, s, d, f" სერიული მონიტორის ბრძანების სივრცეში და დააჭირეთ ღილაკს "გაგზავნა", რათა გაზარდოთ კალიბრაციის კოეფიციენტი 10, 100, 1000, 10000 შესაბამისად.
- შეიყვანეთ ასო „z, x, c, v“ სერიული მონიტორის ბრძანების სივრცეში და დააჭირეთ ღილაკს „გაგზავნა“ კალიბრაციის კოეფიციენტის შესამცირებლად 10, 100, 1000, 10000 შესაბამისად.
გააგრძელეთ კორექტირება მანამ, სანამ მაჩვენებელი არ აჩვენებს დატვირთვის უჯრედზე მოთავსებულ რეალურ წონას. ჩაწერეთ „calibration_factor“ მნიშვნელობა, ამ შემთხვევაში „-239250“ ავტორის წონაში 191 გ მითითებით 10 კგ დატვირთვის უჯრედით. ჩვენ დაგვჭირდება ეს მნიშვნელობა, რომ შევაერთოთ მეორე ესკიზში რეალური გაზომვისთვის.
მე-2 ნაბიჯი: რეალური წონის გაზომვის საბოლოო კოდი
ესკიზის ატვირთვამდე უნდა ჩავრთოთ 1-ლი ნაბიჯით მიღებული „კალიბრაციის ფაქტორი“:
ატვირთეთ ქვემოთ მოცემული ესკიზი Arduino Uno Board-ზე, მასშტაბის ფაქტორის შეცვლის შემდეგ:
/* Handson Technology www.handsontec.com
* 29 წლის 2017 დეკემბერი
* ჩატვირთეთ Cell HX711 მოდულის ინტერფეისი Arduino-სთან წონის გაზომვისთვის კგ-ებში
არდუინო
ქინძისთავი
2 -> HX711 CLK
3 -> DOUT
5V -> VCC
GND -> GND
Arduino Uno-ს ნებისმიერი პინი თავსებადი იქნება DOUT/CLK-თან.
HX711 დაფა შეიძლება იკვებებოდეს 2.7V-დან 5V-მდე, ამიტომ Arduino 5V სიმძლავრე კარგი უნდა იყოს.
*/
#include “HX711.h” //თქვენ უნდა გქონდეთ ეს ბიბლიოთეკა თქვენს arduino ბიბლიოთეკის საქაღალდეში
#define DOUT 3
#define CLK 2
HX711 მასშტაბი (DOUT, CLK);
//შეცვალეთ ეს კალიბრაციის ფაქტორი თქვენი დატვირთვის უჯრედის მიხედვით, როგორც კი აღმოაჩენთ, ბევრს უნდა შეცვალოთ იგი ათასობით
float calibration_factor = -96650; //-106600 მუშაობდა ჩემი 40 კგ მაქსიმალური მასშტაბის დაყენებისთვის
//================================================= ==================================================================
// ᲐᲬᲧᲝᲑᲐ
//================================================= ==================================================================
void setup() {
Serial.begin(9600);
Serial.println („დააჭირე T ტარამდე“);
scale.set_scale(-239250); //კალიბრაციის ფაქტორი მიღებული პირველი ჩანახატიდან
scale.tare(); //გადააყენეთ მასშტაბი 0-მდე
}
//================================================= ==================================================================
// LOOP
//================================================= ==================================================================
void loop() {
Serial.print(“წონა:“);
Serial.print(scale.get_units(), 3); //3 ათობითი ქულამდე
Serial.println(" კგ"); //შეცვალეთ ეს კგ-ზე და ხელახლა დაარეგულირეთ კალიბრაციის ფაქტორი, თუ დაიცავთ lbs-ს
if(Serial.available())
{
char temp = Serial.read();
if (ტემპი == 't' || ტემპი == 'T')
scale.tare(); // მასშტაბის გადატვირთვა ნულამდე
}
}
//================================================= ==================================================================
ესკიზის წარმატებით ატვირთვის შემდეგ გახსენით სერიული მონიტორი. უნდა გამოჩნდეს ქვემოთ მოცემული ფანჯარა, რომელიც აჩვენებს გაზომვის რეალურ მნიშვნელობას:
თქვენ შეგიძლიათ აღადგინოთ მაჩვენებელი 0.000 კგ-მდე (დატვირთვის გარეშე) კლავიშებით „t“ ან „T“ ბრძანების სივრცეში და დააჭირეთ ღილაკს „გაგზავნა“. ქვემოთ მოყვანილი დისპლეი, რომელიც აჩვენებს გაზომვის მნიშვნელობას, ხდება 0.000 კგ.
მოათავსეთ ობიექტი დატვირთვის უჯრედზე, უნდა იყოს ნაჩვენები რეალური წონა. ქვემოთ მოცემულია წონის ჩვენება 191 გრამიანი ობიექტის მოთავსებისას (გამოიყენება 1 საფეხურზე კალიბრაციისთვის).
ჰოო! თქვენ შექმენით სასწორი სამი ათობითი წერტილის სიზუსტით!
დოკუმენტები / რესურსები
![]() |
ARDUINO HX711 ასაწონი სენსორები ADC მოდული [pdf] მომხმარებლის სახელმძღვანელო HX711 ასაწონი სენსორები ADC მოდული, HX711, ასაწონი სენსორები ADC მოდული, სენსორები ADC მოდული, ADC მოდული, მოდული |