Benvenuti sul Forum di AcquaPortal, la più grande community italiana di acquariofilia!
Sul Forum di AcquaPortal puoi discutere con altri appassionati di acquariofilia, tenere un tuo Blog personale, inserire foto e video, chattare, ed aiutarci a creare un grande database con schede di pesci, invertebrati e prodotti di acquariofilia.
Per entrar a far parte della comunità occorre registrarsi.
Per farlo premi su
Al momento della registrazione ti verrà richiesto di accettare il Regolamento che ti consigliamo di leggere attentamente.
Ti consigliamo inoltre di leggere le FAQ per apprendere le funzionalità principali del forum.
Se invece sei un utente registrato e hai dimenticato i tuoi dati di accesso devi effettuare il Recupero dati.
Tecnica e allestimento NanoreefPer parlare della tecnica, dell’allestimento, della chimica e di quanto non contemplato nelle altre sezioni inerente ai Nanoreef.
void bounc(){
for (int bounc=0; bounc==0; bounc++){ delay(300);};
che parte ogni qual volta si preme un tasto. Solo vorrei risolvere il problema elettronicamente, senza dover ricorrere a codice. In giro ho letto che si può utilizzare un condensatore messo in parallelo sul pulsante. Tu ne sai qualcosa?
Seconda cosa, posso usare un qualsiasi transistor per misurare la temperatura?
Grazie, alla fine il tuo consiglio di basare il programma su millis() e non su delay si è rilevato fondamentale
Il problema del pulsante è che ti da un delay all'inizio da quanto ricordo (tu schiacci e quando il condensatore è carico il segnale di arduino va su).(comunque domani controllo meglio).
Ma alla fine la funzione che t'ha risolto il problema si basa sul delay!!
ahahah!!
__________________ Chi non ride mai non è una persona seria - (Chopin) ...La sobrietà và presa con moderazione... - (Jax - Brillo ma da lucido)
Il problema del pulsante è che ti da un delay all'inizio da quanto ricordo (tu schiacci e quando il condensatore è carico il segnale di arduino va su).(comunque domani controllo meglio).
Ma alla fine la funzione che t'ha risolto il problema si basa sul delay!!
ahahah!!
ok grazie
ahahah si però credimi in tutto il programma il delay compare solo in quella funzione.....solo che mi sembrava veramente esagerato usare la millis()
lcd.setCursor(0, 0);lcd.print("Set ml per day ");
if((s%2)==0){ lcd.setCursor(0, 1);lcd.print(ml);}
if((s%2)!=0){ lcd.setCursor(0, 1);lcd.print(" ");}
}
lcd.setCursor(0, 0);
printime(h, m, s);
clock(ktime, s, m, h);
pindx=digitalRead(8);
if(pindx==HIGH){cas=1; lcd.begin(16,2);}
/*SET TIME*/ while (cas==1){
clock(ktime, s, m, h);
lcd.setCursor(2, 0);
lcd.print("Set time(1/4)");
lcd.setCursor(0, 1);
lcd.print("x");
lcd.setCursor(14, 1);
lcd.print("=>");
bounc();
pinp=digitalRead(6);
pindx=digitalRead(8);
pinsx=digitalRead(9);
if (pindx==HIGH){cas=cas+1;}
if (pinsx==HIGH){lcd.begin(16,2) ;cas=0;}
if (pinp==HIGH){lcd.begin(16,2); cas1=1; bounc();}
while(cas1==1){
clock(ktime, s, m, h);
setprintime_M(h, m, s);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){m=m+1;bounc();}
if(pinm==HIGH){m=m-1;bounc();}
if (pindx==HIGH){bounc();cas1=2; lcd.begin(16,2);}
while(cas1==2){
clock(ktime, s, m, h);
setprintime_H(h, m, s);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){h=h+1;bounc();}
if(pinm==HIGH){h=h-1;bounc();}
if (pindx==HIGH){bounc();cas1=1; lcd.begin(16,2);}
}
}
/*SET NEON*/ while (cas==2){
clock(ktime, s, m, h);
lcd.setCursor(2, 0);
lcd.print("Set neon(2/4)");
lcd.setCursor(0, 1);
lcd.print("x");
lcd.setCursor(14, 1);
lcd.print("=>");
bounc();
pinp=digitalRead(6);
pindx=digitalRead(8);
pinsx=digitalRead(9);
if (pindx==HIGH){cas=cas+1;}
if (pinsx==HIGH){lcd.begin(16,2); cas=0;}
if (pinp==HIGH){lcd.begin(16,2); cas1=1; bounc();}
/*m on */ while(cas1==1){
clock(ktime,s,m,h);
setneonprint_M_ON(h_on,s,m_on,h_off,m_off);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){m_on=m_on+1;bounc();}
if(pinm==HIGH){m_on=m_on-1;bounc();}
if (m_on==-1){m_on=59;}
if (pindx==HIGH){bounc();cas1=2; lcd.begin(16,2);}
/*h on*/ while(cas1==2){
clock(ktime, s, m, h);
setneonprint_H_ON(s,h_on,m_on,h_off,m_off);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){h_on=h_on+1;bounc();}
if(pinm==HIGH){h_on=h_on-1;bounc();}
if (h_on==-1){h_on=23;}
if (pindx==HIGH){bounc();cas1=3; lcd.begin(16,2);}
/*m off*/ while(cas1==3){
clock(ktime,s,m,h);
setneonprint_M_OFF(h_on,m_on,h_off,s,m_off);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){m_off=m_off+1;bounc();}
if(pinm==HIGH){m_off=m_off-1;bounc();}
if (m_off==-1){m_off=59;}
if (pindx==HIGH){bounc();cas1=4; lcd.begin(16,2);}
/*h off*/ while(cas1==4){
clock(ktime,s,m,h);
setneonprint_H_OFF(h_on,m_on,s,h_off,m_off);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){h_off=h_off+1;bounc();}
if(pinm==HIGH){h_off=h_off-1;bounc();}
if (h_off==-1){h_off=23;}
if (pindx==HIGH){bounc();cas1=1; lcd.begin(16,2);}
}
}
}
}
}
/*SET DOSO*/ while (cas==3){
clock(ktime, s, m, h);
lcd.setCursor(2, 0);
lcd.print("Set doso(3/4)");
lcd.setCursor(0, 1);
lcd.print("x");
lcd.setCursor(14, 1);
lcd.print("=>");
bounc();
pinp=digitalRead(6);
pindx=digitalRead(8);
pinsx=digitalRead(9);
if (pindx==HIGH){cas=cas+1;}
if (pinsx==HIGH){cas=0; lcd.begin(16,2);}
if (pinp==HIGH){lcd.begin(16,2); cas1=1; bounc();}
/*m stop */ while(cas1==1){
clock(ktime,s,m,h);
setprintdoso_stop_M(h_stop, s, m_stop);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){m_stop=m_stop+1;bounc();}
if(pinm==HIGH){m_stop=m_stop-1;bounc();}
if (m_on==-1){m_stop=59;}
if (pindx==HIGH){bounc();cas1=2; lcd.begin(16,2);}
/*h sto*/ while(cas1==2){
clock(ktime, s, m, h);
setprintdoso_stop_H(s,h_stop, m_stop);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){h_stop=h_stop+1;bounc();}
if(pinm==HIGH){h_stop=h_stop-1;bounc();}
if (h_stop==-1){h_stop=23;}
if (pindx==HIGH){bounc();cas1=3; lcd.begin(16,2);}
/*period m*/
while(cas1==3){
clock(ktime,s,m,h);
setprintdoso_period_M(h_period,s,m_period);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){m_period=m_period+1;bounc();}
if(pinm==HIGH){m_period=m_period-1;bounc();}
if (m_period==-1){m_period=59;}
if (pindx==HIGH){bounc();cas1=4; lcd.begin(16,2);}
/*period h*/
while(cas1==4){
clock(ktime,s,m,h);
setprintdoso_period_H(s, h_period, m_period);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){h_period=h_period+1;bounc();}
if(pinm==HIGH){h_period=h_period-1;bounc();}
if (h_period==-1){h_period=23;}
if (pindx==HIGH){bounc();cas1=5; lcd.begin(16,2);}
while(cas1==5){
clock(ktime,s,m,h);
setprintdoso_ML(s, ml);
allread(pinp,pinm, pinsx,pindx);
if (pinsx==HIGH){cas1=0; lcd.begin(16,2);}
if(pinp==HIGH){ml=ml+0.25;bounc();}
if(pinm==HIGH){ml=ml-0.25;bounc();}
/* REGOLA ML MAX */ if (ml==-2){ml=10;}
if (pindx==HIGH){bounc();cas1=1; lcd.begin(16,2);}
}
}
}
}
}
/*SET TEMPERATURA*/ while (cas==4){
clock(ktime, s, m, h);
lcd.setCursor(2, 0);
lcd.print("Set temp(4/4)");
lcd.setCursor(0, 1);
lcd.print("x");
lcd.setCursor(14, 1);
lcd.print("=>");
bounc();
pindx=digitalRead(8);
pinsx=digitalRead(9);
if (pindx==HIGH){cas=1;}
if (pinsx==HIGH){cas=0; lcd.begin(16,2);}
}
Scusate se m'intrometto, ma ho visto che da un paio d'anni sono in commercio le pompe dosatrici "aqua1 PD-2 0 0 1 e PD-2 0 0 2" che costano davvero poco e da quel che ho letto, sono molto valide... perché dannarsi a costruirne una da zero?
Un conto ci fossero in commercio solo pompe da 200 - 300 o 1000 €, ma le Aqua costano sui 40€ l'una ... :)
soddisfazione personale, e poi gia che sto gestendo tutto con arduino tanto vale gestire anche quelle no?
Scusate se m'intrometto, ma ho visto che da un paio d'anni sono in commercio le pompe dosatrici "aqua1 PD-2 0 0 1 e PD-2 0 0 2" che costano davvero poco e da quel che ho letto, sono molto valide... perché dannarsi a costruirne una da zero?
Un conto ci fossero in commercio solo pompe da 200 - 300 o 1000 €, ma le Aqua costano sui 40€ l'una ... :)
soddisfazione personale, e poi gia che sto gestendo tutto con arduino tanto vale gestire anche quelle no?
riesci a passarmi le dimensioni della pompa? Ho quasi finito il codice e vorrei iniziare a pensare al modi di sistemare il tutto
Scusate se m'intrometto, ma ho visto che da un paio d'anni sono in commercio le pompe dosatrici "aqua1 PD-2 0 0 1 e PD-2 0 0 2" che costano davvero poco e da quel che ho letto, sono molto valide... perché dannarsi a costruirne una da zero?
Un conto ci fossero in commercio solo pompe da 200 - 300 o 1000 €, ma le Aqua costano sui 40€ l'una ... :)
soddisfazione personale, e poi gia che sto gestendo tutto con arduino tanto vale gestire anche quelle no?
riesci a passarmi le dimensioni della pompa? Ho quasi finito il codice e vorrei iniziare a pensare al modi di sistemare il tutto
Se intende quelle che vanno installate in batterie da 4 io le ho, sono cm 11x7x6h.
Non sono pompe normali peró, sono pompe "autogestione"; hanno la gestione della frequenza e degli ml più la taratura.
Per utilizzarle (io c'ho pensato per le mie) devi smontarle e modificarle.
__________________ Chi non ride mai non è una persona seria - (Chopin) ...La sobrietà và presa con moderazione... - (Jax - Brillo ma da lucido)