EnergiAlternativa

Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic Modifica a semplice termostato (Read 4268 times)
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Modifica a semplice termostato
04.05.16 at 10:18:25
Print Post  
Buongiorno a tutti
Posto la Mia prima creatura con arduino  Cheesy
Ho realizzato un semplice termostato copiando  da  http://www.danilolarizza.com/termostato-con-arduino-e-dht11/
e adattato con alcune Mie esigenze ( lcd a 16 caratteri aggiunto il ° e % e piccole modifiche ) .
Ho collegato al pin 13 una scheda relè con materiale da recupero  Grin
Ora vorrei inserire due pulsanti per variare la temperatura impostata senza che sia fissa

// setto il limite di temperatura minore o uguale a 20 gradi
if (t <= 20) {

Come modifico lo sketch e hardware ?
Grazie

Code (C++)
Select All
 // carico le librerie
#include <LiquidCrystal.h>
#include "DHT.h"
// definisco il pin del sensore
#define DHTPIN 8
// definisco il tipo di sensore
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// definisco a quali pin � connesso il display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// definisco che il pin 13 � quello a cui � connesso il led
const int ledPin = 13;
void setup() {
// setto il tipo di display (colonne, righe)
lcd.begin(16, 2);
// scrivo sul display le parole fisse
lcd.print("Tempera");
lcd.setCursor(0,1);
lcd.print("Umidita");
lcd.setCursor(10,0);
lcd.print((char)223);
lcd.setCursor(12,0);
lcd.print("Cald");
pinMode(ledPin, OUTPUT);
}
void loop() {
int t = dht.readTemperature();
int h = dht.readHumidity();
// posiziono il cursore alla colonna 12 e riga 0
lcd.setCursor(8, 0);
lcd.print(t);
lcd.setCursor(8, 1);
lcd.print(h);
// setto il limite di temperatura minore o uguale a 20 gradi
if (t <= 20) {
//
digitalWrite(ledPin, HIGH);
lcd.setCursor(10, 1);
lcd.print("% Acce");
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
lcd.setCursor(10, 1);
lcd.print("% Spen");
}
}
   

  

termostato_Mio.jpg ( 95 KB | Downloads )
termostato_Mio.jpg
LCD_bb.png ( 36 KB | Downloads )
LCD_bb.png

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re: Modifica a semplice termostato
Reply #1 - 04.05.16 at 11:52:24
Print Post  
Prova così  Wink

Partendo da una impostazione di 20 gradi, ad ogni pressione dei pulsanti avrai un incremento o decremento della temperatura impostata di 1 grado.

Code (C++)
Select All
// carico le librerie
#include <LiquidCrystal.h>
#include "DHT.h"
// definisco il pin del sensore
#define DHTPIN 8
// definisco il tipo di sensore
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// definisco a quali pin � connesso il display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// definisco che il pin 13 � quello a cui � connesso il led
const int ledPin = 13;
const int tempDw= 0;
const int tempUp = 1;
int setTemp = 20;

void setup() {
  // setto il tipo di display (colonne, righe)
  lcd.begin(16, 2);
  // scrivo sul display le parole fisse
  lcd.print("Tempera");
  lcd.setCursor(0, 1);
  lcd.print("Umidita");
  lcd.setCursor(10, 0);
  lcd.print((char)223);
  lcd.setCursor(12, 0);
  lcd.print("Cald");
  pinMode(ledPin, OUTPUT);
  pinMode(tempUp, INPUT);
  pinMode(tempDw, INPUT);
}
void loop() {
  int t = dht.readTemperature();
  int h = dht.readHumidity();
  // posiziono il cursore alla colonna 12 e riga 0
  lcd.setCursor(8, 0);
  lcd.print(t);
  lcd.setCursor(8, 1);
  lcd.print(h);
  // setto il limite di temperatura minore o uguale a 20 gradi
  if(digitalRead(tempUp))
  {
    setTemp = setTemp+1;
  }
    if(digitalRead(tempDw))
  {
    setTemp = setTemp-1;
  }
  delay(100);
  if (t <= setTemp) {
    //
    digitalWrite(ledPin, HIGH);
    lcd.setCursor(10, 1);
    lcd.print("% Acce");
  }
  else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    lcd.setCursor(10, 1);
    lcd.print("% Spen");
  }
}
 


Dovrebbe andare non l'ho testato.
  

pulsanti.jpg ( 724 KB | Downloads )
pulsanti.jpg

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Modifica a semplice termostato
Reply #2 - 05.05.16 at 10:52:49
Print Post  
Ho provato ma non funziona  Sad
Mi sono accorto che bisognerebbe avere anche un riscontro nel display del valore che si va a impostare  Shocked

  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re: Modifica a semplice termostato
Reply #3 - 05.05.16 at 19:36:43
Print Post  
ho sbagliato lo schema dei pulsanti praticamente i due pezzettini di filo rosso vanno al buco subito sotto sul positivo praticamente. Prova se diende da quello
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Modifica a semplice termostato
Reply #4 - 05.05.16 at 20:59:42
Print Post  
lo avevo intuito  Wink e per logica il filo rosso lo avevo collegato al positivo ma non funziona .
sempre per logica ad ogni volta che pigio il pulsante dovrebbe accendersi il led del tx o rx ma non lo fa  Roll Eyes
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re: Modifica a semplice termostato
Reply #5 - 05.05.16 at 21:52:48
Print Post  
Mmm possibile che a me non funziona mai nienteeeeeee???? Grin appena posso lo metto su e provo.
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa