Pages: 1 ... 25 26 [27] 28 29 ... 45   Go Down
Author Topic: Ardu-Aquarium Controller v. 3.3.1  (Read 54645 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma infatti io proponevo di usare una parabola, che come hai visto sono 3 variabili da tenere memorizzare, il calcolo della y lo fai una volta al minuto e sei a posto...

poi comabiando le 3 variabili se vuoi imiti anche le stagioni, io posso fornirti le curve reali da quì a circa 2 o 3 mesi fà smiley
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Rome
Offline Offline
Sr. Member
****
Karma: 9
Posts: 371
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

E sicuramente una bella features da implementare, ma stranamente oggi riesco ad avere tempo per postare, cosa che non mi riusciva da mesi, quindi per ora mi dedico a cercare di finire il progetto (tempo a disposizione permettendo) così come l'ho pensato, una volta finito pensero anche a tutti i possibili miglioramenti e sicuramente terrò conto di questo tuo suggerimento, l'idea mi piace davvero, ma ora non ce la faccio.

Ciao Riccardo.
Logged

Riccardo

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao a tutti scusate per la mia ignoranza nella programmazione. io dovrei pilotare delle pompe di movimento nel acquario,
o scritto due righe di programma sembra che funzioni ma fa smette di funzionare tutte le altre funzioni quale errore sto commetto e sopratutto chi mi può dare delle indicazioni dove inserire questa funzione. ringrazio di nuovo a tutti.

Code:
byte POMPA1 = 0x40;
void setup() {          
    schrele.write( P6, LOW); // attiva il relé / chiude i contatti
  schrele.write( P6, HIGH);  // disattiva il relé / apre i contatti    
}
void loop() {
  schrele.write(P6, HIGH); // disattivare pompa 1
  delay(1000);              
  schrele.write(P6, LOW); // attivare pompa 1
  delay(10000);
}


salvatore
« Last Edit: October 11, 2013, 02:08:50 pm by salvatore77 » Logged

Rome
Offline Offline
Sr. Member
****
Karma: 9
Posts: 371
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Salvatore77,
per inserire codice nei post, usa il tasto con il cancelletto la prossima volta  smiley-wink
in ogni caso il codice che hai scritto fa esattamente quello che deve fare, il delay infatti è bloccante, il processore non fa nulla se non trascorre prima il tempo da te inserito, per fare quello che tu dici, si fanno i confronti utilizzando millis(), inoltre le due istruzione inserite nel setup() non servono a nulla nel tuo caso, fanno solo scattare il relé, assegnare poi ad una variabile un valore e non usarla a poco senso (POMPA1), ti ho buttato giù due righe al volo al volo, dovrebbero funzionare, altrimenti gli ridò uno sguardo in serata, tu però studiatele un secondino.  smiley-grin
Ciao.

Code:
byte POMPA1 = 0x40;
unsigned long intervallo = 10000;
boolean statopompa;

void setup() {
  statopompa = true;
  scambioprec = millis();

}
void loop() {
if ((millis() – scambioprec) > intervallo)
{ if statopompa == true
{ schrele.write(POMPA1, HIGH);
statopompa = false;
}
else
{ schrele.write(POMPA1, LOW);
statopompa = true;
}
scambioprec = scambioprec + Intervallo;
}
}
« Last Edit: October 10, 2013, 12:50:55 am by riciweb » Logged

Riccardo

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao
riciweb ti posso disturbare?
 
Logged

Rome
Offline Offline
Sr. Member
****
Karma: 9
Posts: 371
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Non siamo mica al telefono,
questo è un forum, se hai domande da fare chiedi, può risponderti chiunque...
Logged

Riccardo

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

scusa o visto che eri olla in  io o provato a inserire il programma e mi da sempre il solito errore.

scusa sempre ma io di programmazione ne so poco.
l'errore che mi da e  linea

if ((millis() – scambioprec) > intervallo)

(scambiopec' was not declared in this scope)
Logged

Rome
Offline Offline
Sr. Member
****
Karma: 9
Posts: 371
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ecco appunto ero troppo di corsa...
Inserisci nelle dichiarazioni delle variabili:
Code:
unsigned long  scambioprec;

Ciao e buona serata.
Logged

Riccardo

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

in questo modo
Code:
byte POMPA1 = 0x40;

unsigned long intervallo, scambioprec; = 10000;


boolean statopompa;

void setup() {
  statopompa = true;
  scambioprec = millis();

}
void loop() {
if ((millis() – scambioprec) > intervallo)
{ if statopompa == true
{ schrele.write(POMPA1, HIGH);
statopompa = false;
}
else
{ schrele.write(POMPA1, LOW);
statopompa = true;
}
scambioprec = scambioprec + Intervallo;
}
}
« Last Edit: October 10, 2013, 03:47:00 pm by salvatore77 » Logged

Rome
Offline Offline
Sr. Member
****
Karma: 9
Posts: 371
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salvatore,
dalle domande che fai e da come mi rispondi, mi pare di capire che sei un pochino più alle prime armi di me, ti rispondo volentieri, ma ti chiedo anche di impegnarti un po' di più nel cercare di venire a capo a problemi che ti assicuro sono veramente semplici da risolvere, frequenta le pagine del learning, quelle di reference oppure acquista un buon libro, io ho iniziato con quello di Banzi ad esempio ed ho eseguito pedissequamente tutto lo starter kit ufficiale e l'ho fatto perché non se ne sa mai abbastanza ti assicuro.
In ogni caso eccoti il codice corretto.

Code:
byte POMPA1 = 0x40;
unsigned long intervallo = 10000;
unsigned long scambioprec;
boolean statopompa;

void setup() {
  statopompa = true;
  scambioprec = millis();

}
void loop() {
if ((millis() – scambioprec) > intervallo)
{ if statopompa == true
{ schrele.write(POMPA1, HIGH);
statopompa = false;
}
else
{ schrele.write(POMPA1, LOW);
statopompa = true;
}
scambioprec = scambioprec + Intervallo;
}
}

Ciao  smiley
Logged

Riccardo

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao e scusa di nuovo  e vero che sono alle prime esperienze di programmazione ma le avevo provate tutte pure quella che hai postato che e stata la prima prova che o fatto ma mi riporta sempre al solito errore.

Code:
error: stray '\' in program
in function 'void loop()':
error: expected ')' before 'u2013'
error: expected ')' at end of input
error: expected statement at end of input
error: expected '}' at end of input

riguardando il libro e questo :
1)  Arduino. La guida ufficiale
2) Getting Started With Arduino

 
  smiley-roll-sweat  ciao da salvatore.
