Ardu-Aquarium Controller v. 3.3.1

uhmm, ma anche il principio del condensatore è "rovinato" dalla conduttività delll'acqua.

Accidenti, invece per la pressione.forse un picccolo barometro sul fondo, magari scegliendo bene il sensore..

lesto:
uhmm, ma anche il principio del condensatore è "rovinato" dalla conduttività delll'acqua.

Si potrebbe immaginare un sensore simil-capacitivo, ma senza contatto elettrico con l'acqua ...
... non è facile da realizzare.

Occorrerebbe pensare ad un involucro morbido chiuso, ma comprimibile dalla pressione dell'acqua che sale. All'interno delle strisce conduttrici separate da un dielettrico che, allo schiacciarsi del sacchetto per l'aumneto della pressione, vengono sempre più in contatto variando la capacità. Mmm ... probabilmente più facile a dirsi che a farsi ... :roll_eyes:

Guglielmo

P.S. : ... quell'eTape funziona su un principio simile, solo resistivo invece che capacitivo :wink:

Veramente il mio schema non ha alcun contatto con l'acqua ... la "sonda" e' uno spezzone di cavo bifilare completamente isolato dal liquido (incluso il terminale), che e' utilizzato come "condensatore variabile" in un'oscillatore libero, perche' piu e' lunga la parte immersa, e piu la sua capacita' cambia a causa della presenza del liquido (lo so che sembra strano, ma funziona :stuck_out_tongue: XD),

@ricciweb
nello schema del circuito trovo questi componenti... che nell'elenco non ci sono, mi spieghi a cosa servono?

sono LM358 e E-TARE U4.

per quanto riguarda l'impianto d'illuminazione volevo utilizzare 4 serie di led pensi ke sia facile collegarli al tutto?

lesto:
@nicola90wii: no, leggeresti come distanza quella della parte dpiù vicina di tubetto, va cambiato proprio l'emettitore, o usi un tubetto fonoassorbente (ma non credo esista qualcosa del genere, non a costi "umani" :grin:)

In che senso leggo quella più vicina al tubetto ? Tu dici che gli ultrasuoni oltrepassato la parete del tubetto e vengano rilevati dal ricevitore?

Etemenanki:
Veramente il mio schema non ha alcun contatto con l'acqua ... la "sonda" e' uno spezzone di cavo bifilare completamente isolato dal liquido (incluso il terminale), che e' utilizzato come "condensatore variabile" in un'oscillatore libero, perche' piu e' lunga la parte immersa, e piu la sua capacita' cambia a causa della presenza del liquido (lo so che sembra strano, ma funziona :stuck_out_tongue: XD),

io immagino che il motivo sia che l'acqua è un isolante differente dall'aria, e di molto, e questo influsce molto. Il cavo è "isolato"dalla guaina, che però da un contributo "fisso". Alla fine stai sfruttando il femomeno antenna e/o trasformatore, credo, e dunque la conducibilità dell'acqua incide sulle varie letture.

pieromt:
@ricciweb
nello schema del circuito trovo questi componenti... che nell'elenco non ci sono, mi spieghi a cosa servono?
sono LM358 e E-TARE U4.
per quanto riguarda l'impianto d'illuminazione volevo utilizzare 4 serie di led pensi ke sia facile collegarli al tutto?

Quella parte dello schema, si riferisce alcircuito per la lettura del sensore di livello; l'LM358 è un amplificatore ooperazionale mentre E-TAPE è questo http://www.milonetech.com/uploads/eTape_Datasheet_12110215TC-8_040213.pdf per ora se vuoi puoi soprassedere, è una parte del progetto che ho momentaneamente abbandonato perché non posso testarne gli sviluppoi in caso di utilizzo perché al momento sto rifacendo la vasca, ma se vuoi divertirti, tieni presente che tutte le resistenze di quella parte dello schema, sono a film metallico con tolleranza 1% per poter ottenere la maggior precisione possibile.
Trovi più o meno tutto quello che ho fatto fino ad ora con quel sensore, una 10 post piu su.

Ciao

Riccardo

lesto:
io immagino che il motivo sia che l'acqua è un isolante differente dall'aria, e di molto, e questo influsce molto. Il cavo è "isolato"dalla guaina, che però da un contributo "fisso". Alla fine stai sfruttando il femomeno antenna e/o trasformatore, credo, e dunque la conducibilità dell'acqua incide sulle varie letture.

La conducibilita' dell'acqua incide, ovviamente, ma solo in modo marginale, perche' stiamo parlando di radiofrequenza (o comunque frequenze abbastanza alte da rientrare nelle RF) ... il conduttore che fa da sonda agisce come condensatore variabile in un'oscillatore libero ad alta impedenza, quindi anche solo la vicinanza di altri oggetti finisce per influenzarlo (ovviamente, piu l'oggetto e' elettricamente conduttore e piu l'influenza e' elevata, questo e' naturale, ma una volta "tarato" il tutto per il liquido che ti serve misurare, il problema e' relativamente poco importante) ... senza acqua intorno, la capacita' del conduttore e' quella data dall'isolante fra i due conduttori, man mano che l'acqua lo circonda, il valore aumenta, e quindi la frequenza diminuisce in proporzione ... ho provato anche con dell'olio, e funzionava lo stesso, anche se ovviamente con variazioni minori ...

Comunque, dato che si parla di acquari, se lo scopo e' solo quello di avere dei riferimenti per il rabbocco, complicandosi la vita il meno possibile, un reed ed un magnetino ti consentirebbero, se opportunamente posizionati, di avere due diverse indicazioni, semplicemente sfruttandone l'isteresi ... quando il contatto si chiude, c'e' una certa "corsa" di allontanamento prima che si riapra, se posizioni il magnete correttamente, puoi usare la chiusura come "pieno" e l'apertura come "vuoto" a due livelli diversi ... e lo stesso si puo fare con piu reed ...

ma solo in modo marginale, perche' stiamo parlando di radiofrequenza

in tal caso mi fido, non ne so una beneamata mazza :slight_smile:

ciao a tutti e buon Anno,
sono riuscito a montare tutti i componenti del progetto di Riciweb e funziona alla grande e bello e la sonda di temperatura ho preso questa posto il link http://www.robot-italy.com/it/one-wire-temperature-sensor-ds18b20.html.
ora però le mie difficoltà sono quelle di programmazione e non per Hardware che qualcosa ne capisco qualcosina per il Ph controllo dosatori di liquidi e solidi settimanale e pompa primaria on/off e secondaria automatica ad vari periodi di tempo.
chi mi può aiutare grazie mille e un grande grazie a Riciweb
posto quello che ho potuto capire per modifiche sulla libreria che ha fatto Riciweb
grazie Ancora

acquarium_controller_v3_1_1_modificato_v1miky.doc (120 KB)

ciao, ma chiuso questo topic
:slight_smile: :slight_smile:

No. Ma forse sono tutti in ferie. :grin:

Ciao,
Etemenanki e Paolo Grazie per le risposte

Ciao Michele73,
mi fa piacere leggere che ti funziona tutto, anche i sensori di temperatura, che confermo essere quelli che hai linkato, anche se a breve forse verranno sostituiti con altri più performanti.
Per ciò che riguarda le modifiche che chiedi, il primo consiglio che ti do è di iniziare a testare le cose che vuoi implementare separatamente e solo quando avrai le funzioni/procedure definitive integrarle nel progetto, è quello che faccio sempre ed anche il modo migliore di procedere, altro consiglio è di attivare la pompa tramite menù senza aggiungere un altro tasto.
Il discorso dosatori mi intriga parecchio, non ho mai approfondito più di tanto, ma so che ne esistono di diversi tipi con modi di funzionamento diversi, aiutarti quindi diventa difficile, ho visto quello che hai fatto tentando di modificare il mio sketch e fin da ora ti dico di evitare come la peste il "delay()" perché letteralmente blocca il flusso dello sketch per il tempo che imposti, nell'IDE File/Esempi/02.Digital/BlinkWithoutDelay trovi un bell'esempio su come fare, ma anche il Ns. buon Leo72 ha scritto un bellissimo articolo http://www.leonardomiliani.com/2013/programmiamo-i-compiti-con-millis/ dove impari anche come evitare l'overflow di millis(), rimane il fatto che essendo io ora impegnato su ben altri fronti, compreso il dover far entrare tutto nella poca flash di Arduino, non ti posso essere molto di aiuto...
Il discorso PH è a divenire, appena definito l'uso dei nuovi sensori di temperatura, con Leouz stiamo valutando come procedere.

Ciao, tienici aggiornati sui tuoi progressi. :slight_smile:

Riccardo.

Ciao Riciweb,
grazie per il consiglio ho provato a capire come implementare il menù ma mi da errori da tutte le parti nella programmazione errori di java mi da, sono all'inizio sono una schiappa mi puoi indicare come ampliare il tuo menù, appena finisco posto lo schema elettrico di tutto quello che penso di fare.
ti ringrazio ancora

Ciao Michele,
scusa se ci metto tanto a rispondere, ma il tempo è sempre scarsissimo, iniziamo:
se vai a riga 1092 dello sketch, trovi un esempio di menù, come vedi si tratta di dichiarare un array di stringhe, dove la prima voce (blocco 0 dell’array) è l’intestazione del menù stesso, nonché l’intestazione della schermata dove scorre il menù, a seguire poi tutte le voci che ti servono per quel menù, ad esempio:

char* VociMenuDosatori[] ={"    IMP. DOSATORI",       // Intestazione e voci del menu luci
					"Dosatore 1 ",
					" Dosatore 2 ",
					" Dosatore 3 ",
					" Dosatore 4",
			};

Quando richiami la funzione del menù, devi passare nell’esatto ordine questi parametri:

  • variabile che conterrà il valore scelto nel menù
  • numero delle voci del menù
  • il vettore di strighe che hai creato

In questo modo:

Scorrimenu (MenuDosatori, 4, VociMenuDosatori);

Ma lo devi fare nel loop all’interno di una struttura switch case:

switch (MenuDosatori)
		{	case 0: 
				Scorrimenu (MenuDosatori, 4, VociMenuDosatori);
			break;

			case 1: 
				ImpostaDosatore (dosatore1); 
			break;

			case 2: 
				ImpostaDosatore (dosatore2);		
			break;

			case 3: 
				ImpostaDosatore (dosatore3);  
			break;

			case 4: 
				ImpostaDosatore (dosatore4);
			break;
		}

E’ importante che sia la variabile "MenuDosatori" che quella "Avvio" siano inizializzate a 0, la prima perché altrimenti non entri nello switch case, la seconda perché fa eseguire all’interno della funzione “Scorrimenu” la prima if, che è quella che popola il display la prima volta.
Nel display vedrai nella prima riga l’intestazione della schermata e poi le voci che scorrono quando premi i tasti su o giù, quando premi ok, “Scorrimenu” assegna alla variabile “MenuDosatori” il valore che stai puntando ed automaticamente viene eseguito il codice all’interno di quel case.
Va da se che poi la procedura o funzione ImpostaDosatore(); te la devi creare da solo.
Spero di esserti stato utile.
Ciao.

Ciao Riciweb,
grazie mille per la spiegazione e per il ritardo domani mattina ci provo sia il menù che quello che mi avevi detto l'altra volta ancora grazie
:slight_smile:

Ciao a tutti, volevo innanzitutto farvi i complimenti per lo splendido progetto che state realizzando.
Mi sono iscritto in questo forum per cercare di imparare a programmare arduino, visto che sono proprio alle primissime armi e non ho proprio idea di come fare.
Mi sono documentato e ho acquistato “Arduino la guida ufficiale” creando tutti i progetti al suo interno, (se avete altri libri da consigliarmi, ben venga).
Durante la mia documentazione ho potuto imbattermi in questo progetto davvero molto interessante, visto che sono un appassionato di acquari marini, e che il mio è già automatizzato; usa un PIC della Motorola PIC16F873 programmato da un mio amico e la scheda progettata e costruita completamente da me con fotoincisione e acido per lo sviluppo.
Chiedo anche se è possibile usare l’Arduino Mega invece che l’Arduino Uno.
Ho potuto leggere tutte le pagine di questo progetto e se mi è permesso vorrei capire il perché è stato pensato di usare quel sistema di controllo livelli, non era più semplice mettere un sensore di massima e uno di minima per eseguire i rabbocchi? E perché, visto il sistema usato, non far scrivere nel display una barra di livello? Attualmente nel mio acquario ho adottato il sistema a due sonde, una di massima e una di minima. Ho provato a ricreare un controllo di livello con delle astine di metallo ma abbandonato perché creava isteresi ed inquinava l’acqua dei miei pesciolini.
La mia non vuole assolutamente essere una critica, ma visto che il progetto è ancora in fase di collaudo fate le giuste scelte.
Complimenti ancora, ciao

Vuoi esagerare ?

http://forum.arduino.cc/index.php?topic=197758.msg1507801#msg1507801

:stuck_out_tongue: :stuck_out_tongue_closed_eyes: :grin: :grin: :grin:

Ciao Etemenanki,
bel progetto mi piace molto bello