- Mga Kinakailangan na Mga Bahagi upang bumuo ng isang Arduino Timbang ng timbang:
- Load Cell at HX711 Module ng Sensor ng Timbang:
- Paliwanag sa Circuit:
- Paggawa ng Paliwanag:
- Arduino Weighing Scale Code:
Ngayon ay magtatayo kami ng isang Arduino wight machine, sa pamamagitan ng pag- interfaced ng Load Cell at HX711 Weight Sensor sa Arduino. Nakita namin ang mga weight machine sa maraming mga tindahan, kung saan ipinapakita ng makina ang timbang sa pamamagitan lamang ng paglalagay ng isang item sa platform ng pagtimbang. Kaya't dito namin itinatayo ang parehong makina ng Timbang sa pamamagitan ng paggamit ng Arduino at Load cells, pagkakaroon ng kapasidad na pagsukat hanggang sa 40kg. Ang limitasyong ito ay maaaring dagdagan sa pamamagitan ng paggamit ng Load cell na may mas mataas na kapasidad.
Ang pangunahing sangkap na kinakailangan upang buuin ang scale ng pagtimbang ng Arduino na ito ay isang sensor na maaaring baguhin ang timbang sa isang katumbas na signal ng elektrisidad. Ang sensor na ito ay tinawag bilang cell ng pag-load, kaya sa proyektong ito, gagamitin namin ang cell ng pag-load na ito bilang aming sensor ng timbang na Arduino. Gumamit din kami ng parehong cell ng pag-load sa ilang iba pang mga proyekto tulad ng, tulad ng Portable Arduino Retail Weighing Machine, Raspberry pi Weighing scale, atbp, maaari mo ring suriin ang mga ito kung interesado.
Mga Kinakailangan na Mga Bahagi upang bumuo ng isang Arduino Timbang ng timbang:
- Arduino Uno
- Load cell (40kg)
- HX711 Module ng Amplifier ng cell ng load
- 16x2 LCD
- Mga kumokonekta na mga wire
- kable ng USB
- Breadboard
- Mga bolts ng nut, Frame, at base
Load Cell at HX711 Module ng Sensor ng Timbang:
Ang load cell ay isang transducer na nagbabago ng lakas o presyon sa output ng elektrisidad. Ang lakas ng output ng elektrisidad na ito ay direktang proporsyonal sa puwersa na inilalapat. Ang mga cell ng pag-load ay mayroong isang gauge ng pilay, na nagpapapangit kapag inilapat ang presyon dito. At pagkatapos ang gauge ng gauge ay bumubuo ng isang de-koryenteng signal sa pagpapapangit dahil ang mabisang paglaban nito ay nagbabago sa pagpapapangit. Ang isang load cell ay karaniwang binubuo ng apat na mga gauge ng sala sa isang pagsasaayos ng tulay ng Wheatstone. Ang load cell ay nagmumula sa iba't ibang mga saklaw tulad ng 5kg, 10kg, 100kg at higit pa, dito namin ginamit ang Load cell, na maaaring tumimbang ng hanggang 40kg.
Ngayon ang mga signal ng elektrisidad na nabuo ng Load cell ay nasa ilang millivolts, kaya't kailangan nilang palakasin ng ilang amplifier at samakatuwid ang HX711 Weighing Sensor ay nasa larawan. Ang HX711 Weighing Sensor Module ay may HX711 chip, na kung saan ay isang 24 mataas na katumpakan na A / D converter (Analog sa digital converter). Ang HX711 ay may dalawang mga analog input channel at maaari kaming makakuha ng hanggang sa128 sa pamamagitan ng pagprograma sa mga channel na ito. Kaya pinalalaki ng module ng HX711 ang mababang output ng kuryente ng mga cell ng Load at pagkatapos ang pinalakas at digital na na-convert na signal ay pinakain sa Arduino upang makuha ang timbang.
Ang load cell ay konektado sa HX711 Load cell Amplifier gamit ang apat na wires. Ang apat na mga wire na ito ay Pula, Itim, Puti, at Green / Blue. Maaaring may isang bahagyang pagkakaiba-iba sa mga kulay ng mga wire mula sa module hanggang sa module. Sa ibaba ng mga detalye ng koneksyon at diagram:
- Ang RED Wire ay konektado sa E +
- Ang BLACK Wire ay konektado sa E-
- Ang WHITE Wire ay konektado sa A-
- Ang GREEN Wire ay konektado sa A +
Pag-aayos ng Load Cell na may Platform at Base:
Ang hakbang na ito ay opsyonal at maaari mong direktang ilagay ang mga timbang sa Load cell nang walang Platform at maaaring i-clamp ito nang hindi inaayos ito sa anumang base, ngunit mas mahusay na maglakip ng isang platform para sa paglalagay ng malalaking bagay dito at ayusin ito sa isang Base upang ito ay tumigil. Kaya narito kailangan nating gumawa ng isang frame o platform para sa paglalagay ng mga bagay para sa pagsukat ng timbang. Kinakailangan din ang isang batayan upang ayusin ang load cell sa ibabaw nito sa pamamagitan ng paggamit ng mga nut at bolts. Dito nagamit namin ang matitigas na karton para sa frame para sa paglalagay ng mga bagay sa ibabaw nito at isang kahoy na board bilang isang Base. Ngayon gawin ang mga koneksyon tulad ng ipinakita sa circuit diagram at handa ka nang pumunta.
Paliwanag sa Circuit:
Ang mga koneksyon para sa proyektong ito ay madali at ang eskematiko ay ibinibigay sa ibaba. Ang 16x2 LCD pin na RS, EN, d4, d5, d6, at d7 ay konektado sa mga pin number 8, 9, 10, 11, 12, at 13 ng Arduino ayon sa pagkakabanggit. Ang DT at SCK na mga pin ng HX711 Module ay direktang konektado sa mga pin ng Arduino na A0 at A1. Ang mga koneksyon sa pag-load ng cell sa module na HX711 ay naipaliwanag nang mas maaga at ipinapakita din sa ibaba ng diagram ng circuit.
Paggawa ng Paliwanag:
Ang prinsipyo ng pagtatrabaho ng Arduino na proyekto sa Pagsukat ng Timbang ay madali. Bago pumunta sa mga detalye, una, kailangan nating i- calibrate ang system na ito para sa pagsukat ng tamang timbang. Kapag pinapagana ng gumagamit ito ang sistema ay awtomatikong magsisimulang mag-calibrate. At kung nais ng gumagamit na i-calibrate ito nang manu-mano pagkatapos ay pindutin ang pindutan ng push. Nilikha namin ang isang function na void calibrate () para sa mga layunin sa pagkakalibrate, suriin ang code sa ibaba.
Para sa pagkakalibrate, maghintay para sa pahiwatig ng LCD para sa paglalagay ng 100 gramo sa load cell tulad ng ipinakita sa larawan sa ibaba. Kapag ang LCD ay magpapakita ng "maglagay ng 100g" pagkatapos ay ilagay ang bigat na 100g sa load cell at maghintay. Matapos ang ilang segundo ay matapos na ang proseso ng pagkakalibrate. Pagkatapos ng calibration na gumagamit ay maaaring maglagay ng anumang timbang (max 40kg) sa load cell at maaaring makuha ang halaga sa LCD sa gramo.
Sa proyektong ito, ginamit namin ang Arduino upang makontrol ang buong proseso. Nararamdaman ng load ng cell ang bigat at nagbibigay ng isang elektrikal na boltahe ng analog sa HX711 Load Amplifier Module. Ang HX711 ay isang 24bit ADC, na nagpapalakas at digital na nagko-convert sa output ng Load cell. Pagkatapos ang pinalakas na halagang ito ay pinakain sa Arduino. Kinakalkula ngayon ng Arduino ang output ng HX711 at binago iyon sa mga halaga ng timbang sa gramo at ipinapakita ito sa LCD. Ginagamit ang isang push-button para sa pag-calibrate ng system. Nagsulat kami ng isang programa ng Arduino para sa buong proseso, suriin ang Code at demo na Video sa pagtatapos ng tutorial na ito.
Arduino Weighing Scale Code:
Ang bahagi ng programa ng proyektong ito ay isang maliit na kumplikado para sa mga nagsisimula. Sa proyektong ito, hindi kami gumamit ng anumang silid- aklatan para sa interfacing ng HX711 load sensor sa Arduino. Sinundan lamang namin ang datasheet ng HX711 at mga tala ng application. Bagaman mayroong ilang mga silid-aklatan na naroroon para sa hangaring ito, kung saan kailangan mo lamang isama ang library na iyon at maaari kang makakuha ng timbang gamit ang isang linya ng code.
Una sa lahat, nagsama kami ng isang header file para sa LCD at tinukoy ang mga pin para sa pareho. At para sa push-button din. Pagkatapos ay idineklara ang ilang mga variable para sa layunin ng pagkalkula.
# isama
Pagkatapos nito, nilikha namin ang pagpapaandar sa ibaba para sa pagbabasa ng data mula sa module na HX711 at ibalik ang output nito.
unsigned long readCount (walang bisa) {unsigned long Count; unsigned char i; pinMode (DT, OUTPUT); digitalWrite (DT, TAAS); digitalWrite (SCK, LOW); Bilang = 0; pinMode (DT, INPUT); habang (digitalRead (DT)); para sa (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Bilang = Bilangin << 1; digitalWrite (SCK, LOW); kung (digitalRead (DT)) Bilang ++; } digitalWrite (SCK, TAAS); Bilang = Bilang ^ 0x800000; digitalWrite (SCK, LOW); bumalik (Bilang); }
Pagkatapos nito, nasimulan namin ang LCD at nagbibigay ng mga direksyon sa mga input at output na pin sa walang bisa na pag-set up ().
void setup () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Timbang"); lcd.setCursor (0,1); lcd.print ("Pagsukat"); pagkaantala (1000); lcd.clear (); i-calibrate (); }
Susunod sa pag- andar ng void loop () , nabasa namin ang data mula sa HX711 module at na-convert ang data na ito sa timbang (gramo) at ipinadala ito sa LCD.
void loop () {count = readCount (); int w = (((count-sample) / val) -2 * ((count-sample) / val)); Serial.print ("bigat:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Timbang"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); kung (digitalRead (sw) == 0) {val = 0; sample = 0; w = 0; bilangin = 0; i-calibrate (); }}
Bago ito, lumikha kami ng isang pag-andar ng pagkakalibrate kung saan namin na-calibrate ang system sa pamamagitan ng paglalagay ng bigat na 100gm sa Load cell.
walang bisa ang pag-calibrate () {lcd.clear (); lcd.print ("Pagkakalibrate…"); lcd.setCursor (0,1); lcd.print ("Mangyaring Maghintay…"); para sa (int i = 0; i <100; i ++) {count = readCount (); sample + = bilangin; Serial.println (count); }……………….
Kaya dito natutunan natin ang pangunahing Interfacing ng Load cell at HX11 Weight Sensor kasama si Arduino upang masukat ang mga timbang. Sa aming mga tutorial sa teksto, lilikha kami ng ilang mga application batay sa pagsukat ng timbang tulad ng Smart container, Awtomatikong gate atbp.