AcquaPortal Forum Acquario Dolce e Acquario Marino

AcquaPortal Forum Acquario Dolce e Acquario Marino (http://www.acquariofilia.biz/forum.php)
-   Tecnica marino (http://www.acquariofilia.biz/forumdisplay.php?f=57)
-   -   informazioni su automazione vasca con arduino (http://www.acquariofilia.biz/showthread.php?t=247809)

orpheus 30-05-2010 21:39

informazioni su automazione vasca con arduino
 
Ciao a tutti. Ho comprato l'arduino 2009 con display x collegarci la plafo led che mi sto costruendo, e leggendo vari forum ho visto che l'arduino si può utilizzare anche x collegarci varie sonde tipo PH, KH, temperatura e rabbocco....qualcuno lo usa o mi può dare delle dritte? grazie mille

orpheus 31-05-2010 12:58

-:33

IVANO 31-05-2010 13:11

Mai usato....

billykid591 31-05-2010 16:59

ORPHEUS.....che modello di arduino hai comprato e con quale display?.....a me non risultava che potesse comandare dei display alfanumerici...ma sarei contento di sbagliarmi.

orpheus 31-05-2010 17:58

ho preso l'arduino 2009 col display 4righe x 20 caratteri ... tanto le cose principali , tipo orario, ph, temp... ci stanno tranquillamente

Brig 31-05-2010 18:18

nooooo oddio non sapevo esistesse questa figata...

si programma pure in c quindi starei a cavallo...

mi dai qualche info in più?

e sto discorso delle periferiche mi interessa tantissimo

orpheus 31-05-2010 18:29

cacchio! se sai programmare in C siamo a cavallo!!!
allora, io sto costruendo la plafo led insieme a jonjboz con alimentatori dimmerabili...collegheremo gli alimentatori a 1 relè a 10A e poi tutto all'arduino che darà corrente al relè e quindi alimenterà gli alimentatori e poi tramite l'arduino dovremo dare i comandi a ogni alimentatore di accendersi in tot tempo x l'effetto alba/tramonto. poi, so che esistono sonde PH e di temperatura che si possono tranquillamente utilizzare con l'arduino, e ho sentito che ci sono anche sonde GH, KH e di rabbocco automatico (inutile ma c'è) . ora bisogna trovare uno con 4 #27 che sappia programmarlo! e in quali pin collegare i fili! :-))

billykid591 31-05-2010 18:29

ORPHEUS...per curiosità dove hai comprato il tutto?
------------------------------------------------------------------------
l'Arduino, fra l'altro, ha la possibilità di settare alcune uscite come analogiche (a 10 bit) di tipo PWM...con cui controllare direttamente dei motori..(o appunto gli alimentatori dimmerabili)...in teoria si potrebbero comandare pompe elettroniche (conoscendo le caratteristiche delle pompe)...per le sonde la cosa è fattibile (facilmente con una sonda di temperatura tipo LM35) però bisogna conoscere bene i valori di uscita per costruire l'interfaccia adatta, non potendoli collegare direttamente alle entrate del micro.

orpheus 31-05-2010 18:39

su ebay...con 30€ hai tutto, anche la spedizione :-))

Brig 31-05-2010 18:51

io non conosco l'arduino... lo ho scoperto qualche minuto fa ma mi gasa già un casino!!!

però spiegatemi meglio... si può collegare a qualsiasi cosa oppure funziona solo con roba dimmerabile??
ad esempio se io ho una plafo t5, delle pompe normali, led lunare, reattore ecc posso far funzionare tutto come se fosse acquatronica?

è interessante anche sto discorso delle sonde... cioè... in teoria si potrebbe rifare un acquatronica "economica"?

orpheus 31-05-2010 18:57

esatto!!! ecco xkè mi sto informando x la programmazione! certo che puoi collegarci tutto, potresti temporizzare anche le pompe...tutto sta a saper fare il programma

billykid591 31-05-2010 19:27

Brig l'arduino è un microcontroller già assemblato (con parte della logica di comando precaricata) programmabile tramite porta USB che ha 14 ingressi/uscite digitali (6 delle quali analogiche PWM) e 6 ingressi analogici....alla fine è simile ad altri micro in circolazione (vedi PIC o ST6/7 della SGS)....acquatronica usa sicuramente un microcontroller (tipo PIC o similare).....il punto di forza di arduino è che è un open-source...quindi nessuno è proprietario dei programmi o progetti...ma tutto si condivide gratuitamente......in poco tempo la community ha cretao migliaia di applicazioni che girano su arduino e sono tutte disponibili gratuitamente...anche l'IDE per programmarlo ovviamente.

Brig 31-05-2010 19:46

ho visto qualche programma...
forse alcuni sono scritti in c++

però tutti quei discorsi dei PWM ingressi analogici ecc...

http://www.discuspassion.net/forum/i...;topic=11337.0

ho trovato questo post interessante... però parlavano di usarlo come un controller... io pensavo invece che potesse alimentare direttamente tutto...

orpheus 01-06-2010 00:33

penso che basti che ci colleghi un relè di giusto amperaggio e puoi alimentare il tutto....

Brig 01-06-2010 12:09

quindi... come si potrebe procedere?

si prende arduino e display lcd... qualche sonda e si inzia a scrivere il programma?

ma poi una cosa che non ho letto da nessuna parte...
il programma lo scrivi al pc, poi ad arduino passi il sorgente o il compilato? e soprattutto come glielo passi? lo metti in qualche directory?

orpheus 01-06-2010 12:53

mi sembra di aver letto che lo puoi scrivere anche sul block notes e poi esistono dei programmini che ho già scaricato gratuitamente che lo trasformano in linguaggio macchina... tutto sta ora a conoscere chi lo potrebbe programmare e chi sa dove collegare i vari fili! -43

Brig 01-06-2010 13:13

io come ho già detto il c lo conosco...

windows non so come stia messo col c, ma linux è la "base" naturale per usarlo, in quanto ha già il compilatore (gcc, quello che serve a creare l'eseguibile)

per programmare cmq è facile
crei un file questoEIlMioFile.c
poi lo compili con
gcc -g -Wall -pedantic -o questoEIlNomeDellEseguibile questoEIlMioFile.c

XD

non mi ricordo bene se era Wall maiuscolo o lo era Pedantic... sono cmq due opzioni che sono più "severe" in fase d compilazione e ti danno più warning se è il caso...
-g serve per il debug... quindi in questo caso non so quanto possa servire, mentre -o permette di far scegliere il nome dell'eseguibile

orpheus 01-06-2010 13:18

te che ci capisci...guarda un pò se va bene questo programma?

ALBA DI 1 ORA
Citazione
int ledPin = 9; //Piedino a cui è collegata la striscia led

void setup() {
// inizio funzione
}

void loop() {
// ALBA e incremento luce
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {

analogWrite(ledPin, fadeValue);
// durata espressa in millisecondi in questo caso il fading ALBA dura 1 ora
delay(3600000);
}
}

TRAMONTO DI 1 ORA
Citazione
int ledPin = 9; // Striscia led collegata al pin 9

void setup() {

}

void loop() {
//TRAMONTO e Tenebre
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
analogWrite(ledPin, fadeValue);
// durata espressa in millisecondi in questo caso il fading TRAMONTO dura 1 ora
delay(3600000);
}
}

Brig 01-06-2010 14:30

lo ho già visto... bisognerebbe sare cos'è la funzione delay...

non so cosa sia questo 3600000...
60 (minuti di un ora) * 60 (secondi) * 100 (millisecondi) = 360000... mi manca uno 0... forse c'entrano i decimi di secondo.. non vorrei dire una cassiata ma un secondo corrisponde a 1000 millisecondi... e non a 100...

poi per via del for secondo me questo non è C, ma C++

poi dovrei sapere anche cosa fa analogWrite...

cmq per "leggerla umanamente"
dichiara una variabile (fadeValue) che parte da 0, e ogni ciclo viene incrementata di 5. Prima di ogni incremento sul fa questa "scrittura analogica" sul pin 9 (ledPin) con la "potenza" (credo) fadeValue (che aumenta ogni ciclo... questo fa presuppore che aumenti la potenza di quel pin... dove con potenza si intenderà volt o che so io...) poi dice di fare un delay di un ora... ma non so che sia sto delay.. cmq non so spiegarmi... ma sulla carta funge... sennò non la scrivevano XD

orpheus 01-06-2010 17:50

3600000 sono i secondi che sono i 1 ora.....non so...
appena monto la plafo proverò se funziona, il problema è sapere dove collegare tutti i fili

albrok 01-06-2010 19:39

ma non c'è già scritto tutto ?

....
analogWrite(ledPin, fadeValue);
// durata espressa in millisecondi in questo caso il fading ALBA dura 1 ora
delay(3600000);
}
....

3600000 millisecondi = 3600 secondi = 1 ora
Io non programmo in c ma normalmente delay è una funzione di ritardo. Quando il computer arriva al comando delay(xxx) si ferma xxx millisecondi e poi continua ....

orpheus 01-06-2010 20:00

ok...mettiamo che il discorso alba/tramonto vada bene...ora bisogna sapere dove collegare i fili del relè e degli alimentatori.... qui c'è scritto PIN 9 , ma penso che servano + pin o slot o non so come si chiamino....

Brig 02-06-2010 14:40

ho detto una cavolata...
ho visto ora la delay... è una sleep solo in millisecondi... ma non ha senso allora...
perchè lui fa un iterazione del ciclo ogni ora... che senso ha?
in sostanza quel ciclo lo compie per 51 volte... e ogni ora fa una scrittura analogica sul pin 9 aumentando di 5 il valore rispetto all'iterazione prima....
non capisco perchè per fare un'alba ci deve mettere 51 ore


orpheus ho visto che sei di spezia... io sono di massa, e oggi devo andare a spezia che ho la ragazza li... ma volendo ci si può trovare (a spezia mi torna scomodo però... perchè se sono li è perchè sono con la ragazza) per provare a fare qualcosa... anche se non me ne intendo moltissimo di elettricità... ma qualcosa so...

cmq di certo a me servirebbero 4 orari diversi solo per la mia plafo... aggiungi il rabbocco, sensori di livello (collegati ad allarmi acustici) e vari... in sostanza mi servirebbero circa 10 e passa prese temporizzate... e sto arduino ne ha 6 mi sembra di aver capito...

albrok 02-06-2010 14:53

Quote:

Originariamente inviata da Brig (Messaggio 3040159)
perdona la mia ingoranza...

ma intanto quella che fa fermare il processo per tot secondi si chiama sleep... e in c dura secondi, non millisecondi come in java...

poi non ha senso che sia una sleep, perchè sennò farebbe un iterazione del ciclo, per poi fermarsi un ora, per aumentare dopo... alla faccia dell'alba... come c'era scritto in quel link che ho postato, a fare un'alba con pausa di un ora ci stai 55 ore....

la delay quindi non è una sleep sicuro... potrebbe essere un qualcosa che dice di "durarla" per un ora... ma non ne capisco il senso... dovrei vedere la documentazione o il codice di questa delay...

...

Io sto solo cercando di dare una mano e di capire, e ho premesso che non conosco il C, ammesso che sia C il linguaggio con cui si programma Arduino.
Comunque ho cercato un pò e ho trovato che il delay indica la durata complessiva del ciclo, in questo caso 1 ora, quindi immagino che sia poi Arduino a fare in modo che l'iterazione complessiva:

for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {

analogWrite(ledPin, fadeValue);


duri esattamente un'ora.
Se mi date qualche settimana di tempo ve ne dò conferma perché 'sto Arduino mi sta prendendo e spero di avere il tempo di studiarmelo un pò ;-)

Brig 02-06-2010 15:09

delay()
Description

Pauses the program for the amount of time (in miliseconds) specified as parameter. (There are 1000 milliseconds in a second.)


dal mio scarso inglese capisco che mette il programma in pausa per tot millisecondi... in quel link dicono che il delay dice ad arduino di far durare tutto il ciclo 1 ora... a me continua a non tornare...
quella descrizione la ho presa da arduino
http://www.arduino.cc/en/Reference/Delay
e dice che la delay è una sleep...

è strano.. secondo me lo hanno preso da qualcuno e quindi deve funzionare... ma non riesco a capire come... o la delay non è una sleep (allora è sbagliata la descrizione sul sito dell'arduino) oppure... se la delay è una sleep...
via se riesco sta sera provo un po quel codice mettendoci qualcos'altro... perchè non mi torna neanche che dica che il ciclo deve durare un ora, visto che lo dice ad ogni iterazione, come fa a capire che il ciclo deve durare un ora visto che te lo dico sempre? in sostanza parte a contare, poi io ti dico deve durare un ora... o non resetta il timer che ha.. oppure la volta che conta davvero è l'ultima... bah...
la cosa strana è che lo hanno trovato su internet e quindi deve sicuramente funzionare... però...

albrok 02-06-2010 15:24

Si, è strano, quel delay è all'interno del loop quindi dovrebbe eseguirlo ogni volta, boh #24
Parlando del programma, ho letto che una volta pronto si salva all'interno di Arduino che quindi, per essere usato scollegato dalla porta usb, deve essere alimentato a parte.
Io credo che messo in una scatoletta col suo bell'alimentatore e qualche relay di potenza per gli alti carichi, possa essere usato un pò per tutto, dalle luci al rabbocco automatico, al raffreddamento, ecc.

whitetiger94 02-06-2010 15:29

Scusate se mi intrometto ma vorrei capirne di più su Arduino. Premesso che di programmazione e di elettronica ne capisco poco, vorrei chiedervi cosa mi servirebbe se lo volessi usare come timer per le pompe e le luci, e come potrei mettere delle sonde per il PH e la temperatura, magari montando anche un display. Inoltre c'è qualche guida semplice per neofiti?
Grazie.

Brig 02-06-2010 15:39

Quote:

Originariamente inviata da albrok (Messaggio 3040207)
Io credo che messo in una scatoletta col suo bell'alimentatore e qualche relay di potenza per gli alti carichi, possa essere usato un pò per tutto, dalle luci al rabbocco automatico, al raffreddamento, ecc.

si ok... ma ha solo pochi buchi... è questo il mio problema...
cmq se ci si riuscisse a mettere daccordo con optherus... magari si conclude qualcosa

se avete msn magari ci si può trovare...

albrok 02-06-2010 15:56

Quote:

Originariamente inviata da whitetiger94 (Messaggio 3040211)
Scusate se mi intrometto ma vorrei capirne di più su Arduino. Premesso che di programmazione e di elettronica ne capisco poco, vorrei chiedervi cosa mi servirebbe se lo volessi usare come timer per le pompe e le luci, e come potrei mettere delle sonde per il PH e la temperatura, magari montando anche un display. Inoltre c'è qualche guida semplice per neofiti?
Grazie.

Io ho cominciato a darci un 'occhiata da ieri, quindi ne so pochissimo.
Il sito di riferimento è http://www.arduino.cc/, lì c'è tutto o quasi: modelli, documentazione, link per comprarlo, ecc.
Credo si possa fare una centralina che comandi diverse cose, come timer funziona di certo, per le sonde bisogna vedere se se ne trovano di compatibili, altro per il momento non so dirti.
------------------------------------------------------------------------
Quote:

Originariamente inviata da Brig (Messaggio 3040223)
[
...
si ok... ma ha solo pochi buchi... è questo il mio problema...
...

Che intendi ?
Il modello 2009 ha 14 porte digitali che possono essere input o output, e 6 ingressi analogici, altrimenti il modello Mega che ha 54 i/o !

orpheus 02-06-2010 16:17

ragazzi! bene che ci interessiamo!!! se qualcuno di voi ci chiappa , riusciamo a costruirci un computerino con 4 soldi competitivo come gli altri!!! -38 -38 #19

intanto, l'arduino che ho è questo
http://cgi.ebay.it/Arduino-Duemilano...item20b142e513

il display è 16x2 (credevo 4x20 ma so che esiste) ed è questo
http://cgi.ebay.it/LCD-Keypad-Shield...item20b13c27f9

ho visto ora che c'è anche questo ma non so se possa esserci utile
http://cgi.ebay.it/Arduino-Sensor-Sh...item53e1a3c11d

ora...bisogna capire dove e cosa va collegato all'hardware.

e come avete letto anche voi, qui spiega meglio e ci sono anche i link per i sensori, ho contattato ssuperpippo di questa discussione e mi ha detto che a giorni mi manda della documentazione con foto allegate...
------------------------------------------------------------------------
i llink che manca

http://www.discuspassion.net/forum/i...;topic=11337.0

whitetiger94 02-06-2010 16:19

Leggendo su internet mi sembra di aver capito che, per esempio, per leggere la temperatura è estremamente sempplice, basta montare un sensore LM35 ed il gioco è fatto. Ciò che non ho capito è come farlo funzionare come timer, collegandoci i fili delle pompe e come collegarci uno schermo lcd. Inoltre se volessi comprare la versione Duemilanove, cos'altro mi servirebbe per iniziare a smanettare?
Comunque vi seguo.

albrok 02-06-2010 17:20

Quote:

Originariamente inviata da orpheus;3040264...

ho visto ora che c'è anche questo ma non so se possa esserci utile
[url
http://cgi.ebay.it/Arduino-Sensor-Shield-for-digital-analog-module-servos-/360267890973?cmd=ViewItem&pt=LH_DefaultDomain_0&ha sh=item53e1a3c11d[/url]
...

Questo credo che serva a semplificare il collegamento dei sensori, in pratica è (credo #12 ) un circuito da installare sopra l'Arduino che ti permette di collegare i sensori utilizzando dei connettori femmina-femmina già pronti, quindi senza dover usare il saldatore o crimpare i fili.

orpheus 02-06-2010 17:26

ok...anch'io penso sia una cosa del genere...quindi ora bisogna trovare i sensori adatti alle nostre esigenze ed effettuare il programma che esegua il calcolo opportuno x ogni sensore.... a dirsi è facile, ma chi è in grado di farlo? #07

whitetiger94 02-06-2010 17:32

Interessante è questa discussione su ReefItalia, in cui c'è il link ad un blog in cui spiega come far funzionare, con tanto di codice, il sensore di temperatura LM35, inoltre se non sbaglio si parla anche della sonda per il PH e di come collegare le pompe (anche se c'ho capito ben poco...#12)
Spero di esser stato utile.

orpheus 02-06-2010 18:56

ottimo whitetiger! questo si che è utile! avete visto? altro che acquatronica o iks!!! -39

Brig 03-06-2010 00:33

14 prese (pin o come li vogliamo chiamare) mi sembrano pochi...
personalmente ne uso 4 per la plafo, 2 per le pompe, 1 per i led lunare, 1 per le ventole del mobile, 1 per la luce del mobile, 1 per la luce del refugium... ne uso già una 10... più metti i vari sensori, e già che ci siamo qualcosa che ritardi l'accensione dello skimmer ogni volta che si riaccende la risalita (così da svuotare un po la sump...)

il mega ha un numero di prese interessante... però credo che costicchierà....


cmq orpheus se vuoi sabato mattina posso essere a spezia per qualche ora (tipo 10#12)... volendo si può provare a fare qualcosa...
poi se ti fai trovare da qualche parte (mia) in settimana...

albrok 03-06-2010 09:45

Il Mega costa una sessantina di euro in Italia, sui siti che ho visto, mentre all'estero qualcosa meno.
In questi giorni c'èra un'asta dove si trovava a 28 euro in Inghilterra, ma è scaduta, altrimenti ci sono i cloni dalla Cina o Hong Kong.
Comunque credo che prenderò il Mega per lo stesso motivo che dici, ho paura che 14 i/o alla fine possano non bastarmi.

orpheus 03-06-2010 12:43

brig volentieri, ma aspetta che mi arrivino i led x la plafo così abbiamo del materiale sul quale provare.

billykid591 03-06-2010 14:35

L'Arduino 2009 ha 14 pin in/out (entrata o uscita digitale) di cui 6 possono diventare uscite PWM...e inoltre ha 6 ingressi analogici....direi che per un uso "normale" sarebbero sufficienti.....usando un display alfanumerico LCD...certamente il numero si assottiglia a 8 (LCD ne "mangia" 6)...che comunque non sono pochi lo stesso, le pompe se sono elettroniche con controller non hanno bisogno di essere comandate....per le luci possono bastare due uscite...per i sensori ci sono 6 ingressi analogici (es. Temp, Ph, Redox..........)...poi comunque volendo, come detto, c'è il mega che ha 54 ingressi digitali e 16 analogici.

whitetiger94 03-06-2010 15:03

Salve potreste spiegarmi come si collegano le pompe (non elettroniche) o le luci utilizzandolo come timer? Ho letto che c'è bisogno di relè. Inoltre come funziona con la sonda PH. Ultima cosa secondo voi questo LCD potrebbe andare bene?


Tutti gli orari sono GMT +2. Attualmente sono le 16:58.

Powered by vBulletin versione 3.8.9
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.
Traduzione italiana Team: AcquaPortal
User Alert System provided by Advanced User Tagging v3.2.5 Patch Level 2 (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Copyright Zero Pixel Srl

Page generated in 0,13902 seconds with 13 queries