« Last Edit: October 12, 2013, 02:55:09 am by leo72 » Logged

0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

mancano le parentesi tonde all'if.

ma queste sono le basi del linguaggio, in olre il compilatore e ti dice la riga di errore, e l'ide dovrebbe persino evidenziartela (guarda sempre anche la riga prima e la riga dopo, per esempio controllando se ti sei dimenticato i ; quando ci vanno, o viceversa)

Ti convene prima di tutto prendere mano col linguaggio e poi litigare con  il codice scritto da altri smiley

@riciweb: ho sistemato ola visualizzazione dei grafici e ho notato che la luminosità è simile ad una retta, posto i grafici a breve
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

pescia (TO)
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

manca il ; su:
if statopompa == true

ma da sempre il solito errore,
if((millis() – scambioprec) > intervallo)
Logged

0
Offline Offline
Shannon Member
****
Karma: 129
Posts: 10440
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
manca il ; su:
if statopompa == true

no, al contrario... segui il link che ho in firma, e studiati il C. Almeno leggerti le basi, in un paio di ore e osservando gli esempi di base di arduino sarei in grado di leggere quello che hai scritto finora e pensare: "che cazzone che sono  smiley-mr-green"

in generale l'unico modo per imparare una disciplina scientifica è sempre quello: RTFM http://it.wikipedia.org/wiki/RTFM
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Disperso nel nauseante oceano della burocrazia
Offline Offline
Edison Member
*
Karma: 77
Posts: 2461
Io sono l'ultimo,
e parlero' al vuoto
in ascolto.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...
in generale l'unico modo per imparare una disciplina scientifica è sempre quello: RTFM http://it.wikipedia.org/wiki/RTFM

Ultima legge definitiva: "Quando tutto il resto e' fallito, leggete il manuale delle istruzioni" smiley-razz smiley-lol
Logged

"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

Pages: 1 ... 25 26 [27] 28 29 ... 45   Go Up
Jump to: