- Komponenty wymagane do zbudowania wagi Arduino:
- Moduł czujnika wagi i czujnika wagi HX711:
- Objaśnienie obwodu:
- Objaśnienie robocze:
- Kod wagi Arduino:
Dzisiaj zamierzamy zbudować maszynę Arduino, łącząc ogniwo obciążeniowe i czujnik wagi HX711 z Arduino. W wielu sklepach widzieliśmy maszyny do ważenia, w których maszyna wyświetla wagę po prostu umieszczając przedmiot na platformie ważącej. Więc tutaj budujemy tę samą wagę z wykorzystaniem Arduino i ogniw obciążnikowych o udźwigu do 40kg. Limit ten można dodatkowo zwiększyć, stosując ogniwo obciążnikowe o większej pojemności.
Głównym elementem wymaganym do zbudowania tej wagi Arduino jest czujnik, który może przekształcić wagę na równoważny sygnał elektryczny. Ten czujnik jest nazywany ogniwem obciążnikowym, więc w tym projekcie użyjemy tego ogniwa obciążnikowego jako naszego czujnika wagi Arduino. Użyliśmy również tego samego ogniwa obciążnikowego w kilku innych projektach, takich jak przenośna maszyna do ważenia detalicznego Arduino, waga do ważenia Raspberry pi itp. Możesz je również sprawdzić, jeśli jesteś zainteresowany.
Komponenty wymagane do zbudowania wagi Arduino:
- Arduino Uno
- Ogniwo obciążnikowe (40 kg)
- HX711 Moduł wzmacniacza ogniwa obciążnikowego
- Wyświetlacz LCD 16x2
- Przewody łączące
- Kabel USB
- Płytka prototypowa
- Śruby z nakrętkami, rama i podstawa
Moduł czujnika wagi i czujnika wagi HX711:
Ogniwo obciążnikowe to przetwornik, który przekształca siłę lub ciśnienie na moc elektryczną. Wielkość tej mocy elektrycznej jest wprost proporcjonalna do przyłożonej siły. Ogniwa obciążnikowe mają tensometr, który odkształca się pod wpływem nacisku. Następnie tensometr generuje sygnał elektryczny w przypadku odkształcenia, gdy jego efektywna rezystancja zmienia się przy odkształceniu. Ogniwo obciążnikowe zwykle składa się z czterech tensometrów w konfiguracji mostka Wheatstone'a. Ogniwo obciążnikowe występuje w różnych zakresach, takich jak 5 kg, 10 kg, 100 kg i więcej, tutaj użyliśmy ogniwa obciążnikowego, które może ważyć do 40 kg.
Teraz sygnały elektryczne generowane przez ogniwo obciążnikowe mają kilka miliwoltów, więc muszą być dalej wzmacniane przez jakiś wzmacniacz, a zatem pojawia się czujnik ważenia HX711. Moduł czujnika ważącego HX711 ma układ HX711, który jest 24 precyzyjnym przetwornikiem A / D (przetwornik analogowo-cyfrowy). HX711 ma dwa analogowe kanały wejściowe i programując te kanały możemy uzyskać wzmocnienie do 128. Zatem moduł HX711 wzmacnia niską moc elektryczną ogniw obciążnikowych, a następnie ten wzmocniony i cyfrowo przekonwertowany sygnał jest podawany do Arduino w celu uzyskania wagi.
Ogniwo obciążnikowe jest połączone ze wzmacniaczem ogniw obciążnikowych HX711 za pomocą czterech przewodów. Te cztery przewody to czerwony, czarny, biały i zielono-niebieski. Mogą występować niewielkie różnice w kolorach przewodów w poszczególnych modułach. Poniżej szczegóły połączenia i schemat:
- Przewód CZERWONY jest podłączony do E +
- CZARNY przewód jest podłączony do E-
- BIAŁY przewód jest podłączony do A-
- ZIELONY przewód jest podłączony do A +
Mocowanie ogniwa obciążnikowego z platformą i podstawą:
Ten krok jest opcjonalny i możesz bezpośrednio umieścić obciążniki na ogniwie obciążnikowym bez platformy i po prostu zacisnąć je bez mocowania za pomocą jakiejkolwiek podstawy, ale lepiej jest przymocować platformę do umieszczania na niej dużych rzeczy i zamocować ją na podstawie tak, aby się zatrzymał. Więc tutaj musimy zrobić ramę lub platformę do umieszczenia rzeczy do pomiaru wagi. Wymagana jest również podstawa do zamocowania nad nim ogniwa obciążnikowego za pomocą nakrętek i śrub. Tutaj użyliśmy twardego kartonu na ramę do umieszczenia na niej rzeczy i drewnianej deski jako podstawy. Teraz wykonaj połączenia, jak pokazano na schemacie połączeń i jesteś gotowy do pracy.
Objaśnienie obwodu:
Połączenia dla tego projektu są łatwe, a schemat przedstawiono poniżej. 16x2 piny LCD RS, EN, d4, d5, d6 i d7 są połączone odpowiednio z numerami pinów 8, 9, 10, 11, 12 i 13 Arduino. Piny DT i SCK modułu HX711 są bezpośrednio połączone z pinami A0 i A1 Arduino. Połączenia ogniw obciążnikowych z modułem HX711 zostały już wyjaśnione wcześniej, a także pokazano na poniższym schemacie połączeń.
Objaśnienie robocze:
Zasada działania tego projektu pomiaru wagi Arduino jest prosta. Zanim przejdziemy do szczegółów, najpierw musimy skalibrować ten system do pomiaru prawidłowej wagi. Gdy użytkownik włączy zasilanie, system automatycznie rozpocznie kalibrację. A jeśli użytkownik chce skalibrować go ręcznie, naciśnij przycisk. Stworzyliśmy funkcję void calibrate () do celów kalibracji, sprawdź poniższy kod.
W celu kalibracji poczekaj, aż wyświetlacz LCD pokaże 100 gramów na ogniwie obciążnikowym, jak pokazano na poniższym rysunku. Kiedy na wyświetlaczu LCD pojawi się „połóż 100 g”, umieść ciężar 100 g na ogniwie obciążnikowym i poczekaj. Po kilku sekundach proces kalibracji zostanie zakończony. Po kalibracji użytkownik może położyć dowolny ciężar (max 40kg) na ogniwie obciążnikowym i może uzyskać wartość na wyświetlaczu LCD w gramach.
W tym projekcie wykorzystaliśmy Arduino do sterowania całym procesem. Tensometryczny wykrywa ciężar i urządzenia elektrycznego napięcia analogowego modułu wzmacniacza HX711 obciążenia. HX711 to 24-bitowy przetwornik ADC, który wzmacnia i cyfrowo konwertuje sygnał wyjściowy czujnika obciążenia. Następnie ta wzmocniona wartość jest podawana do Arduino. Teraz Arduino oblicza dane wyjściowe HX711 i konwertuje je na wartości wagi w gramach i pokazuje je na wyświetlaczu LCD. Przycisk służy do kalibracji systemu. Napisaliśmy program Arduino dla całego procesu, sprawdź kod i wideo demonstracyjne na końcu tego samouczka.
Kod wagi Arduino:
Część programowa tego projektu jest trochę skomplikowana dla początkujących. W tym projekcie nie wykorzystaliśmy żadnej biblioteki do połączenia czujnika obciążenia HX711 z Arduino. Właśnie postępowaliśmy zgodnie z arkuszem danych HX711 i uwagami dotyczącymi aplikacji. Chociaż istnieją pewne biblioteki do tego celu, w których wystarczy dołączyć tę bibliotekę, a wagę można uzyskać za pomocą jednej linii kodu.
Przede wszystkim dołączyliśmy plik nagłówkowy dla LCD i zdefiniowaliśmy piny do tego samego. A także dla przycisku. Następnie zadeklarował kilka zmiennych do celów obliczeniowych.
#zawierać
Następnie stworzyliśmy poniższą funkcję do odczytu danych z modułu HX711 i zwrócenia jego danych wyjściowych.
unsigned long readCount (void) {unsigned long Count; unsigned char i; pinMode (DT, OUTPUT); digitalWrite (DT, HIGH); digitalWrite (SCK, LOW); Liczba = 0; pinMode (DT, INPUT); while (digitalRead (DT)); for (i = 0; i <24; i ++) {digitalWrite (SCK, HIGH); Count = Count << 1; digitalWrite (SCK, LOW); if (digitalRead (DT)) Count ++; } digitalWrite (SCK, HIGH); Count = Count ^ 0x800000; digitalWrite (SCK, LOW); return (Count); }
Następnie zainicjowaliśmy wyświetlacz LCD i podajemy wskazówki dotyczące pinów wejściowych i wyjściowych w void setup ().
void setup () {Serial.begin (9600); pinMode (SCK, OUTPUT); pinMode (sw, INPUT_PULLUP); lcd.begin (16, 2); lcd.print ("Waga"); lcd.setCursor (0,1); lcd.print ("Pomiar"); opóźnienie (1000); lcd.clear (); kalibrować(); }
Następnie w funkcji void loop () odczytaliśmy dane z modułu HX711 i przekonwertowaliśmy te dane na wagę (gramy) i wysłaliśmy na wyświetlacz LCD.
void loop () {count = readCount (); int w = (((licznik-próbka) / wart) -2 * ((licznik-próbka) / wart)); Serial.print ("waga:"); Serial.print ((int) w); Serial.println ("g"); lcd.setCursor (0,0); lcd.print ("Waga"); lcd.setCursor (0,1); lcd.print (w); lcd.print ("g"); if (digitalRead (sw) == 0) {val = 0; próbka = 0; w = 0; count = 0; kalibrować(); }}
Wcześniej stworzyliśmy funkcję kalibracji, w której skalibrowaliśmy system poprzez umieszczenie ciężaru 100 g na ogniwie obciążnikowym.
void calibrate () {lcd.clear (); lcd.print ("Kalibracja…"); lcd.setCursor (0,1); lcd.print ("Proszę czekać…"); for (int i = 0; i <100; i ++) {count = readCount (); próbka + = liczba; Serial.println (liczba); }……………….
Więc tutaj nauczyliśmy się podstawowego połączenia ogniwa obciążnikowego i czujnika wagi HX11 z Arduino w celu pomiaru wagi. W naszych samouczkach tekstowych stworzymy aplikacje oparte na pomiarze wagi, takie jak inteligentny pojemnik, automatyczna bramka itp.