Progetto cella di carico e striscia di led come indicatore di riempimento di un contenitore

Salve a tutti, sono nuovo nel forum e spero che qualcuno possa aiutarmi siccome mi sono imbattuto in un progetto che supera di gran lunga le mie competenze (basilari) di progettazione.
In sostanza volevo progettare un misuratore di riempimento di un contenitore tramite una cella di carico ed una striscia di led che indicano appunto la percentuale di riempimento del contenitore e inoltre volevo che ogni volta che il contenitore si riempisse Arduino inviasse una notifica o un sms.
Per quanto riguarda la parte hardware ho già capito che direzione prendere: ho acquistato una cella di carico da 5kg con un modulo HX711 e sto valutando il modulo GSM più adatto, e poi utilizzare dei semplici LED. Sto provando a programmare ma non riesco proprio a far funzionare tutto, sono riuscito tramite un codice base a tarare la cella di carico ma non più di questo, spero che qualcuno possa aiutarmi. Per quanto riguarda la parte delle notifiche ho pensato di lasciare in pausa e cercare prima di far funzionare tutto prima di acquistare altre cose.

Buongiorno e benvenuto, :slight_smile:
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il succitato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread, nel rispetto del suddetto regolamento nessuno ti risponderà (eventuali risposte verrebbero cancellate), quindi ti consiglio di farla al più presto. :wink:

P.P.S: Per evitare incomprensioni, presta particolare attenzione al punto 16.1

1 Like

Grazie, ho provveduto :grin:

Relativamente al modulo GSM ... dai un'occhiata a QUESTO thread e fai le tue valutazioni prima di spendere dei soldi ... :roll_eyes:

Guglielmo

