cella di carico con HX711
Moderatori: MassimoB,
WALTERmwp,
xyz
9 messaggi
• Pagina 1 di 1
0
voti
Salve, è la prima volta che entro nel forum. Da poco ho cominciato ad affaciarmi al mondo di Arduio e ho cominciato a fare i primi passi con i progetti di esempio della IDE. Da qualche giorno stò litigando con Arduino UNO, una scheda HX711 e una cella di carico (a 4 fili) da 1 kg. Il mio intendimento è costruire un banco prova per motori vintage da aeromodellismo ( erano motori inglesi denominati JETEX in uso fino agli anni '60). Ho scaricato i due sketc ( uno è per la calibratura e il secondo è per fare i pesi ) e pur riuscendo a caricarli regolarmente senza errori nella IDE, non riesco a fare la calibratura e senza questo il secondo sketch ovviamente non funziona. C'è qualche anima buona che conosce l'argomento e può darmi indicazioni di come operare per andare in porto? Ringrazio in anticipo
0
voti
io ho fatto una cosa simile con esp32, hx711 e una cella da 200kg
il fattore di calibrazione lo puoi ricavare in vari modi io ho fatto come spiegato nella reference ma c'è chi usaun approccio pratico (micro incrementi e confronto con un peso noto)
dopodiche nel setup avrai
scale.begin(D1, D2);
scale.set_scale(il fattore);
scale.tare();
mentre nel loop:
peso = scale.get_units(nr_campionamenti);
per le cella da 1kg il fattore potrebbe essere 1490 ma cambia da cella a cella per cui ti tocchera' sperimentare
nella mia, con 21 ho una precisione impressionante
il fattore di calibrazione lo puoi ricavare in vari modi io ho fatto come spiegato nella reference ma c'è chi usaun approccio pratico (micro incrementi e confronto con un peso noto)
dopodiche nel setup avrai
scale.begin(D1, D2);
scale.set_scale(il fattore);
scale.tare();
mentre nel loop:
peso = scale.get_units(nr_campionamenti);
per le cella da 1kg il fattore potrebbe essere 1490 ma cambia da cella a cella per cui ti tocchera' sperimentare
nella mia, con 21 ho una precisione impressionante
-
alessandrovo
230 1 4 - Frequentatore
- Messaggi: 124
- Iscritto il: 2 giu 2020, 17:50
0
voti
OK, grazie Alessandro, provo appena possibile e poi posto i risultati. Che sketch hai utilizzato?
0
voti
Ho provato a inserire nello sketch tutto quello che era possibile ma non si muove nulla. Quando faccio la verifica e il carico dello sketch, questo viene caricato, ma prima l'IDE mi manda questo messaggio di errore:
In file included from sketch\HX711-multi.cpp:2:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
In file included from C:\Users\Edoardo\Desktop\Sketck_test_bench\Arduino_code\HX711_jetex_filter_float\HX711_jetex_filter_float.ino:1:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
Non riesco a capire se è questo errore che mi blocca l'esecuzione o se il motivo è diverso da questo.
In file included from sketch\HX711-multi.cpp:2:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
In file included from C:\Users\Edoardo\Desktop\Sketck_test_bench\Arduino_code\HX711_jetex_filter_float\HX711_jetex_filter_float.ino:1:0:
sketch\HX711-multi.h:49:10: warning: extra qualification 'HX711MULTI::' on member 'readRaw' [-fpermissive]
void HX711MULTI::readRaw(long *result = NULL);
^~~~~~~~~~
Non riesco a capire se è questo errore che mi blocca l'esecuzione o se il motivo è diverso da questo.
0
voti
tu nel codice hai qualche warning ma quello "puo' capitare'
se puo servire io ho usato la libreria hx711 da
https://github.com/aguegu/ardulibs/tree/master/hx711
poi nell'ide
se puo servire io ho usato la libreria hx711 da
https://github.com/aguegu/ardulibs/tree/master/hx711
poi nell'ide
- Codice: Seleziona tutto
#include "HX711.h"
float peso = 0;
setup()
{
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
scale.set_scale(21f);
scale.tare();
}
loop()
{
peso = scale.get_units(5);
}
-
alessandrovo
230 1 4 - Frequentatore
- Messaggi: 124
- Iscritto il: 2 giu 2020, 17:50
0
voti
Se ho capito bene carico come sketch quello che tu mi indichi che hai messo nell'ide e installo la libreria che si scarica dal link che mi hai dato. OK, ho fatto tutto e lanciando la verifica dello sketch mi dà questo errore e non chiude la verifica;
Inoltre non riesco a capire nella scheda ARDUINO UNO quali siano i PIN D1 e D2 a cui colleghi DT e SCK.
Spero di non abusare troppo della tua pazienza
- Codice: Seleziona tutto
Arduino:1.8.13 (Windows Store 1.8.42.0) (Windows 10), Scheda:"Arduino Uno
HX711_simple2:4:9: error: expected constructor, destructor, or type conversion before ';' token
setup()
^
HX711_simple2:11:8: error: expected constructor, destructor, or type conversion before ';' token
loop()
^
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:4:11: warning: ISO C++ forbids declaration of 'setup' with no type [-fpermissive]
setup()
^
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: In function 'int setup()':
HX711_simple2:4:5: error: ambiguating new declaration of 'int setup()'
setup()
^~~~~
In file included from sketch\HX711_simple2.ino.cpp:1:0:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:154:6: note: old declaration 'void setup()'
void setup(void);
^~~~~
HX711_simple2:6:7: error: 'scale' was not declared in this scope
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~~~~
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:7: note: suggested alternative: 'scanf'
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~~~~
scanf
HX711_simple2:6:19: error: 'D1' was not declared in this scope
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:19: note: suggested alternative: 'A1'
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~
A1
HX711_simple2:6:23: error: 'D2' was not declared in this scope
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:6:23: note: suggested alternative: 'A2'
scale.begin(D1, D2); // d1 e d2 sono i pin a cui ho collegato hx711
^~
A2
HX711_simple2:7:23: error: unable to find numeric literal operator 'operator""f'
scale.set_scale(21f);
^~~
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: At global scope:
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:11:10: warning: ISO C++ forbids declaration of 'loop' with no type [-fpermissive]
loop()
^
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino: In function 'int loop()':
HX711_simple2:11:5: error: ambiguating new declaration of 'int loop()'
loop()
^~~~
In file included from sketch\HX711_simple2.ino.cpp:1:0:
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:155:6: note: old declaration 'void loop()'
void loop(void);
^~~~
HX711_simple2:13:15: error: 'scale' was not declared in this scope
peso = scale.get_units(5);
^~~~~
C:\Users\Edoardo\Desktop\HX711_simple2\HX711_simple2.ino:13:15: note: suggested alternative: 'scanf'
peso = scale.get_units(5);
^~~~~
scanf
Più di una libreria trovata per "HX711.h"
Usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711
Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711_Arduino_Library-0.7.4
Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711-master
Non usata: C:\Users\Edoardo\Documents\Arduino\libraries\HX711_Arduino_Library
exit status 1
expected constructor, destructor, or type conversion before ';' token
Inoltre non riesco a capire nella scheda ARDUINO UNO quali siano i PIN D1 e D2 a cui colleghi DT e SCK.
Spero di non abusare troppo della tua pazienza
0
voti
se hai ancora pure la vecchia è normale che facciano conflitto devi tenere una sola delle due
io l'ho messa semplicemente in Documenti\Arduino\libraries
per i pin devi indicare quelli che hai usato tu la mia board non era molto generosa di gpio ho dovuto usare per forza quelli e con gli altri ci ho connesso DFPlayer(per farle dire a voce il peso) e display 7seg i2c
io l'ho messa semplicemente in Documenti\Arduino\libraries
per i pin devi indicare quelli che hai usato tu la mia board non era molto generosa di gpio ho dovuto usare per forza quelli e con gli altri ci ho connesso DFPlayer(per farle dire a voce il peso) e display 7seg i2c
-
alessandrovo
230 1 4 - Frequentatore
- Messaggi: 124
- Iscritto il: 2 giu 2020, 17:50
1
voti

"Non farei mai parte di un club che accettasse la mia iscrizione" (G. Marx)
-
claudiocedrone
18,5k 4 7 9 - Master EY
- Messaggi: 12760
- Iscritto il: 18 gen 2012, 13:36
0
voti
Ok, grazie a tutti per l'aiuto. Ho risolto ripulendo la libreria di tutte le librerie HX711 e caricandone solo quella standard (HX711.h e HX711.ccp) poi ho usato lo sketch degli esempi (HX711plotter.ino) e tutto ha funzionato alla perfezione immediatamente e senza alcuna correzione. Inoltre la calibrazione è stata semplicissima e la risoluzione mi sembra eccellente. Pertanto ho completato il primo step. Il secondo step che vorrei affrontare è la memorizzazione dei risultati che appaiano sul "Monitor seriale" in un file EXCELL per ricavarne un grafico di buona precisione. Se qualcuno ha dei suggerimenti da darmi, questi sono ben accetti.
9 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti