Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
I postatori più attivi del mese
Poderak
 
papat
 
Mrskizzo
 
Charade
 

Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Mar Mar 01, 2016 8:45 pm

Salve a tutti volevo chiedere una cosa: i son riuscito tramite vari tutorial che ho visto in rete in particolare (Poderak) a costruire una piccola stazione meteo alla quale ho collegato un rtc per l'ora, fin qui tutto bene ora a tale stazione vorrei aggiungere un relè il quale superata una certa temperatura preimpostata tipo 25 °C chiuda il contatto(lavoro) se la temperatura diminuisce 24°C apre nuovamente il contatto tornando a riposo.. non ho idea di come buttar giù il codice mi aiutate? Grazie What a FaceWhat a Face

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Mer Mar 02, 2016 4:12 pm

Ciao @Dock, non dovrebbe essere molto complicato Very Happy. Il relè, da quanto ho capito, dovrà essere solo spento o acceso. Per impostarlo in base alla temperatura ti basta mettere una condizione.

Codice:
if (temp>25) {
digitalWrite(rele, HIGH);
}

else {
digitalWrite(rele, LOW);
}

La condizione la puoi mettere alla fine, prima della chiusura del void loop(). Ovviamente non dimenticarti di impostare il PIN al nome "rele" e di impostare nel void setup() quest'ultimo come OUTPUT Wink.

Fammi sapere Ciao!

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Mer Mar 02, 2016 10:34 pm

Ciao grazie per la risposta!! Ho provato a fare come hai detto ma il relè rimane sempre eccitato dove sbaglio?
Posto il codice "pasticciato" Laughing Laughing 


 

   
Codice:
 /* Stazione meteo Arduino v1.0
     *
     */
    #include <Wire.h> //libreria che consente la comunicazione con i2c                
    #include <LiquidCrystal_I2C.h>  //libreria display i2c
    #include "RTClib.h"
    #include <dht11.h>
    dht11 DHT;
    #define DHT11_PIN A2
    //////////////////////addr, en,rw,rs,d4,d5,d6,d7,bl, blpol
    LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //impostazione indirizzo del display e pin del display LCD collegati all'i2c
   RTC_DS1307 RTC;
    int temp=0; //raccoglie misura temperatura
    int um=0; //raccoglie misura umidità
    int temp_min=0; //si ricorda della temperatura min. registrata
    int um_min=0; //si ricorda dell'umidità min. registrata
    int temp_max=0; //si ricorda della temperatura max. registrata
    int um_max=0; //si ricorda dell'umidità min. registrata
    int c1, c2; //variabili iniziali per um_min e temp_min
    int rele=A1;

     void setup() {
      lcd.begin(16,2); //inizializzo il display. Il display LCD usato è 16x2
      Serial.begin(9600);
      lcd.setCursor(3,0); //scritta all'avvio di arduino
      lcd.print(" Meteo ");
      lcd.setCursor(11,1);
      lcd.print("  1.0  ");
      delay(3000);
      pinMode(rele, OUTPUT);
      }

    void loop() {
       DateTime now = RTC.now();
      lcd.clear();
      int chk = DHT.read(DHT11_PIN); //abilito lettura dht11
      temp=DHT.temperature; //raccolgo misura temperatura
      um=DHT.humidity; //raccolgo misura umidità
      //stampo valori sul display lcd  
      lcd.setCursor(1, 0);
   if ( now.hour() < 10)
   {
     lcd.print(" ");
     lcd.print(now.hour(), DEC);
   }
   else
   {
   lcd.print(now.hour(), DEC);
   }
   lcd.print(":");
   if ( now.minute() < 10)
   {
     lcd.print("0");
     lcd.print(now.minute(), DEC);
   }
   else
   {
   lcd.print(now.minute(), DEC);
   }
  
   lcd.setCursor(10, 0);
   lcd.print("T:");
   lcd.print(DHT.temperature,1);
   lcd.write(0b11011111);
   lcd.print("C");
    
   lcd.setCursor(0, 1);
   if ( now.day() < 10)
   {
     lcd.print("0");
     lcd.print(now.day(), DEC);
   }
   else
   {
   lcd.print(now.day(), DEC);
   }
   lcd.print("/");
   if ( now.month() < 10)
   {
     lcd.print("0");
     lcd.print(now.month(), DEC);
   }
   else
   {
   lcd.print(now.month(), DEC);
   }
   lcd.print("/");
   lcd.print(now.year(), DEC);
   lcd.print("");
  
   lcd.setCursor(11, 1);
   lcd.print("U:");
   lcd.print(DHT.humidity,1);
   lcd.print("%");
  
      delay(25000);
      //riempio  variabili um_min e tem_min per la misura iniziale
      if (c1==0) {
        um_min=um;
      }
      if (c2==0) {
        temp_min=temp;
      }
      
      if (temp>temp_max) {
        temp_max=temp;
      }
      
      if (um>um_max) {
        um_max=um;
      }
      
      if (um_min>=um) {
        um_min=um;
        c1++;
      }

      if (temp_min>=temp) {
        temp_min=temp;
        c2++;
      }
     //stampo statistiche: um_max, um_min, temp_max, temp_min
      lcd.clear();
      lcd.setCursor(0,0);
      lcd.print("Temp. max.: ");  
      lcd.print(temp_max);
      lcd.print((char)223);
      lcd.print("C");
      lcd.setCursor(0,1);
      lcd.print("Umid. max.: ");          
      lcd.print(um_max);
      lcd.print("%");
      delay(9000);  
      lcd.clear();
      lcd.setCursor(0,0);
     lcd.print("Temp. min.: ");  
      lcd.print(temp_min);
      lcd.print((char)223);
      lcd.print("C");
      lcd.setCursor(0,1);
      lcd.print("Umid. min.: ");          
      lcd.print(um_min);
      lcd.print("%");
      delay(2000);
      if (temp>26) {
digitalWrite(rele, HIGH);
}

else {
digitalWrite(rele, LOW);
}

      
    }

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Gio Mar 03, 2016 3:46 pm

Ciao @Dock, ho visto che hai collegato il relè ad un PIN analogico, guardando il tuo codice. Dovresti invece collegarlo ad un PIN digitale Ciao!

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Gio Mar 03, 2016 9:26 pm

Ciao intanto grazie per il tuto interesse!!!
Ho provato a modificare ho messo il pin 13 però il risultato non cambia il relè rimane sempre ecceitato,da cosa può dipendere? cyclops 
Grazie ancora!

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Ven Mar 04, 2016 3:11 pm

Non è che per caso hai sbagliato il circuito? lol!

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Sab Mar 05, 2016 2:29 pm

Ciao! ho ricontrollato bene ma i collegamneti mi sembrano giusti posto immaggine dei collegamenti..


Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Sab Mar 05, 2016 3:55 pm

Ciao, potrebbe essere per caso il fatto che la temperatura non scende sotto i 26 gradi? Ciao!

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Sab Mar 05, 2016 4:04 pm

No perchè l'ho fatta salire fino a 30 e poi scendere fino a 23..
Potrebbe dipendere dalle variabili per la tem minima e massima? Grazie Per il tuo aiuto!

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Sab Mar 05, 2016 5:25 pm

Lascialo stare a 30° fissi la temperatura per almeno 1-2 cicli Very Happy.

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Dom Mar 06, 2016 5:29 pm

Ciao ho riscritto il codice diminuito i delay ora il relè funziona correttamente o anche dovuto invertire la funzione if cioè
 allo stato del pin low il relè è acceso e quando il pin è in stato high il relè e spento sinceramente io pensavo fosse il contrario
comunque adesso tutto funge grazie! Arrow Arrow

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Dom Mar 06, 2016 7:04 pm

Grande! Se vuoi, condividi con noi un video o una foto del progetto Very Happy

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Dock il Dom Mar 06, 2016 7:11 pm

Certo!! Voglio mettere il tutto in un box poi posto il tutto!!

Dock
Livello uno
Livello uno

Messaggi Messaggi : 14
Crediti Crediti : 23
Reputazione Reputazione : 0
Data d'iscrizione Data d'iscrizione : 01.03.16
Età Età : 36

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Re: Stazione meteo con relè: Accendere/Spegnere in base alla temperatura. Come posso fare?

Messaggio Da Poderak il Dom Mar 06, 2016 9:03 pm

Grande!! Ci conto, a presto Ciao!

Poderak
♔ Amministratore

Messaggi Messaggi : 4131
Crediti Crediti : 11619
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permesso di questo forum:
Non puoi rispondere agli argomenti in questo forum