Salve a tutti makers
qualche giorno fa ho acquistato dei triops e siccome per nascere hanno bisogno di una temperatura stabile (fra i 23-24 °C) volevo creare un stabilizzatore di temperatura con arduino
l unico problema che siccome non so come si programma (anche se arduino l'ho da qualche mese)
quindi volevo chiedere se c'è qualche buon anima che può aiutarmi ( non dico di ''farmelo'' tutto però almeno darmi qualche consiglio)e anche consigliarmi quale pezzi usare
Grazie in anticipo
Con l'acqua c'è sempre qualche problema... specialmente se devi scaldarla (normalmente si usa una resistenza di potenza)..
Per la parte della temperatura comunque io utilizzerei un LM35. Dà un output analogico e basta alimentarlo a 5V per avere l'output.
Sul mio blog (che non aggiorno sfortunatamente molto spesso) avevo scritto un programma in proposito della lettura degli LM35. Ti conviene dargli un'occhiata per vedere cosa ti può essere utile.
ArduinoNovellino
Se lo fai un altra volta di postare 5 Topics uguali nei diversi Sottocategorie del Forul Italiano Ti banno.
Non si fa!!!!
Ho cancellato gli altri 4 Topics.
Ciao Uwe
stai cominciando dalla fine, per farlo con arduino se non hai esperienza ti serve del tempo, se hai fretta puoi cercare dei regolatori pid gà fatti tipo questo
ok per quanto riguarda il sensore di temperatura sono apposto , ma per quanto il riscaldamento dell'acqua?
resistenze elettriche
di che tipo ( scusa ma sono veramente ignorante)
questo sensore di temperatura va bene secondo voi?
come resistenze elettriche vanno bene quelle che trovi nelle lavatrici, comunque dipende dalla potenza di cui hai bisogno, per il sensore non saprei dirti non si capisce se è un analogico tipo lm35 o un digitale tipo ds18b20
Ma perché hai scartato i riscaldatori per acquari?
Parli di riscaldare... ma d'estate, a seconda di dove ti trovi, di dove metti il dispositivo, bisogna vedere se hai l'aria condizionata a casa... potresti anche dover raffreddare.
per fortuna io non ho questo problema perchè vivo nelle montagne del trentino
cyberhs:
Ma perché hai scartato i riscaldatori per acquari?
perchè per me sarebbe più bello farmelo e non semplicemente andare in un negozio e comprarlo
ragazzi per ora sono apposto con tutti i pezzi
avrei bisogno che qualcuno mi aiutasse a fare il ''programma'' sapendo che il riscaldatore è collegata ha un relè e che la temperatura non deve abbassarsi sotto i 22°C e no deve superare i 24°C
Grazie in anticipo a tutti
difficilmente qualcuno ti farà il programma, ma ne troverai tanti che saranno disposti ad aiutarti a correggere un programma fatto da te, comunque senza entrare nelle difficoltà di un PID ti basta fare un analog.Read() convertirlo in gradi centigradi confrontarlo con un intervallo di valori e agire di conseguenza con un digita.Read()
stefa24:
difficilmente qualcuno ti farà il programma, ma ne troverai tanti che saranno disposti ad aiutarti a correggere un programma fatto da te, comunque senza entrare nelle difficoltà di un PID ti basta fare un analog.Read() convertirlo in gradi centigradi confrontarlo con un intervallo di valori e agire di conseguenza con un digita.Read()
putroppo di quello che hai scritto non ci ho capito niente ... sono proprio negato...
Ti conviene allora partire dalle cose più semplici.
-
fai accendere e spegnere un LED
-
pilota un relè
-
leggi una temperatura
-
poi metti insieme
Tu stesso hai scritto che non ne compri uno già fatto per avere il piacere di farlo da te, quindi non ti scriviamo il programma, altrimenti perdi questo piacere
Arduino Novellino m ha chiesto per pm di sistemargli un po' l'esempio che avevo messo sul mio blog in modo da farlo funzionare via seriale.
Io lo scrivo quà tutto, così a chiunque serva può attingere!
(L'ho leggermente migliorato ed ottimizzato, dato che il codice era di 2/3 anni fa e ora sono migliorato in programmazione!)
//Definiamo il pin dell'input analogico che vogliamo utilizzare
#define LM35 0
// Utilizziamo un byte per contare il numero di misurazioni effettuate.
byte mis = 0;
// vrif serve per tenere in conto del voltaggio di riferimento che usiamo per l'input analogico.
// 1.1V dal riferimento interno sono più che sufficenti per essere precisi.
float vrif = 1.1;
// La media delle 5 misurazioni che abbiamo effettuato.
float media = 0.00;
// Inizio!
void setup() {
// Impostiamo il riferimento dell'input analogico come quello interno (1.1V)
analogReference(INTERNAL);
// Facciamo una prima lettura per "pulire" l'input
analogRead(LM35);
// Avviamo la comunicazione seriale.
Serial.begin(9600);
// Informiamo dell'avvio. Usiamo F() per evitare di occupare spazio nella RAM
Serial.println(F("Avviato!"));
}
void loop() {
// Ad ogni ciclo incrementiamo il contatore.
mis++;
// Aggiungiamo il valore attuale del sensore. Questo calcolo fa risultare direttamente un valore in gradi celsius.
media += (100 * vrif * analogRead(LM35)) / 1024.0;
// Se abbiamo ciclato 5 volte
if(mis==5){
// Dividiamo per 5 la media.
media /= 5;
// Stampiamo la media in seriale.
Serial.println(media);
Serial.println(F("============"));
// Resettiamo il contatore e la media.
mis -= 5;
media = 0.00;
delay(500);
}
else {
// Facciamo passare 25 millisecondi se non abbiamo restituito la media.
delay(25);
}
}
Ti ringrazio molto per i consogli ma anche per il programma!