Grazie mille.
Ho una piccola domanda sul codice: quando per tarare la cella di carico devo inserire il valore di scala, per la mia da 5kg non so quale valore è più corretto, ho provato a fare più misure a pesi diversi confrontandomi con una bilancia da cucina che ho a casa ed inserendo a tentativi il valore che mi permettesse di riportare gli stessi risultati ma non so se ho fatto un buon lavoro, provo ad allegare il codice così si capisce meglio (spero di aver capito bene come inserire il tag del codice perchè non riesco a vedere l'esempio)

#include "HX711.h"
const int dout = 2;  
const int sck = 3;   
HX711 bilancia;
int peso = 0;     // zona di memorizzazione del peso corrente
int pesoprec = 0; // zona di memorizzazione dell'ultimo peso esposto
void setup() 
{
  Serial.begin(9600);
  bilancia.begin(dout, sck);
  Serial.println("calcolo della tara");
  Serial.println("non porre alcun oggetto sulla bilancia.....");
  delay (100);
  bilancia.set_scale(439); 
  bilancia.tare(10); 
  Serial.println("sistema pronto");
}
void loop()
{
  peso = bilancia.get_units(10); 
  if (!(peso == pesoprec)) // se e' variato il peso
  {
    pesoprec = peso;       // memorizza il peso corrente
    Serial.print("peso: ");
    Serial.print(peso);
    Serial.println("g");
  }
  delay(200);
}

Ho appena letto il thread riguardante il modulo GSM, ha dei consigli sulla comunicazione per evitare di spendere quei soldi? (visto che costa molto di più dei moduli che avevo visto) potrei cambiare completamente metodo di comunicazione visto che non ho acquistato ancora nulla ne programmato nulla, purtroppo serve una comunicazione a lunga distanza quindi non mi viene in mente altro.

Ma hai una rete WiFi a disposizione? O sei in una zona isolata senza nulla?

Guglielmo

In sostanza sto progettando un posacenere intelligente da consegnare in bar ed aziende che misuri il riempimento e mi invii una notifica quando devo andarlo a svuotare, per cui non posso fare affidamento sulla rete WiFi di bar ed aziende perchè per quanto possa essere ormai presente ovunque, voglio esserne svincolato

Mario

Beh ... allora la scelta è abbastanza obbligata, devi per forza andare sul GSM e, se vuoi stare tranquillo per il futuro, hai già letto su cosa ti devi orientare.

CI sarebbe la possibilità anche di LoRa/LoRaWAN, ma ... anche li c'è da verificare se è zona coperta o meno, ecc. ecc. e, se tu vuoi poter installare il tuo apparecchio ovunque, ho idea che è una strada difficilmente percorribile ... :roll_eyes:

Guglielmo

Provo a dire la mia, integrare un GSM in ogni posacenere porta ad un costo realizzativo enorme per un oggetto che, ipoteticamente, sarà presente N volte nella solita azienda.
Io ti propongo di riflettere sulla possibilità di adottare la WiFi come soluzione, se l'area è coperta il singolo dispositivo è autonomo per le segnalazioni.
Se l'area non è coperta dal WiFi si abbina agli N posaceneri un singolo posacenere "master" che includerà sia la WiFi, a cui tutti gli altri si collegheranno, sia il GSM che invierà le comunicazioni riferite a se stesso o per conto degli altri dispositivi a lui connesso

Questa è un'idea interessante che per ora però non è praticabile, siamo una startup composta da studenti universitari che in pratica ricicla mozziconi di sigarette ed insieme al servizio di raccolta vogliamo offrire questo posacenere incluso nel canone annuo, ma al momento non abbiamo contatti con grandi aziende a cui dare più di un posacenere (anche se sono abbastanza capienti).
Mentre per la programmazione hai qualche suggerimento?

1 Like

Si immaginavo, per questo ero già orientato sulla GSM, mentre per la programmazione, non so se sia corretto ma avevo intenzione di dividere il peso del serbatoio pieno in N intervalli di peso e utilizzare N Led in modo che quando il valore della bilancia supera il primo intervallo si accendesse il secondo e così via fino a farli accendere tutti, può essere una buona idea?

Finalmente una bellissima idea!
Quindi più che un posacenere diciamo che è più un "raccoglitore" di mozziconi.

Una possibile opzione potrebbe essere quella di partire da una mcu con WiFi integrato come ESP8266 o ESP32 e rendere il GSM opzionale così da ridurre i costi.
Se l'azienda ha una rete WiFi propria (come nel 90% dei casi), configuri solo ssid e password (on site ovviamente, usando un WiFi manager). In caso contrario aggiungi il modulo GSM con relativa SIM.

Questa potrebbe essere una buona alternativa, riesci a darmi qualche dritta sulla programmazione invece?

Inoltre siccome voglio ridurre il numero di volte in cui vado a ritirare i mozziconi, ho pensato di fornire anche un serbatoio ermetico in modo che se consegno il posacenere in un bar, lo stesso barista possa svuotarlo più volte. Quindi se ad esempio faccio un posacenere da 1L e un contenitore ermetico da 10L significa che il barista può svuotarlo 10 volte e vorrei che arduino alla nona volta mi inviasse una notifica, per evitare di utilizzare arduino anche sul contenitore ermetico ho pensato che si possa programmare un "contatore" con arduino installato nel posacenere in modo tale che ogni volta che registra la variazione di peso da pieno a vuoto conti +1 e arrivato a 9 invii la notifica. Teoricamente credo si possa fare ed ho pensato a tutte queste possibili soluzioni, ma praticamente sono fermo col codice :sweat:

Che è la solita che ti ho proposto io come soluzione master alla fine...

Ti chiedo scusa allora, ho capito io male :sweat_smile:

Non ti devi scusare era solo per cercare di aiutarti a vedere il problema e relative soluzioni da angoli differenti e non cercare di perseguire un'unica strada che potrebbe rivelarsi controproducente.
Come hai detto tu nella maggior parte dei casi la WiFi è presente quindi userei quella come metodo principale e nei pochi casi dove non vi sarà andrai di GSM con relativi costi

Come sei messo con la conoscenza del C++?
Questo è fondamentale per dare i consigli giusti...
Se la base è carente, il primo consiglio è quello di approfondire e/o ripassare perché il progetto, pur non essendo poi cosi complesso, è sicuramente impegnativo per un neofita.

Fatta la dovuta premessa, direi che sei partito "benino" nel senso che fai bene a provare un pezzo per volta. Però devi anche iniziare a definire "le specifiche" funzionali del tuo dispositivo aiutandoti magari con un diagramma a blocchi o ancora meglio di flusso (che poi è più semplice da tradurre in codice sorgente).

Per la parte "visuale" hai valutato anche la possibilità di aggiungere un piccolo display oled al posto dei singoli led e visualizzare una specie di progress bar? Costi e ingombri sarebbero simili, ma con il vantaggio di semplificare il cablaggio specialmente nella fase prototipale.

Per quanto riguarda la programmazione ho seguito molti tutorial, e sperimentato i progetti di base offerti come esempio, provando anche ad unire gli sketch. Avevo già letto da qualche parte del diagramma di flusso infatti ci sto lavorando. In realtà non è la parte hardware a crearmi problemi, ho una certa familiarità con i cablaggi, e si ho considerato un display oled poi scartato perché quelli che si trovano a buon mercato non sono il massimo esteticamente e poi ci sarebbe il problema che si rischia di non vederlo bene se è posto sotto al sole, invece con dei led rgb messi sotto una ghiera semitrasparente che diano l’effetto tipo le lucine dell’echo dot si sposava meglio con la scelta stilistica del posacenere in quanto è molto futurista, e siccome ricicliamo mozziconi vogliamo marcare il concetto di green e sostenibilità infatti arduino sarà alimentato da una powerbank 5v caricata da dei pannelli solari, se sei curioso posso anche allegare una foto di come sarà il prototipo :grin: