19.01.2026

HX711 Load Cell - MIDI kontroler

Arduino
HX711 Load Cell - MIDI Controller

Table of contents

Uvod Što je mjerna ćelija? Kada biste koristili mjernu ćeliju? HX711 pojačalo mjerne ćelije Primjer jednostavnog očitanja HX711 Midi kontroler projekt Pretvaranje težine u MIDI podatke
Table of contents
Uvod Što je mjerna ćelija? Kada biste koristili mjernu ćeliju? HX711 pojačalo mjerne ćelije Primjer jednostavnog očitanja HX711 Midi kontroler projekt Pretvaranje težine u MIDI podatke

Uvod

Svi smo u nekom trenutku u životu stali na vagu, bacivši brz pogled na vlastitu težinu. Ili vam je prtljaga vagana prije leta. Ponekad u kuhinji, porcionirajući sastojke. Budući da je toliko modernih vaga digitalno, većina njih ima jedan ključni zajednički element: mjerne ćelije (load cells).

Kako mikrokontroleri postaju snažniji i pristupačniji, a senzorske module lakše integrirati, tehnologije koje su nekada bile rezervirane za komercijalne i industrijske sustave vaganja sada su dostupne na jednostavnoj breakout pločici na vašem stolu. To znači da možete implementirati precizna mjerenja težine iz stvarnog svijeta u svoje vlastite "uradi sam" (DIY) projekte.

U ovom članku naučit ćete kako rade mjerne ćelije. Kako koristiti HX711 pojačalo mjerne ćelije i povezati ga s mjernom ćelijom za dobivanje osnovnih očitanja težine. Na kraju ćemo vam pokazati zabavan mali projekt u kojem možete primijeniti zvučne filtre na ton na temelju unosa težine s mjerne ćelije.

Što je mjerna ćelija?

Mjerna ćelija je vrsta pretvornika koji pretvara silu (kompresiju, napetost ili moment) u mjerljivi električni signal. Veličina ovog signala izravno je proporcionalna primijenjenoj sili koja se zatim pretvara u čitljiv izlaz poput težine na vagi.

Tipična mjerna ćelija sastoji se od dva dijela: glavnog tijela i priključenog električnog kruga. Glavno tijelo je ono koje nosi težinu ili silu i čini većinu veličine mjerne ćelije. Kako bi se osigurala pouzdanost i predvidljiva raspodjela naprezanja, obično je izrađeno od visokokvalitetnog čelika ili aluminija. 

Električni krug smješten je unutar mjerne ćelije, čvrsto povezan s glavnim tijelom. Krug uključuje mjerne trake koje su specijalizirani dijelovi kruga dizajnirani za osjet deformacija glavnog tijela (kada se primijeni sila).

Mjerne trake sastoje se od tanke, vodljive žice ili folije. Kada se rastegnu ili stisnu po svojoj duljini, njihov električni otpor se neznatno mijenja, što nam omogućuje otkrivanje sitnih deformacija - i u konačnici pretvaranje fizičke sile u električne signale.

Kada biste koristili mjernu ćeliju?

Mjerna ćelija mjeri mehaničku silu, prvenstveno težinu predmeta. Danas gotovo sve digitalne vage koriste mjerne ćelije zbog točnosti kojom mogu mjeriti težinu. Koriste se u raznim poljima koja zahtijevaju točnost i preciznost. Postoje različite klase mjernih ćelija, a svaka se klasa razlikuje po točnosti i kapacitetu.

HX711 pojačalo mjerne ćelije

HX711 pojačalo mjerne ćelije dizajnirano je za uzimanje slabijeg električnog signala iz mjerne ćelije i njegovo pojačavanje kako bi digitalni signal zatim mogao obraditi mikrokontroler. HX711 pojačalo radi s visokom rezolucijom i niskom potrošnjom energije, što ga čini idealnim za primjene poput vaga i sustava za mjerenje sile.


HX711 ima dva diferencijalna ulazna kanala koja se mogu izravno povezati s mjernom ćelijom. Mjeri male promjene napona koje proizvodi mjerna ćelija pod pritiskom. Koristi  24-bitnu A/D pretvorbu za pretvaranje pojačanog analognog signala u digitalni signal visoke rezolucije. To osigurava točna mjerenja uz minimalne smetnje šuma. Nakon što se signal pretvori, prenosi digitalne podatke putem serijskog sučelja.

Primjer jednostavnog očitanja

