Sistema raffreddamento Arduino

Salve a tutti, è un po' che sto cercando in giro, con pessimi risultati, un progetto da adattare al mio scopo: azionare 5 ventole da 12v al superamento di una temperatura soglia.

Sino ad ora con un termo-sensore TMP 36 ho realizzato un semplice termometro che su un display 16x2 mi dice la temperatura. Trovo però difficoltà nell'usare tutto questo come "interruttore" per accendere le ventole.

Nel progetto non è necessario l'uso del display, mi basterebbe che Arduino chiudesse il contatto al superamento di una certa temperatura misurata col TMP 36 e basta. Vorrei quindi che qualcuno potesse aiutarmi fornendomi uno schema su fritzing del circuito da realizzare e uno sketch da inserire nel mio Arduino UNO.

Grazie

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento se non lo hai già fatto: Regolamento Qui una serie di link utili, non inerenti al tuo problema: - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Ma tu come hai collegato le ventole da 12V ad Arduino ?

Il problema è proprio quello. Non so come collegarle!

Questo e’ facile

o con un rele’ ( ad esempio una schedina già pronta ) se vuoi fare solo ON/OFF

Oppure se vuoi gestire la velocità ( ma dipende anche dal tipo di ventola ), con un Mosfet

Per lo sketch e’ ancora piu’ semplice, facci vedere intanto cosa hai fatto, perche’ noi “aiutiamo”, non diamo sketch già pronti ( dato che devi pure imparare )

Dipende.. se devi pilotarci solo una ventola puo' bastare, dipende comunque dal consumo della stessa

come già detto, allega lo sketch che hai fatto, ti diamo una mano a completarlo

@Nyx_NK: Come ti è già stato detto in precedenza da Nid69ita, non avendolo tu ancora fatto, ti chiederei di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con attenzione il REGOLAMENTO

… poi, proprio in conformità al suddetto regolamento, punto 7, edita (in basso a destra del post, bottone More → Modify) il tuo post e racchiudi il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie.

Guglielmo

Si il programma va bene, se hai 5 ventole puoi già usare i for() per LOW e HIGH come nella setup:

const byte sensorPin = A0;
const float baselineTemp = 24.0;
const byte fromPin = 2;
const byte toPin = 5;
void setup()
{ delay(1000);        // attesa iniziale per eventuali blocchi di arduino
  Serial.begin(9600); //serve ad aprire una porta seriale tra computer e arduino
  for(byte i=fromPin; i<=toPin; i++)
  { pinMode(i,OUTPUT);
    digitalWrite(i, LOW);
  }
}

void loop()
{ int sensorVal = analogRead(sensorPin);
  Serial.print("Sensor Value: ");
  Serial.print(sensorVal); 
  //converti la lettura ADC in tensione
  float voltage = (sensorVal/1024.0)*5.0;
  Serial.print(", Volts: ");
  Serial.print(", degrees C: ");
  float temperature = (voltage - 0.5) * 100.0;  // converti la tensione in temperatura
  Serial.print(temperature);
  for(byte i=fromPin; i<=toPin; i++)
  { if(temperature <= baselineTemp)
    { digitalWrite(i, LOW);
    }
    else  // ovviamente qui >baselineTemp
    { digitalWrite(i, HIGH);
    }
  }
  delay(100);
}

:D :grin: :D ... veramente avevo detto EDITA il post precedente ... non aggiungine uno nuovo ;)

Inoltre, fai solo copia e incolla e non usare altre funzioni, che altrimenti, quello che ti porti dietro è inutilizzabile (come puoi vedere ... ci sono tutti i BBcode dei colori).

Guglielmo

Nyx_NK: Sto provando a usare i vostri consigli, ma non capisco qualche dei due schemi usare e quale sketch associare

Hai detto che non hai un modulo rele, quindi mi pare ovvio usare lo schema con transistor. Poi il tuo sketch va bene ma io ti ho proposto delle modifiche.