Sada ćemo proći kroz to kako koristiti mjernu ćeliju i pojačalo za dobivanje jednostavnih očitanja težine. Naša pločica s pojačalom HX711 dolazi u dvije verzije:

  • Standardna verzija - koristi serijsko sučelje za komunikaciju, dva primarna pina su Data (DOUT) i Clock (PD_SCK)
  • I2C verzija - koristi Qwiic/easyC kabel za komunikaciju (zadana adresa 0x30)

Povezivanje mjerne ćelije s HX711:

Žice mjerne ćelije

HX711 breakout pločica

Crvena

E+

Crna

E-

Zelena

A-

Bijela

A+

Nakon što ste povezali mjernu ćeliju s pločicom pojačala, sada možemo zaroniti u primjer koda. U ovim primjerima koristit ćemo HX711 Arduino biblioteku.

Primjer koda:

Ispod je kod za očitavanje težine u postavljenoj jedinici. No, prije očitavanja vrijednosti s mjerne ćelije u jedinicama, moramo napraviti jedno testno mjerenje kako bismo kalibrirali vagu:

  1. Nabavite predmet čiju težinu znate (na primjer, uteg od 0,5 kg)
  2. Pokrenite ovu skicu, za sada nemojte mijenjati vrijednost SCALE_UNITS
  3. Nakon pokretanja skice, stavite poznati uteg na mjernu ćeliju
  4. Zabilježite prikazanu vrijednost, nazovimo je X
  5. Vaš SCALE_UNITS je X / poznata težina, postavite ga na to
  // Include the library

#include "HX711-SOLDERED.h"
// Define pins used for DAT and SCK here
#define PIN_DAT 4
#define PIN_SCK 3
// Scale units
#define SCALE_UNITS 1.0
// Create the HX711 object on the right pins
HX711 hx711(PIN_DAT, PIN_SCK);
void setup()
{
Serial.begin(115200); // For debugging
// Init HX711
hx711.begin();
// Wait a bit until it initializes fully delay(200);
// While calibrating - don't put any load on the load cell! hx711.setZero();
// Set calculated scale units hx711.setScale(SCALE_UNITS); }
void loop() { // Make reading in units double readingInUnits = hx711.getReadingInUnits(); // You may also call getReadingInUnits(n) for the result to be an average of n readings // Print the reading // Try reading this over the serial plotter! Serial.print("HX711 Reading: "); Serial.println(readingInUnits); // Wait a short while until the next reading // This serial print is quite fast because it looks better on the serial plotter delay(200); }

 

HX711 Midi kontroler projekt

Sada se zabavimo s mjernom ćelijom! U ovom projektu koristimo ESP32-S3 kao Midi kontroler. Uređaj djeluje kao sučelje glazbenog instrumenta, šaljući podatke u stvarnom vremenu s mjerne ćelije putem USB-a na vaše računalo. Budući da ESP32-S3 može prenositi MIDI CC (Control Change) poruke ili druge MIDI događaje putem USB-a, koristeći Surge XT (besplatni softverski sintesajzer otvorenog koda) možemo zatim mapirati MIDI CC poruke na parametre kao što su cutoff filtra, rezonancija, ovojnice (envelope) itd.

Pretvaranje težine u MIDI podatke

Da biste svoju mjernu ćeliju pretvorili u glazbeni kontroler, morate transformirati sirovi električni otpor u standardnu vrijednost MIDI Control Change (CC) u rasponu od 0 do 127. To se postiže definiranjem stanja mirovanja vašeg senzora i točke maksimalnog pritiska, a zatim mapiranjem tog raspona u MIDI protokol.

Sljedeći isječak demonstrira osnovnu logiku za hvatanje težine i njezino pretvaranje u signal koji vaše računalo može razumjeti. Ograničavanjem (constrain) sirovog unosa osiguravamo da MIDI podaci ostanu stabilni i da ne prelaze granice koje zahtijeva virtualni sintesajzer:


// Get raw reading from load sensor
long raw = hx711.getRawReading();

// Map the raw sensor range to MIDI (0-127)
// RAW_MIN is the resting state, RAW_MAX is the full-pressure state
long r = constrain(raw, RAW_MAX, RAW_MIN);
int ccVal = map(r, RAW_MIN, RAW_MAX, 0, 127);

// Send MIDI Control Change if the value has changed
if (ccVal != lastCC)
{
  MIDI.controlChange(CC_NUMBER, (uint8_t)ccVal, MIDI_CHANNEL);
  lastCC = ccVal;
}

Proizvodi u ovom članku

Povezani članci